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.javaboolean 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)