Merge "Skip provider switching dialog when app sets a preferred default." into udc-dev am: 1ef0489d18
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22690094
Change-Id: Ia331c164f9d386ea3a9f75552e0a047f90030342
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 116e31e..d175540 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -800,10 +800,8 @@
<string name="permdesc_startViewAppFeatures" msgid="7207240860165206107">"อนุญาตให้เจ้าของเริ่มดูข้อมูลฟีเจอร์สำหรับแอป"</string>
<string name="permlab_highSamplingRateSensors" msgid="3941068435726317070">"เข้าถึงข้อมูลเซ็นเซอร์ที่อัตราการสุ่มตัวอย่างสูง"</string>
<string name="permdesc_highSamplingRateSensors" msgid="8430061978931155995">"อนุญาตให้แอปสุ่มตัวอย่างข้อมูลเซ็นเซอร์ที่อัตราสูงกว่า 200 Hz"</string>
- <!-- no translation found for permlab_updatePackagesWithoutUserAction (3363272609642618551) -->
- <skip />
- <!-- no translation found for permdesc_updatePackagesWithoutUserAction (4567739631260526366) -->
- <skip />
+ <string name="permlab_updatePackagesWithoutUserAction" msgid="3363272609642618551">"อัปเดตแอปโดยที่ผู้ใช้ไม่ต้องดำเนินการใดๆ"</string>
+ <string name="permdesc_updatePackagesWithoutUserAction" msgid="4567739631260526366">"อนุญาตให้ผู้ให้บริการอัปเดตแอปที่ติดตั้งไว้ก่อนหน้านี้โดยที่ผู้ใช้ไม่ต้องดำเนินการใดๆ"</string>
<string name="policylab_limitPassword" msgid="4851829918814422199">"ตั้งค่ากฎรหัสผ่าน"</string>
<string name="policydesc_limitPassword" msgid="4105491021115793793">"ควบคุมความยาวและอักขระที่สามารถใช้ในรหัสผ่านของการล็อกหน้าจอและ PIN"</string>
<string name="policylab_watchLogin" msgid="7599669460083719504">"ตรวจสอบความพยายามในการปลดล็อกหน้าจอ"</string>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index b93a786..e97f100 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -5003,7 +5003,8 @@
<java-symbol type="bool" name="config_batteryStatsResetOnUnplugHighBatteryLevel" />
<java-symbol type="bool" name="config_batteryStatsResetOnUnplugAfterSignificantCharge" />
-
+
+
<java-symbol name="materialColorOnSecondaryFixedVariant" type="attr"/>
<java-symbol name="materialColorOnTertiaryFixedVariant" type="attr"/>
<java-symbol name="materialColorSurfaceContainerLowest" type="attr"/>
diff --git a/packages/SettingsLib/ProfileSelector/res/values-am/strings.xml b/packages/SettingsLib/ProfileSelector/res/values-am/strings.xml
new file mode 100644
index 0000000..4de6c61
--- /dev/null
+++ b/packages/SettingsLib/ProfileSelector/res/values-am/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (C) 2022 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="settingslib_category_personal" msgid="1142302328104700620">"የግል"</string>
+ <string name="settingslib_category_work" msgid="4867750733682444676">"ስራ"</string>
+</resources>
diff --git a/packages/SettingsLib/ProfileSelector/res/values-ar/strings.xml b/packages/SettingsLib/ProfileSelector/res/values-ar/strings.xml
new file mode 100644
index 0000000..cae1f00
--- /dev/null
+++ b/packages/SettingsLib/ProfileSelector/res/values-ar/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (C) 2022 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="settingslib_category_personal" msgid="1142302328104700620">"شخصي"</string>
+ <string name="settingslib_category_work" msgid="4867750733682444676">"للعمل"</string>
+</resources>
diff --git a/packages/SettingsLib/ProfileSelector/res/values-gl/strings.xml b/packages/SettingsLib/ProfileSelector/res/values-gl/strings.xml
new file mode 100644
index 0000000..364f15c
--- /dev/null
+++ b/packages/SettingsLib/ProfileSelector/res/values-gl/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (C) 2022 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="settingslib_category_personal" msgid="1142302328104700620">"Persoal"</string>
+ <string name="settingslib_category_work" msgid="4867750733682444676">"Traballo"</string>
+</resources>
diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml
index 414ad01..3b53471 100644
--- a/packages/SettingsLib/res/values-kk/strings.xml
+++ b/packages/SettingsLib/res/values-kk/strings.xml
@@ -163,9 +163,9 @@
<string name="data_usage_uninstalled_apps" msgid="1933665711856171491">"Алынған қолданбалар"</string>
<string name="data_usage_uninstalled_apps_users" msgid="5533981546921913295">"Алынған қолданбалар және пайдаланушылар"</string>
<string name="data_usage_ota" msgid="7984667793701597001">"Жүйелік жаңарту"</string>
- <string name="tether_settings_title_usb" msgid="3728686573430917722">"USB тетеринг"</string>
+ <string name="tether_settings_title_usb" msgid="3728686573430917722">"USB-тетеринг"</string>
<string name="tether_settings_title_wifi" msgid="4803402057533895526">"Алынбалы хот-спот"</string>
- <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"Bluetooth тетеринг"</string>
+ <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"Bluetooth-тетеринг"</string>
<string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"Тетеринг"</string>
<string name="tether_settings_title_all" msgid="8910259483383010470">"Тетеринг және алынбалы хотспот"</string>
<string name="managed_user_title" msgid="449081789742645723">"Барлық жұмыс қолданбалары"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index ebc0b07..6d1e37a 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -299,10 +299,14 @@
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Spustit"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Ukončit"</string>
<string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Režim jedné ruky"</string>
- <string name="quick_settings_contrast_label" msgid="988087460210159123">"Kontrast"</string>
- <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standardní"</string>
- <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Střední"</string>
- <string name="quick_settings_contrast_high" msgid="656049259587494499">"Vysoká"</string>
+ <!-- no translation found for quick_settings_contrast_label (988087460210159123) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_standard (2538227821968061832) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_medium (5158352575583902566) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_high (656049259587494499) -->
+ <skip />
<string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Odblokovat mikrofon zařízení?"</string>
<string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Odblokovat fotoaparát zařízení?"</string>
<string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Odblokovat fotoaparát a mikrofon zařízení?"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index f62ef60..334cb90 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -299,10 +299,14 @@
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Mulai"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Berhenti"</string>
<string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Mode satu tangan"</string>
- <string name="quick_settings_contrast_label" msgid="988087460210159123">"Kontras"</string>
- <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standar"</string>
- <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Sedang"</string>
- <string name="quick_settings_contrast_high" msgid="656049259587494499">"Tinggi"</string>
+ <!-- no translation found for quick_settings_contrast_label (988087460210159123) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_standard (2538227821968061832) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_medium (5158352575583902566) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_high (656049259587494499) -->
+ <skip />
<string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Berhenti memblokir mikrofon perangkat?"</string>
<string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Berhenti memblokir kamera perangkat?"</string>
<string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Berhenti memblokir kamera dan mikrofon perangkat?"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 3044a29..907c6c1 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -299,10 +299,14 @@
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Inizia"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Interrompi"</string>
<string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Modalità a una mano"</string>
- <string name="quick_settings_contrast_label" msgid="988087460210159123">"Contrasto"</string>
- <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standard"</string>
- <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Medio"</string>
- <string name="quick_settings_contrast_high" msgid="656049259587494499">"Alto"</string>
+ <!-- no translation found for quick_settings_contrast_label (988087460210159123) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_standard (2538227821968061832) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_medium (5158352575583902566) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_high (656049259587494499) -->
+ <skip />
<string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vuoi sbloccare il microfono del dispositivo?"</string>
<string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vuoi sbloccare la fotocamera del dispositivo?"</string>
<string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Vuoi sbloccare la fotocamera e il microfono del dispositivo?"</string>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index acabe34..f65e9db 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -299,10 +299,14 @@
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ଆରମ୍ଭ କରନ୍ତୁ"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"ବନ୍ଦ କରନ୍ତୁ"</string>
<string name="quick_settings_onehanded_label" msgid="2416537930246274991">"ଏକ-ହାତ ମୋଡ"</string>
- <string name="quick_settings_contrast_label" msgid="988087460210159123">"କଣ୍ଟ୍ରାଷ୍ଟ"</string>
- <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"ଷ୍ଟାଣ୍ଡାର୍ଡ"</string>
- <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"ମଧ୍ୟମ"</string>
- <string name="quick_settings_contrast_high" msgid="656049259587494499">"ଅଧିକ"</string>
+ <!-- no translation found for quick_settings_contrast_label (988087460210159123) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_standard (2538227821968061832) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_medium (5158352575583902566) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_high (656049259587494499) -->
+ <skip />
<string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"ଡିଭାଇସର ମାଇକ୍ରୋଫୋନକୁ ଅନବ୍ଲକ କରିବେ?"</string>
<string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"ଡିଭାଇସର କ୍ୟାମେରାକୁ ଅନବ୍ଲକ କରିବେ?"</string>
<string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"ଡିଭାଇସର କ୍ୟାମେରା ଏବଂ ମାଇକ୍ରୋଫୋନକୁ ଅନବ୍ଲକ୍ କରିବେ?"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index a68d650..6810877 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -299,10 +299,14 @@
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Începe"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Oprește"</string>
<string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Modul cu o mână"</string>
- <string name="quick_settings_contrast_label" msgid="988087460210159123">"Contrast"</string>
- <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Standard"</string>
- <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Mediu"</string>
- <string name="quick_settings_contrast_high" msgid="656049259587494499">"Ridicat"</string>
+ <!-- no translation found for quick_settings_contrast_label (988087460210159123) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_standard (2538227821968061832) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_medium (5158352575583902566) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_high (656049259587494499) -->
+ <skip />
<string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Deblochezi microfonul dispozitivului?"</string>
<string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Deblochezi camera dispozitivului?"</string>
<string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Deblochezi camera și microfonul dispozitivului?"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 8c434f8..8454defe 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -299,10 +299,14 @@
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Начать"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Остановить"</string>
<string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Режим управления одной рукой"</string>
- <string name="quick_settings_contrast_label" msgid="988087460210159123">"Контрастность"</string>
- <string name="quick_settings_contrast_standard" msgid="2538227821968061832">"Стандартная"</string>
- <string name="quick_settings_contrast_medium" msgid="5158352575583902566">"Средняя"</string>
- <string name="quick_settings_contrast_high" msgid="656049259587494499">"Высокая"</string>
+ <!-- no translation found for quick_settings_contrast_label (988087460210159123) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_standard (2538227821968061832) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_medium (5158352575583902566) -->
+ <skip />
+ <!-- no translation found for quick_settings_contrast_high (656049259587494499) -->
+ <skip />
<string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Разблокировать микрофон устройства?"</string>
<string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Разблокировать камеру устройства?"</string>
<string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Разблокировать камеру и микрофон устройства?"</string>
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUICoreStartableModule.kt b/packages/SystemUI/src/com/android/systemui/dagger/SystemUICoreStartableModule.kt
index 20d690e..de84cc2 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUICoreStartableModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUICoreStartableModule.kt
@@ -31,13 +31,13 @@
import com.android.systemui.dreams.AssistantAttentionMonitor
import com.android.systemui.dreams.DreamMonitor
import com.android.systemui.globalactions.GlobalActionsComponent
-import com.android.systemui.keyboard.PhysicalKeyboardCoreStartable
import com.android.systemui.keyboard.KeyboardUI
+import com.android.systemui.keyboard.PhysicalKeyboardCoreStartable
import com.android.systemui.keyguard.KeyguardViewMediator
import com.android.systemui.keyguard.data.quickaffordance.MuteQuickAffordanceCoreStartable
import com.android.systemui.log.SessionTracker
-import com.android.systemui.media.dialog.MediaOutputSwitcherDialogUI
import com.android.systemui.media.RingtonePlayer
+import com.android.systemui.media.dialog.MediaOutputSwitcherDialogUI
import com.android.systemui.media.taptotransfer.MediaTttCommandLineHelper
import com.android.systemui.media.taptotransfer.receiver.MediaTttChipControllerReceiver
import com.android.systemui.media.taptotransfer.sender.MediaTttSenderCoordinator
@@ -48,7 +48,6 @@
import com.android.systemui.shortcut.ShortcutKeyDispatcher
import com.android.systemui.statusbar.notification.InstantAppNotifier
import com.android.systemui.statusbar.phone.KeyguardLiftController
-import com.android.systemui.statusbar.phone.LetterboxModule
import com.android.systemui.stylus.StylusUsiPowerStartable
import com.android.systemui.temporarydisplay.chipbar.ChipbarCoordinator
import com.android.systemui.theme.ThemeOverlayController
@@ -68,7 +67,6 @@
@Module(includes = [
MultiUserUtilsModule::class,
StartControlsStartableModule::class,
- LetterboxModule::class,
])
abstract class SystemUICoreStartableModule {
/** Inject into AuthController. */
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
index 75f70ae..0777bb0 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
@@ -93,6 +93,7 @@
import com.android.systemui.statusbar.notification.row.dagger.NotificationRowComponent;
import com.android.systemui.statusbar.notification.row.dagger.NotificationShelfComponent;
import com.android.systemui.statusbar.phone.CentralSurfaces;
+import com.android.systemui.statusbar.phone.LetterboxModule;
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
import com.android.systemui.statusbar.pipeline.dagger.StatusBarPipelineModule;
import com.android.systemui.statusbar.policy.HeadsUpManager;
@@ -160,6 +161,7 @@
FooterActionsModule.class,
GarbageMonitorModule.class,
KeyboardModule.class,
+ LetterboxModule.class,
LogModule.class,
MediaProjectionModule.class,
MotionToolModule.class,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarInitializer.kt b/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarInitializer.kt
index 5351024..2ad71e7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarInitializer.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarInitializer.kt
@@ -17,12 +17,11 @@
import android.app.Fragment
import com.android.systemui.R
+import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.fragments.FragmentHostManager
import com.android.systemui.statusbar.phone.PhoneStatusBarTransitions
import com.android.systemui.statusbar.phone.PhoneStatusBarView
import com.android.systemui.statusbar.phone.PhoneStatusBarViewController
-import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent
-import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent
import com.android.systemui.statusbar.window.StatusBarWindowController
@@ -33,7 +32,7 @@
* Responsible for creating the status bar window and initializing the root components of that
* window (see [CollapsedStatusBarFragment])
*/
-@CentralSurfacesScope
+@SysUISingleton
class StatusBarInitializer @Inject constructor(
private val windowController: StatusBarWindowController,
private val creationListeners: Set<@JvmSuppressWildcards OnStatusBarViewInitializedListener>,
@@ -42,10 +41,12 @@
var statusBarViewUpdatedListener: OnStatusBarViewUpdatedListener? = null
/**
- * Creates the status bar window and root views, and initializes the component
+ * Creates the status bar window and root views, and initializes the component.
+ *
+ * TODO(b/277762009): Inject StatusBarFragmentCreator and make this class a CoreStartable.
*/
fun initializeStatusBar(
- centralSurfacesComponent: CentralSurfacesComponent
+ statusBarFragmentCreator: () -> CollapsedStatusBarFragment,
) {
windowController.fragmentHostManager.addTagListener(
CollapsedStatusBarFragment.TAG,
@@ -69,7 +70,7 @@
}).fragmentManager
.beginTransaction()
.replace(R.id.status_bar_container,
- centralSurfacesComponent.createCollapsedStatusBarFragment(),
+ statusBarFragmentCreator.invoke(),
CollapsedStatusBarFragment.TAG)
.commit()
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
index b3953a2..fee91d4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
@@ -191,10 +191,10 @@
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.shade.ShadeExpansionStateManager;
-import com.android.systemui.shared.recents.utilities.Utilities;
import com.android.systemui.shade.ShadeLogger;
import com.android.systemui.shade.ShadeSurface;
import com.android.systemui.shade.ShadeViewController;
+import com.android.systemui.shared.recents.utilities.Utilities;
import com.android.systemui.statusbar.AutoHideUiElement;
import com.android.systemui.statusbar.BackDropView;
import com.android.systemui.statusbar.CircleReveal;
@@ -455,6 +455,7 @@
private AuthRippleController mAuthRippleController;
@WindowVisibleState private int mStatusBarWindowState = WINDOW_STATE_SHOWING;
protected final NotificationShadeWindowController mNotificationShadeWindowController;
+ private final StatusBarInitializer mStatusBarInitializer;
private final StatusBarWindowController mStatusBarWindowController;
private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
@VisibleForTesting
@@ -723,6 +724,7 @@
FragmentService fragmentService,
LightBarController lightBarController,
AutoHideController autoHideController,
+ StatusBarInitializer statusBarInitializer,
StatusBarWindowController statusBarWindowController,
StatusBarWindowStateController statusBarWindowStateController,
KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -817,6 +819,7 @@
mFragmentService = fragmentService;
mLightBarController = lightBarController;
mAutoHideController = autoHideController;
+ mStatusBarInitializer = statusBarInitializer;
mStatusBarWindowController = statusBarWindowController;
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
mPulseExpansionHandler = pulseExpansionHandler;
@@ -1261,8 +1264,7 @@
mPluginDependencyProvider.allowPluginDependency(StatusBarStateController.class);
// Set up CollapsedStatusBarFragment and PhoneStatusBarView
- StatusBarInitializer initializer = mCentralSurfacesComponent.getStatusBarInitializer();
- initializer.setStatusBarViewUpdatedListener(
+ mStatusBarInitializer.setStatusBarViewUpdatedListener(
(statusBarView, statusBarViewController, statusBarTransitions) -> {
mStatusBarView = statusBarView;
mPhoneStatusBarViewController = statusBarViewController;
@@ -1278,7 +1280,8 @@
setBouncerShowingForStatusBarComponents(mBouncerShowing);
checkBarModes();
});
- initializer.initializeStatusBar(mCentralSurfacesComponent);
+ mStatusBarInitializer.initializeStatusBar(
+ mCentralSurfacesComponent::createCollapsedStatusBarFragment);
mStatusBarTouchableRegionManager.setup(this, mNotificationShadeWindowView);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LetterboxModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LetterboxModule.kt
index 2e3f0d0..61377e2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LetterboxModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LetterboxModule.kt
@@ -18,10 +18,12 @@
package com.android.systemui.statusbar.phone
import com.android.systemui.CoreStartable
+import com.android.systemui.statusbar.core.StatusBarInitializer
import dagger.Binds
import dagger.Module
import dagger.multibindings.ClassKey
import dagger.multibindings.IntoMap
+import dagger.multibindings.IntoSet
@Module
abstract class LetterboxModule {
@@ -29,4 +31,10 @@
@IntoMap
@ClassKey(LetterboxBackgroundProvider::class)
abstract fun bindFeature(impl: LetterboxBackgroundProvider): CoreStartable
+
+ @Binds
+ @IntoSet
+ abstract fun statusBarInitializedListener(
+ letterboxAppearanceCalculator: LetterboxAppearanceCalculator
+ ): StatusBarInitializer.OnStatusBarViewInitializedListener
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/CentralSurfacesComponent.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/CentralSurfacesComponent.java
index 8e59a8b..d80e1d3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/CentralSurfacesComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/CentralSurfacesComponent.java
@@ -29,7 +29,6 @@
import com.android.systemui.shade.ShadeHeaderController;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationShelfController;
-import com.android.systemui.statusbar.core.StatusBarInitializer;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
import com.android.systemui.statusbar.notification.stack.NotificationListContainer;
@@ -42,6 +41,8 @@
import com.android.systemui.statusbar.phone.StatusBarNotificationPresenterModule;
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment;
+import dagger.Subcomponent;
+
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.util.Set;
@@ -49,8 +50,6 @@
import javax.inject.Named;
import javax.inject.Scope;
-import dagger.Subcomponent;
-
/**
* Dagger subcomponent for classes (semi-)related to the status bar. The component is created once
* inside {@link CentralSurfacesImpl} and never re-created.
@@ -150,11 +149,6 @@
CollapsedStatusBarFragment createCollapsedStatusBarFragment();
/**
- * Creates a StatusBarInitializer
- */
- StatusBarInitializer getStatusBarInitializer();
-
- /**
* Set of startables to be run after a CentralSurfacesComponent has been constructed.
*/
Set<Startable> getStartables();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java
index 015ee7b..4cde511 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java
@@ -50,14 +50,12 @@
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.NotificationShelfController;
import com.android.systemui.statusbar.OperatorNameViewController;
-import com.android.systemui.statusbar.core.StatusBarInitializer.OnStatusBarViewInitializedListener;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.row.dagger.NotificationShelfComponent;
import com.android.systemui.statusbar.notification.row.ui.viewmodel.ActivatableNotificationViewModelModule;
import com.android.systemui.statusbar.notification.shelf.ui.viewbinder.NotificationShelfViewBinderWrapperControllerImpl;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.phone.KeyguardBottomAreaView;
-import com.android.systemui.statusbar.phone.LetterboxAppearanceCalculator;
import com.android.systemui.statusbar.phone.NotificationIconAreaController;
import com.android.systemui.statusbar.phone.StatusBarBoundsProvider;
import com.android.systemui.statusbar.phone.StatusBarHideIconsForBouncerManager;
@@ -276,12 +274,6 @@
@Binds
@IntoSet
- abstract OnStatusBarViewInitializedListener statusBarInitializedListener(
- LetterboxAppearanceCalculator letterboxAppearanceCalculator
- );
-
- @Binds
- @IntoSet
abstract StatusBarBoundsProvider.BoundsChangeListener sysBarAttrsListenerAsBoundsListener(
SystemBarAttributesListener systemBarAttributesListener);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java
index ff3cea5..219e6a9 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java
@@ -44,6 +44,8 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import static java.util.Collections.emptySet;
+
import android.app.ActivityManager;
import android.app.IWallpaperManager;
import android.app.Notification;
@@ -147,6 +149,7 @@
import com.android.systemui.statusbar.PulseExpansionHandler;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.StatusBarStateControllerImpl;
+import com.android.systemui.statusbar.core.StatusBarInitializer;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
@@ -450,6 +453,7 @@
mock(FragmentService.class),
mLightBarController,
mAutoHideController,
+ new StatusBarInitializer(mStatusBarWindowController, emptySet()),
mStatusBarWindowController,
mStatusBarWindowStateController,
mKeyguardUpdateMonitor,