2013年11月17日日曜日
2013年11月3日日曜日
Andoird 4.4 KitKat StatusBarの変更点(基本設計編)
システムよりの確認です。
SystemServerをみる
config.disable_systemuiの設定次第で、ステータスバーを非表示にできる。 https://android.googlesource.com/platform/frameworks/base/+/android-4.4_r1/services/java/com/android/server/SystemServer.java
boolean disableSystemUI = SystemProperties.getBoolean("config.disable_systemui", false);
if (!disableSystemUI) {
try {
Slog.i(TAG, "Status Bar");
statusBar = new StatusBarManagerService(context, wm);
ServiceManager.addService(Context.STATUS_BAR_SERVICE, statusBar);
} catch (Throwable e) {
reportWtf("starting StatusBarManagerService", e);
}
}
SystemUiをみる
そもそも、Tablet用のフォルダがなくなった。すでに、JBでは使われていなかった。(※Nexus系の端末) https://android.googlesource.com/platform/frameworks/base/+/android-4.4_r1/packages/SystemUI/src/com/android/systemui/statusbar/TV用は?
相変わらず、スケルトン。モジュールの定義のみ。 https://android.googlesource.com/platform/frameworks/base/+/android-4.4_r1/packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java2013年11月2日土曜日
4.4 KitKatの表示レイヤーについて
android-4.4_r1がAOSP上で公開されました。
毎度おなじみの表示レイヤーのチェックを行いました。
(★ = 4.4_r1にて新規追加されたレイヤー)
大きな変更点は
アプリケーション開発者にはあまり関係ありませんが、Frameworksのカスタム作業がメインの方、WindowManagerServiceとKeyguard周りを調査しましょう。
毎度おなじみの表示レイヤーのチェックを行いました。
確認OSバージョン
android-4.4_r1 KitKat表示レイヤー
OSのメジャーアップデートなので、表示レイヤーの変更点があるかどうか確認しました。ソース
android-4.4_r1/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java(★ = 4.4_r1にて新規追加されたレイヤー)
| 値 | レイヤー名 | 用途 |
|---|---|---|
| 1 | TYPE_UNIVERSE_BACKGROUND | |
| 2 | TYPE_PRIVATE_PRESENTATION | |
| 2 | TYPE_WALLPAPER | 壁紙 |
| 3 | TYPE_PHONE | 着信などの電話用 |
| 4 | TYPE_SEARCH_BAR | 検索バー |
| 5 | TYPE_RECENTS_OVERLAY | 履歴 |
| 5 | TYPE_SYSTEM_DIALOG | 電源OFFダイアログなどのシステムダイアログ |
| 6 | TYPE_TOAST | トースト表示 |
| 7 | TYPE_PRIORITY_PHONE | SIMエラー表示など |
| 8 | TYPE_DREAM | Dream用レイヤー |
| 9 | SYSTEM_ALERT_LAYER | ANRやLowバッテリー通知 |
| 10 | TYPE_INPUT_METHOD | 文字入力UI |
| 11 | TYPE_INPUT_METHOD | 文字入力UIのダイアログ |
| 12 | TYPE_KEYGUARD_SCRIM | ★keyguardが起動するまでの間、Keyguardの後ろに表示する |
| 13 | TYPE_KEYGUARD | キーガード表示 |
| 14 | TYPE_KEYGUARD_DIALOG | シャットダウン中やSIMロック表示、キーガード表示中の電源OFFダイアログなど |
| 15 | TYPE_STATUS_BAR_SUB_PANEL | Phone用expandしたパネル |
| 16 | TYPE_STATUS_BAR | StatusBar |
| 17 | TYPE_STATUS_BAR_PANEL | StatusBarをexpandしたパネル |
| 18 | TYPE_VOLUME_OVERLAY | ボリューム変更 |
| 19 | TYPE_SYSTEM_OVERLAY | キーガードより上位に表示するシステムオーバーレイ |
| 20 | TYPE_NAVIGATION_BAR | ナビゲーションBar |
| 21 | TYPE_NAVIGATION_BAR_PANEL | ナビゲーションBarの上に表示するために必要なパネル(searchなど) |
| 22 | TYPE_SYSTEM_ERROR | システムエラー通知 |
| 23 | TYPE_MAGNIFICATION_OVERLAY | 拡大表示用 |
| 24 | TYPE_DISPLAY_OVERLAY | Secondaryディスプレイ用 |
| 25 | TYPE_DRAG | ドラッグ&ドロップ操作用 |
| 26 | TYPE_SECURE_SYSTEM_OVERLAY | |
| 27 | TYPE_BOOT_PROGRESS | Boot中のDialog表示 |
| 28 | TYPE_POINTER | マウスポインター |
| 29 | TYPE_HIDDEN_NAV_CONSUMER | FakeWindow用 |
大きな変更点は
- TYPE_KEYGUARD_SCRIMの追加
アプリケーション開発者にはあまり関係ありませんが、Frameworksのカスタム作業がメインの方、WindowManagerServiceとKeyguard周りを調査しましょう。
登録:
コメント (Atom)


