From f670cc64ca647032e9078b68baa83eea33d38bc7 Mon Sep 17 00:00:00 2001 From: Suren Baghdasaryan Date: Wed, 4 Aug 2021 12:07:59 -0700 Subject: Adding native flag namespace for lmkd. For experiment flag testing, adding lmkd flag in DeviceConfig. Bug: 194316048 Signed-off-by: Suren Baghdasaryan Change-Id: I1f13d6bbb4a9a7fd8825d7e5acde416750271df4 Merged-In: I1f13d6bbb4a9a7fd8825d7e5acde416750271df4 --- core/java/android/provider/DeviceConfig.java | 7 +++++++ .../java/com/android/server/am/SettingsToPropertiesMapper.java | 1 + 2 files changed, 8 insertions(+) diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java index 431bf4c54b4b..217e17ddd7b4 100644 --- a/core/java/android/provider/DeviceConfig.java +++ b/core/java/android/provider/DeviceConfig.java @@ -257,6 +257,13 @@ public final class DeviceConfig { @TestApi public static final String NAMESPACE_JOB_SCHEDULER = "jobscheduler"; + /** + * Namespace for all lmkd related features. + * + * @hide + */ + public static final String NAMESPACE_LMKD_NATIVE = "lmkd_native"; + /** * Namespace for all location related features. * diff --git a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java index e022e977e02f..2f20efbf5730 100644 --- a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java +++ b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java @@ -84,6 +84,7 @@ public class SettingsToPropertiesMapper { DeviceConfig.NAMESPACE_CONNECTIVITY, DeviceConfig.NAMESPACE_INPUT_NATIVE_BOOT, DeviceConfig.NAMESPACE_INTELLIGENCE_CONTENT_SUGGESTIONS, + DeviceConfig.NAMESPACE_LMKD_NATIVE, DeviceConfig.NAMESPACE_MEDIA_NATIVE, DeviceConfig.NAMESPACE_NETD_NATIVE, DeviceConfig.NAMESPACE_PROFCOLLECT_NATIVE_BOOT, -- cgit v1.2.3 From 4103e75f9223654b84e27fd2e98e01ea712d7b64 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Tue, 31 Aug 2021 11:21:47 -0400 Subject: Hide security footer container (QSBH) in portrait In order to have both sides of the notch protection be of the same size (and the notch protection be centered), we need to hide the other container in the date_privacy header. This is fine to hide in portrait as it should only have content in landscape. Test: manual, using display cutout and checking layout dump Fixes: 197768177 Change-Id: I4e5754c92c386cb9ce9e2ecc7e22a0f0c0c3fd04 Merged-In: I4e5754c92c386cb9ce9e2ecc7e22a0f0c0c3fd04 --- .../res/layout/quick_status_bar_header_date_privacy.xml | 7 ++++++- .../src/com/android/systemui/qs/QuickStatusBarHeader.java | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml b/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml index bff93a99258a..ede7dd60ccf7 100644 --- a/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml +++ b/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml @@ -47,6 +47,11 @@ systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" /> + - + diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java index 77906abce625..d142d381c085 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java @@ -135,6 +135,10 @@ public class QuickStatusBarHeader extends FrameLayout { mBatteryRemainingIcon = findViewById(R.id.batteryRemainingIcon); updateResources(); + Configuration config = mContext.getResources().getConfiguration(); + setDatePrivacyContainersWidth(config.orientation == Configuration.ORIENTATION_LANDSCAPE); + setSecurityHeaderContainerVisibility( + config.orientation == Configuration.ORIENTATION_LANDSCAPE); // Don't need to worry about tuner settings for this icon mBatteryRemainingIcon.setIgnoreTunerUpdates(true); @@ -186,6 +190,8 @@ public class QuickStatusBarHeader extends FrameLayout { super.onConfigurationChanged(newConfig); updateResources(); setDatePrivacyContainersWidth(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE); + setSecurityHeaderContainerVisibility( + newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE); } @Override @@ -206,6 +212,10 @@ public class QuickStatusBarHeader extends FrameLayout { mPrivacyContainer.setLayoutParams(lp); } + private void setSecurityHeaderContainerVisibility(boolean landscape) { + mSecurityHeaderView.setVisibility(landscape ? VISIBLE : GONE); + } + private void updateBatteryMode() { if (mConfigShowBatteryEstimate && !mHasCenterCutout) { mBatteryRemainingIcon.setPercentShowMode(BatteryMeterView.MODE_ESTIMATE); -- cgit v1.2.3 From d7b16dd2a56035b2feec9f39d6d461fd551317eb Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Mon, 4 Oct 2021 15:33:14 -0400 Subject: [DO NOT MERGE] Controls - Do not recreate intent Recreating the control's intent in SystemUI can be exploited to launch Intent's with SystemUI's privileges, rather than what is limited to the application. Use the fillInIntent parameter to supply additional parameters to the application. Bug: 193445603 Test: Follow directions in bug to retest Change-Id: Ib2b0342af85679c0514fb4d88530376b58e6e12a Merged-In: (cherry picked from commit 0e120a5d4f8998e343f3c8106081037017613082) --- .../controls/ui/ControlActionCoordinatorImpl.kt | 13 ++-- .../android/systemui/controls/ui/DetailDialog.kt | 32 ++++++---- .../systemui/controls/ui/DetailDialogTest.kt | 74 ++++++++++++++++++++++ 3 files changed, 102 insertions(+), 17 deletions(-) create mode 100644 packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt index 22d6b6bb75c3..055c2c2b9c84 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt @@ -17,6 +17,7 @@ package com.android.systemui.controls.ui import android.app.Dialog +import android.app.PendingIntent import android.content.Context import android.content.Intent import android.content.pm.PackageManager @@ -74,7 +75,7 @@ class ControlActionCoordinatorImpl @Inject constructor( bouncerOrRun(Action(cvh.cws.ci.controlId, { cvh.layout.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK) if (cvh.usePanel()) { - showDialog(cvh, control.getAppIntent().getIntent()) + showDetail(cvh, control.getAppIntent()) } else { cvh.action(CommandAction(templateId)) } @@ -100,7 +101,7 @@ class ControlActionCoordinatorImpl @Inject constructor( // Long press snould only be called when there is valid control state, otherwise ignore cvh.cws.control?.let { cvh.layout.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS) - showDialog(cvh, it.getAppIntent().getIntent()) + showDetail(cvh, it.getAppIntent()) } }, false /* blockable */)) } @@ -155,17 +156,17 @@ class ControlActionCoordinatorImpl @Inject constructor( bgExecutor.execute { vibrator.vibrate(effect) } } - private fun showDialog(cvh: ControlViewHolder, intent: Intent) { + private fun showDetail(cvh: ControlViewHolder, pendingIntent: PendingIntent) { bgExecutor.execute { - val activities: List = cvh.context.packageManager.queryIntentActivities( - intent, + val activities: List = context.packageManager.queryIntentActivities( + pendingIntent.getIntent(), PackageManager.MATCH_DEFAULT_ONLY ) uiExecutor.execute { // make sure the intent is valid before attempting to open the dialog if (activities.isNotEmpty()) { - dialog = DetailDialog(cvh, intent).also { + dialog = DetailDialog(cvh, pendingIntent).also { it.setOnDismissListener { _ -> dialog = null } it.show() } diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt index 9ec14523a809..a7f7eb7ffb44 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt @@ -16,8 +16,11 @@ package com.android.systemui.controls.ui +import android.app.ActivityOptions import android.app.ActivityView +import android.app.PendingIntent import android.app.Dialog +import android.content.ComponentName import android.content.Intent import android.provider.Settings import android.view.View @@ -37,9 +40,8 @@ import com.android.systemui.R */ class DetailDialog( val cvh: ControlViewHolder, - val intent: Intent + val pendingIntent: PendingIntent ) : Dialog(cvh.context, R.style.Theme_SystemUI_Dialog_Control_DetailPanel) { - companion object { private const val PANEL_TOP_OFFSET = "systemui.controls_panel_top_offset" /* @@ -49,18 +51,19 @@ class DetailDialog( private const val EXTRA_USE_PANEL = "controls.DISPLAY_IN_PANEL" } + private val fillInIntent = Intent().apply { + putExtra(EXTRA_USE_PANEL, true) + + // Apply flags to make behaviour match documentLaunchMode=always. + addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT) + addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK) + } + var activityView = ActivityView(context, null, 0, false) val stateCallback: ActivityView.StateCallback = object : ActivityView.StateCallback() { override fun onActivityViewReady(view: ActivityView) { - val launchIntent = Intent(intent) - launchIntent.putExtra(EXTRA_USE_PANEL, true) - - // Apply flags to make behaviour match documentLaunchMode=always. - launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT) - launchIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK) - - view.startActivity(launchIntent) + view.startActivity(pendingIntent, fillInIntent, ActivityOptions.makeBasic()) } override fun onActivityViewDestroyed(view: ActivityView) {} @@ -68,6 +71,12 @@ class DetailDialog( override fun onTaskRemovalStarted(taskId: Int) { dismiss() } + + override fun onTaskCreated(taskId: Int, name: ComponentName?) { + requireViewById(R.id.controls_activity_view).apply { + setAlpha(1f) + } + } } init { @@ -76,6 +85,7 @@ class DetailDialog( requireViewById(R.id.controls_activity_view).apply { addView(activityView) + setAlpha(0f) } requireViewById(R.id.control_detail_close).apply { @@ -86,7 +96,7 @@ class DetailDialog( setOnClickListener { v: View -> dismiss() context.sendBroadcast(Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) - v.context.startActivity(intent) + pendingIntent.send() } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt new file mode 100644 index 000000000000..0ad03d2b41b3 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2021 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. + */ + +package com.android.systemui.controls.ui + +import android.app.ActivityView +import android.app.PendingIntent +import android.testing.AndroidTestingRunner +import android.testing.TestableLooper +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.android.systemui.util.mockito.capture +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor +import org.mockito.ArgumentMatchers.eq +import org.mockito.Captor +import org.mockito.Mock +import org.mockito.Mockito.any +import org.mockito.Mockito.verify +import org.mockito.MockitoAnnotations + +@SmallTest +@RunWith(AndroidTestingRunner::class) +@TestableLooper.RunWithLooper +class DetailDialogTest : SysuiTestCase() { + + @Mock + private lateinit var activityView: ActivityView + @Mock + private lateinit var controlViewHolder: ControlViewHolder + @Mock + private lateinit var pendingIntent: PendingIntent + @Captor + private lateinit var viewCaptor: ArgumentCaptor + + @Before + fun setUp() { + MockitoAnnotations.initMocks(this) + } + + @Test + fun testPendingIntentIsUnModified() { + // GIVEN the dialog is created with a PendingIntent + val dialog = createDialog(pendingIntent) + + // WHEN the ActivityView is initialized + dialog.stateCallback.onActivityViewReady(capture(viewCaptor)) + + // THEN the PendingIntent used to call startActivity is unmodified by systemui + verify(viewCaptor.value).startActivity(eq(pendingIntent), any(), any()) + } + + private fun createDialog(pendingIntent: PendingIntent): DetailDialog { + return DetailDialog( + controlViewHolder, + pendingIntent + ) + } +} -- cgit v1.2.3 From 96aa501bb12a22f63241dc5b756322ba9b2a6827 Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Mon, 4 Oct 2021 15:33:14 -0400 Subject: Controls - Do not recreate intent Recreating the control's intent in SystemUI can be exploited to launch Intent's with SystemUI's privileges, rather than what is limited to the application. Use the fillInIntent parameter to supply additional parameters to the application. Bug: 193445603 Test: Follow directions in bug to retest Change-Id: Ib2b0342af85679c0514fb4d88530376b58e6e12a Merged-In: Ib2b0342af85679c0514fb4d88530376b58e6e12a (cherry picked from commit 0e120a5d4f8998e343f3c8106081037017613082) --- .../controls/ui/ControlActionCoordinatorImpl.kt | 11 ++-- .../android/systemui/controls/ui/DetailDialog.kt | 28 +++++---- .../systemui/controls/ui/DetailDialogTest.kt | 71 ++++++++++++++++++++++ 3 files changed, 93 insertions(+), 17 deletions(-) create mode 100644 packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt index d3d6e03c9bc7..6f30ac3901e1 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinatorImpl.kt @@ -18,6 +18,7 @@ package com.android.systemui.controls.ui import android.annotation.MainThread import android.app.Dialog +import android.app.PendingIntent import android.content.Context import android.content.Intent import android.content.pm.PackageManager @@ -88,7 +89,7 @@ class ControlActionCoordinatorImpl @Inject constructor( bouncerOrRun(createAction(cvh.cws.ci.controlId, { cvh.layout.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK) if (cvh.usePanel()) { - showDetail(cvh, control.getAppIntent().getIntent()) + showDetail(cvh, control.getAppIntent()) } else { cvh.action(CommandAction(templateId)) } @@ -116,7 +117,7 @@ class ControlActionCoordinatorImpl @Inject constructor( // Long press snould only be called when there is valid control state, otherwise ignore cvh.cws.control?.let { cvh.layout.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS) - showDetail(cvh, it.getAppIntent().getIntent()) + showDetail(cvh, it.getAppIntent()) } }, false /* blockable */)) } @@ -167,10 +168,10 @@ class ControlActionCoordinatorImpl @Inject constructor( bgExecutor.execute { vibrator.vibrate(effect) } } - private fun showDetail(cvh: ControlViewHolder, intent: Intent) { + private fun showDetail(cvh: ControlViewHolder, pendingIntent: PendingIntent) { bgExecutor.execute { val activities: List = context.packageManager.queryIntentActivities( - intent, + pendingIntent.getIntent(), PackageManager.MATCH_DEFAULT_ONLY ) @@ -178,7 +179,7 @@ class ControlActionCoordinatorImpl @Inject constructor( // make sure the intent is valid before attempting to open the dialog if (activities.isNotEmpty() && taskViewFactory.isPresent) { taskViewFactory.get().create(context, uiExecutor, { - dialog = DetailDialog(activityContext, it, intent, cvh).also { + dialog = DetailDialog(activityContext, it, pendingIntent, cvh).also { it.setOnDismissListener { _ -> dialog = null } it.show() } diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt index 8a47a36de8c4..4758ab04e2e5 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/DetailDialog.kt @@ -43,7 +43,7 @@ import com.android.wm.shell.TaskView class DetailDialog( val activityContext: Context?, val taskView: TaskView, - val intent: Intent, + val pendingIntent: PendingIntent, val cvh: ControlViewHolder ) : Dialog( activityContext ?: cvh.context, @@ -59,6 +59,14 @@ class DetailDialog( var detailTaskId = INVALID_TASK_ID + private val fillInIntent = Intent().apply { + putExtra(EXTRA_USE_PANEL, true) + + // Apply flags to make behaviour match documentLaunchMode=always. + addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT) + addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK) + } + fun removeDetailTask() { if (detailTaskId == INVALID_TASK_ID) return ActivityTaskManager.getInstance().removeTask(detailTaskId) @@ -67,13 +75,6 @@ class DetailDialog( val stateCallback = object : TaskView.Listener { override fun onInitialized() { - val launchIntent = Intent(intent) - launchIntent.putExtra(EXTRA_USE_PANEL, true) - - // Apply flags to make behaviour match documentLaunchMode=always. - launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT) - launchIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK) - val options = activityContext?.let { ActivityOptions.makeCustomAnimation( it, @@ -82,9 +83,8 @@ class DetailDialog( ) } ?: ActivityOptions.makeBasic() taskView.startActivity( - PendingIntent.getActivity(context, 0, launchIntent, - PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE), - null /* fillInIntent */, + pendingIntent, + fillInIntent, options, getTaskViewBounds() ) @@ -97,6 +97,9 @@ class DetailDialog( override fun onTaskCreated(taskId: Int, name: ComponentName?) { detailTaskId = taskId + requireViewById(R.id.controls_activity_view).apply { + setAlpha(1f) + } } override fun onReleased() { @@ -121,6 +124,7 @@ class DetailDialog( requireViewById(R.id.controls_activity_view).apply { addView(taskView) + setAlpha(0f) } requireViewById(R.id.control_detail_close).apply { @@ -134,7 +138,7 @@ class DetailDialog( removeDetailTask() dismiss() context.sendBroadcast(Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) - v.context.startActivity(intent) + pendingIntent.send() } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt new file mode 100644 index 000000000000..87b9172dcefc --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/DetailDialogTest.kt @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2021 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. + */ + +package com.android.systemui.controls.ui + +import android.app.PendingIntent +import android.testing.AndroidTestingRunner +import android.testing.TestableLooper +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.android.wm.shell.TaskView +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.ArgumentMatchers.eq +import org.mockito.Mock +import org.mockito.Mockito.any +import org.mockito.Mockito.verify +import org.mockito.MockitoAnnotations + +@SmallTest +@RunWith(AndroidTestingRunner::class) +@TestableLooper.RunWithLooper +class DetailDialogTest : SysuiTestCase() { + + @Mock + private lateinit var taskView: TaskView + @Mock + private lateinit var controlViewHolder: ControlViewHolder + @Mock + private lateinit var pendingIntent: PendingIntent + + @Before + fun setUp() { + MockitoAnnotations.initMocks(this) + } + + @Test + fun testPendingIntentIsUnModified() { + // GIVEN the dialog is created with a PendingIntent + val dialog = createDialog(pendingIntent) + + // WHEN the TaskView is initialized + dialog.stateCallback.onInitialized() + + // THEN the PendingIntent used to call startActivity is unmodified by systemui + verify(taskView).startActivity(eq(pendingIntent), any(), any(), any()) + } + + private fun createDialog(pendingIntent: PendingIntent): DetailDialog { + return DetailDialog( + mContext, + taskView, + pendingIntent, + controlViewHolder + ) + } +} -- cgit v1.2.3 From a8e1bbf7c0195875f4f6692a8108e2e48db2a255 Mon Sep 17 00:00:00 2001 From: Beth Thibodeau Date: Wed, 22 Sep 2021 19:25:47 -0400 Subject: [DO NOT MERGE] Use orientation value from config change event Before, when the device was rotated we would get the new orientation value from the event but then use the value from getResources() to decide which layout to show. This discrepancy is a potential cause for an issue where QS uses the landscape layout when the device was actually portrait Fixes: 159737544 Test: atest QSPanelControllerBaseTest QSPanelControllerTest Change-Id: Icd15712cd4821b7833a3373978a92f8b5959ac12 Merged-In: Icd15712cd4821b7833a3373978a92f8b5959ac12 (cherry picked from commit 917a11a54a41f79e01b176fb5d98d346e0f76ff5) --- .../android/systemui/qs/QSPanelControllerBase.java | 8 +++--- .../systemui/qs/QSPanelControllerBaseTest.java | 31 ++++++++++++++++++++-- .../android/systemui/qs/QSPanelControllerTest.java | 8 ++++++ 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java index 4739a3f4c7d6..08cb4a9d44b6 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java @@ -25,6 +25,7 @@ import android.content.ComponentName; import android.content.res.Configuration; import android.metrics.LogMaker; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.UiEventLogger; import com.android.systemui.Dumpable; @@ -80,7 +81,8 @@ public abstract class QSPanelControllerBase extends ViewContr private final QSHost.Callback mQSHostCallback = this::setTiles; - private final QSPanel.OnConfigurationChangedListener mOnConfigurationChangedListener = + @VisibleForTesting + protected final QSPanel.OnConfigurationChangedListener mOnConfigurationChangedListener = new QSPanel.OnConfigurationChangedListener() { @Override public void onConfigurationChange(Configuration newConfig) { @@ -156,6 +158,7 @@ public abstract class QSPanelControllerBase extends ViewContr mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener); mHost.addCallback(mQSHostCallback); setTiles(); + mLastOrientation = getResources().getConfiguration().orientation; switchTileLayout(true); mDumpManager.registerDumpable(mView.getDumpableTag(), this); @@ -356,8 +359,7 @@ public abstract class QSPanelControllerBase extends ViewContr return false; } return mUsingMediaPlayer && mMediaHost.getVisible() - && getResources().getConfiguration().orientation - == Configuration.ORIENTATION_LANDSCAPE; + && mLastOrientation == Configuration.ORIENTATION_LANDSCAPE; } private void logTiles() { diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerBaseTest.java index 65e5f9703d84..faef87069084 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerBaseTest.java @@ -27,6 +27,7 @@ import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -98,11 +99,11 @@ public class QSPanelControllerBaseTest extends SysuiTestCase { Resources mResources; @Mock Configuration mConfiguration; + @Mock + Runnable mHorizontalLayoutListener; private QSPanelControllerBase mController; - - /** Implementation needed to ensure we have a reflectively-available class name. */ private class TestableQSPanelControllerBase extends QSPanelControllerBase { protected TestableQSPanelControllerBase(QSPanel view, QSTileHost host, @@ -242,18 +243,44 @@ public class QSPanelControllerBaseTest extends SysuiTestCase { when(mMediaHost.getVisible()).thenReturn(true); when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(false); + when(mQSPanel.getDumpableTag()).thenReturn("QSPanelLandscape"); mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost, mQSCustomizerController, mMediaHost, mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mFeatureFlags); + mController.init(); assertThat(mController.shouldUseHorizontalLayout()).isTrue(); when(mFeatureFlags.isTwoColumnNotificationShadeEnabled()).thenReturn(true); when(mResources.getBoolean(R.bool.config_use_split_notification_shade)).thenReturn(true); + when(mQSPanel.getDumpableTag()).thenReturn("QSPanelPortrait"); mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost, mQSCustomizerController, mMediaHost, mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mFeatureFlags); + mController.init(); + + assertThat(mController.shouldUseHorizontalLayout()).isFalse(); + } + + @Test + public void testChangeConfiguration_shouldUseHorizontalLayout() { + when(mMediaHost.getVisible()).thenReturn(true); + mController.setUsingHorizontalLayoutChangeListener(mHorizontalLayoutListener); + + // When device is rotated to landscape + mConfiguration.orientation = Configuration.ORIENTATION_LANDSCAPE; + mController.mOnConfigurationChangedListener.onConfigurationChange(mConfiguration); + + // Then the layout changes + assertThat(mController.shouldUseHorizontalLayout()).isTrue(); + verify(mHorizontalLayoutListener).run(); // not invoked + + // When it is rotated back to portrait + mConfiguration.orientation = Configuration.ORIENTATION_PORTRAIT; + mController.mOnConfigurationChangedListener.onConfigurationChange(mConfiguration); + // Then the layout changes back assertThat(mController.shouldUseHorizontalLayout()).isFalse(); + verify(mHorizontalLayoutListener, times(2)).run(); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.java index bf6c981bf05c..35ebacb85203 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelControllerTest.java @@ -23,6 +23,8 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import android.content.res.Configuration; +import android.content.res.Resources; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper.RunWithLooper; @@ -98,6 +100,10 @@ public class QSPanelControllerTest extends SysuiTestCase { FalsingManagerFake mFalsingManager = new FalsingManagerFake(); @Mock FeatureFlags mFeatureFlags; + @Mock + Resources mResources; + @Mock + Configuration mConfiguration; private QSPanelController mController; @@ -109,6 +115,8 @@ public class QSPanelControllerTest extends SysuiTestCase { when(mQSPanel.getDumpableTag()).thenReturn("QSPanel"); when(mQSPanel.getOrCreateTileLayout()).thenReturn(mPagedTileLayout); when(mQSPanel.getTileLayout()).thenReturn(mPagedTileLayout); + when(mQSPanel.getResources()).thenReturn(mResources); + when(mResources.getConfiguration()).thenReturn(mConfiguration); when(mQSTileHost.getTiles()).thenReturn(Collections.singleton(mQSTile)); when(mQSTileHost.createTileView(any(), eq(mQSTile), anyBoolean())).thenReturn(mQSTileView); when(mToggleSliderViewControllerFactory.create(any(), any())) -- cgit v1.2.3 From b9dfff232a2923d0c3d34b2f508be130635f2aa0 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Wed, 27 Oct 2021 13:31:34 -0700 Subject: Remove unused resources After deleting these files - mostly automated by Android Studio - our final apk size went from 43MB to 37MB. Test: make Test: manual Test: presubmit/integration tests Fixes: 204361342 Change-Id: I7f76ca4249431fb226972ed48cc1a4a10328a556 Merged-In: I7f76ca4249431fb226972ed48cc1a4a10328a556 --- packages/SystemUI/AndroidManifest.xml | 15 - .../drawable/bubble_manage_user_education_bg.xml | 21 - .../res-keyguard/drawable/circle_white.xml | 19 - .../res-keyguard/drawable/ic_done_black_24dp.xml | 25 - .../res-keyguard/drawable/ripple_drawable_pin.xml | 20 - .../SystemUI/res-keyguard/values-land/integers.xml | 23 - .../SystemUI/res-keyguard/values-port/bools.xml | 19 - .../SystemUI/res-keyguard/values-port/integers.xml | 23 - .../SystemUI/res-keyguard/values-sw600dp/bools.xml | 19 - packages/SystemUI/res-keyguard/values/alias.xml | 3 - packages/SystemUI/res-keyguard/values/colors.xml | 2 - packages/SystemUI/res-keyguard/values/dimens.xml | 5 - .../res-keyguard/values/donottranslate.xml | 1 - packages/SystemUI/res-keyguard/values/strings.xml | 84 -- packages/SystemUI/res-keyguard/values/styles.xml | 13 +- packages/SystemUI/res/anim/bottomsheet_in.xml | 26 - packages/SystemUI/res/anim/bottomsheet_out.xml | 25 - .../anim/tv_pip_controls_focus_gain_animation.xml | 21 - .../anim/tv_pip_controls_focus_loss_animation.xml | 21 - .../res/anim/tv_pip_menu_fade_in_animation.xml | 21 - .../res/anim/tv_pip_menu_fade_out_animation.xml | 21 - .../res/color/notification_guts_buttons.xml | 7 - packages/SystemUI/res/color/pin_delete_color.xml | 19 - packages/SystemUI/res/color/pin_divider_color.xml | 19 - .../SystemUI/res/color/qs_user_detail_name.xml | 23 - .../res/color/screenrecord_switch_thumb_color.xml | 26 - .../res/color/screenrecord_switch_track_color.xml | 27 - .../res/drawable-hdpi/pip_dismiss_scrim.9.png | Bin 525 -> 0 bytes .../res/drawable-hdpi/search_bg_transparent.9.png | Bin 625 -> 0 bytes .../ic_5g_plus_mobiledata.xml | 36 - .../ic_5g_plus_mobiledata.xml | 36 - .../res/drawable-mdpi/one_handed_tutorial.png | Bin 1054 -> 0 bytes .../res/drawable-mdpi/pip_dismiss_scrim.9.png | Bin 436 -> 0 bytes .../res/drawable-mdpi/search_bg_transparent.9.png | Bin 431 -> 0 bytes .../res/drawable-nodpi/android_11_dial.xml | 63 - .../drawable-nodpi/work_challenge_background.png | Bin 210081 -> 0 bytes .../res/drawable-xhdpi/one_handed_tutorial.png | Bin 2215 -> 0 bytes .../res/drawable-xhdpi/pip_dismiss_scrim.9.png | Bin 611 -> 0 bytes packages/SystemUI/res/drawable-xhdpi/remote.png | Bin 6957 -> 0 bytes .../res/drawable-xhdpi/search_bg_transparent.9.png | Bin 866 -> 0 bytes .../res/drawable-xxhdpi/one_handed_tutorial.png | Bin 3649 -> 0 bytes .../res/drawable-xxhdpi/pip_dismiss_scrim.9.png | Bin 633 -> 0 bytes .../drawable-xxhdpi/search_bg_transparent.9.png | Bin 1246 -> 0 bytes .../res/drawable-xxxhdpi/one_handed_tutorial.png | Bin 5029 -> 0 bytes .../res/drawable-xxxhdpi/pip_dismiss_scrim.9.png | Bin 647 -> 0 bytes .../SystemUI/res/drawable/circle_blue_40dp.xml | 22 - .../SystemUI/res/drawable/circle_white_40dp.xml | 22 - .../floating_dismiss_gradient_transition.xml | 19 - packages/SystemUI/res/drawable/ic_add_to_home.xml | 26 - .../SystemUI/res/drawable/ic_arrow_downward.xml | 25 - packages/SystemUI/res/drawable/ic_camera.xml | 25 - packages/SystemUI/res/drawable/ic_cancel_24.xml | 25 - packages/SystemUI/res/drawable/ic_chevron_up.xml | 24 - packages/SystemUI/res/drawable/ic_clear.xml | 24 - .../res/drawable/ic_demote_conversation.xml | 25 - packages/SystemUI/res/drawable/ic_drag_handle.xml | 24 - packages/SystemUI/res/drawable/ic_exit_to_app.xml | 27 - .../res/drawable/ic_fullscreen_white_24dp.xml | 24 - packages/SystemUI/res/drawable/ic_important.xml | 26 - .../res/drawable/ic_notification_block.xml | 25 - .../res/drawable/ic_notification_gentle.xml | 40 - .../res/drawable/ic_notification_interruptive.xml | 41 - packages/SystemUI/res/drawable/ic_pause_white.xml | 25 - packages/SystemUI/res/drawable/ic_photo_camera.xml | 28 - .../SystemUI/res/drawable/ic_play_arrow_white.xml | 25 - .../drawable/ic_power_settings_new_gm2_24px.xml | 9 - .../SystemUI/res/drawable/ic_qs_bluetooth_on.xml | 24 - .../res/drawable/ic_qs_no_internet_airplane.xml | 28 - .../SystemUI/res/drawable/ic_qs_screenrecord.xml | 9 - packages/SystemUI/res/drawable/ic_qs_wifi_0.xml | 32 - packages/SystemUI/res/drawable/ic_qs_wifi_1.xml | 28 - packages/SystemUI/res/drawable/ic_qs_wifi_2.xml | 28 - packages/SystemUI/res/drawable/ic_qs_wifi_3.xml | 28 - packages/SystemUI/res/drawable/ic_qs_wifi_4.xml | 28 - .../SystemUI/res/drawable/ic_settings_16dp.xml | 27 - .../SystemUI/res/drawable/ic_tune_black_16dp.xml | 26 - packages/SystemUI/res/drawable/ic_volume_voice.xml | 27 - packages/SystemUI/res/drawable/ic_width.xml | 28 - packages/SystemUI/res/drawable/pip_icon.xml | 25 - .../SystemUI/res/drawable/pip_resize_handle.xml | 29 - packages/SystemUI/res/drawable/qs_bg_gradient.xml | 24 - .../SystemUI/res/drawable/qs_dual_tile_caret.xml | 25 - .../res/drawable/rounded_bg_bottom_background.xml | 11 - packages/SystemUI/res/drawable/rounded_bg_top.xml | 22 - .../res/drawable/screenrecord_switch_thumb.xml | 29 - .../res/drawable/screenrecord_switch_track.xml | 24 - .../res/drawable/screenshot_rounded_corners.xml | 20 - .../SystemUI/res/drawable/stat_notify_image.xml | 28 - packages/SystemUI/res/drawable/stat_sys_camera.xml | 22 - .../SystemUI/res/drawable/stat_sys_location.xml | 19 - .../SystemUI/res/drawable/stat_sys_mic_none.xml | 30 - packages/SystemUI/res/drawable/tv_ic_mic_white.xml | 27 - .../res/interpolator/assist_disclosure_trace.xml | 22 - ...or_to_trustedstate_animation_interpolator_0.xml | 19 - ...or_to_trustedstate_animation_interpolator_1.xml | 19 - ...or_to_trustedstate_animation_interpolator_2.xml | 19 - ...or_to_trustedstate_animation_interpolator_3.xml | 19 - ...or_to_trustedstate_animation_interpolator_4.xml | 19 - ...or_to_trustedstate_animation_interpolator_5.xml | 19 - ...or_to_trustedstate_animation_interpolator_6.xml | 19 - .../ic_caret_down_animation_interpolator_0.xml | 19 - .../ic_caret_up_animation_interpolator_0.xml | 19 - ...ingerprint_toerror_animation_interpolator_0.xml | 19 - ...ingerprint_toerror_animation_interpolator_1.xml | 19 - ...ingerprint_toerror_animation_interpolator_2.xml | 19 - ...ingerprint_toerror_animation_interpolator_3.xml | 19 - ...ingerprint_toerror_animation_interpolator_4.xml | 19 - ...ingerprint_toerror_animation_interpolator_5.xml | 19 - ...ingerprint_toerror_animation_interpolator_6.xml | 19 - ...c_fingerprint_tofp_animation_interpolator_0.xml | 19 - ...c_fingerprint_tofp_animation_interpolator_1.xml | 19 - ...c_fingerprint_tofp_animation_interpolator_2.xml | 19 - ...c_fingerprint_tofp_animation_interpolator_3.xml | 19 - ...c_fingerprint_tofp_animation_interpolator_4.xml | 19 - ...c_fingerprint_tofp_animation_interpolator_5.xml | 19 - ...andscape_to_rotate_animation_interpolator_0.xml | 19 - ...otate_to_landscape_animation_interpolator_0.xml | 19 - ...rotate_to_portrait_animation_interpolator_0.xml | 19 - ...ngerprint_draw_off_animation_interpolator_0.xml | 19 - ...ngerprint_draw_off_animation_interpolator_1.xml | 19 - ...ingerprint_draw_on_animation_interpolator_0.xml | 19 - ...ingerprint_draw_on_animation_interpolator_1.xml | 19 - ...ted_state_to_error_animation_interpolator_0.xml | 19 - ...ted_state_to_error_animation_interpolator_1.xml | 19 - ...ted_state_to_error_animation_interpolator_2.xml | 19 - ...ted_state_to_error_animation_interpolator_3.xml | 19 - ...ted_state_to_error_animation_interpolator_4.xml | 19 - ...ted_state_to_error_animation_interpolator_5.xml | 19 - .../wireless_charging_animation_interpolator_0.xml | 21 - .../wireless_charging_animation_interpolator_1.xml | 21 - .../layout-land/global_actions_column_seascape.xml | 68 - .../res/layout-land/global_actions_grid_item.xml | 61 - .../layout-land/global_actions_grid_seascape.xml | 79 -- packages/SystemUI/res/layout/app_ops_info.xml | 96 -- packages/SystemUI/res/layout/controls_icon.xml | 26 - .../res/layout/global_actions_grid_item.xml | 60 - .../SystemUI/res/layout/global_actions_item.xml | 60 - .../SystemUI/res/layout/horizontal_divider.xml | 25 - packages/SystemUI/res/layout/mland.xml | 103 -- packages/SystemUI/res/layout/mland_scorefield.xml | 32 - .../SystemUI/res/layout/nav_control_widget.xml | 62 - packages/SystemUI/res/layout/nav_width_view.xml | 26 - .../res/layout/navigation_bar_app_item.xml | 30 - .../SystemUI/res/layout/people_space_widget.xml | 27 - .../res/layout/people_space_widget_item.xml | 93 -- .../res/layout/preference_widget_settings.xml | 44 - .../SystemUI/res/layout/punctuation_layout.xml | 100 -- packages/SystemUI/res/layout/qs_add_tiles_list.xml | 32 - packages/SystemUI/res/layout/qs_page_indicator.xml | 27 - packages/SystemUI/res/layout/qs_tile_layout.xml | 21 - .../SystemUI/res/layout/recents_onboarding.xml | 64 - .../res/layout/remember_permission_checkbox.xml | 34 - packages/SystemUI/res/layout/rounded_corners.xml | 75 - packages/SystemUI/res/layout/shelf_menu_anchor.xml | 24 - packages/SystemUI/res/layout/tuner_activity.xml | 4 +- .../SystemUI/res/layout/udfps_surface_view.xml | 21 - packages/SystemUI/res/mipmap-hdpi/ic_daydreams.png | Bin 8822 -> 0 bytes packages/SystemUI/res/mipmap-mdpi/ic_daydreams.png | Bin 5268 -> 0 bytes .../SystemUI/res/mipmap-xhdpi/ic_daydreams.png | Bin 13030 -> 0 bytes .../res/transition/tv_privacy_chip_collapse.xml | 20 - .../res/transition/tv_privacy_chip_expand.xml | 20 - packages/SystemUI/res/values-sw360dp/dimens.xml | 3 - packages/SystemUI/res/values-sw392dp/dimens.xml | 8 - packages/SystemUI/res/values-sw410dp/config.xml | 24 - packages/SystemUI/res/values-sw410dp/dimens.xml | 8 - packages/SystemUI/res/values-sw600dp/config.xml | 6 - packages/SystemUI/res/values-sw600dp/dimens.xml | 32 - packages/SystemUI/res/values-sw600dp/styles.xml | 3 - packages/SystemUI/res/values-sw720dp/config.xml | 3 - packages/SystemUI/res/values-sw720dp/dimens.xml | 9 - packages/SystemUI/res/values-sw900dp/dimens.xml | 1 - packages/SystemUI/res/values/arrays_tv.xml | 22 - packages/SystemUI/res/values/colors.xml | 60 - packages/SystemUI/res/values/config.xml | 76 -- packages/SystemUI/res/values/dimens.xml | 336 ----- packages/SystemUI/res/values/ids.xml | 6 - packages/SystemUI/res/values/integers.xml | 5 - packages/SystemUI/res/values/internal.xml | 1 - packages/SystemUI/res/values/mland_config.xml | 1 - packages/SystemUI/res/values/mland_strings.xml | 20 - packages/SystemUI/res/values/strings.xml | 697 +--------- packages/SystemUI/res/values/strings_tv.xml | 2 - packages/SystemUI/res/values/styles.xml | 79 -- .../src/com/android/systemui/egg/MLand.java | 1440 -------------------- .../com/android/systemui/egg/MLandActivity.java | 90 -- 185 files changed, 3 insertions(+), 6854 deletions(-) delete mode 100644 packages/SystemUI/res-keyguard/drawable/bubble_manage_user_education_bg.xml delete mode 100644 packages/SystemUI/res-keyguard/drawable/circle_white.xml delete mode 100644 packages/SystemUI/res-keyguard/drawable/ic_done_black_24dp.xml delete mode 100644 packages/SystemUI/res-keyguard/drawable/ripple_drawable_pin.xml delete mode 100644 packages/SystemUI/res-keyguard/values-land/integers.xml delete mode 100644 packages/SystemUI/res-keyguard/values-port/bools.xml delete mode 100644 packages/SystemUI/res-keyguard/values-port/integers.xml delete mode 100644 packages/SystemUI/res-keyguard/values-sw600dp/bools.xml delete mode 100644 packages/SystemUI/res/anim/bottomsheet_in.xml delete mode 100644 packages/SystemUI/res/anim/bottomsheet_out.xml delete mode 100644 packages/SystemUI/res/anim/tv_pip_controls_focus_gain_animation.xml delete mode 100644 packages/SystemUI/res/anim/tv_pip_controls_focus_loss_animation.xml delete mode 100644 packages/SystemUI/res/anim/tv_pip_menu_fade_in_animation.xml delete mode 100644 packages/SystemUI/res/anim/tv_pip_menu_fade_out_animation.xml delete mode 100644 packages/SystemUI/res/color/notification_guts_buttons.xml delete mode 100644 packages/SystemUI/res/color/pin_delete_color.xml delete mode 100644 packages/SystemUI/res/color/pin_divider_color.xml delete mode 100644 packages/SystemUI/res/color/qs_user_detail_name.xml delete mode 100644 packages/SystemUI/res/color/screenrecord_switch_thumb_color.xml delete mode 100644 packages/SystemUI/res/color/screenrecord_switch_track_color.xml delete mode 100644 packages/SystemUI/res/drawable-hdpi/pip_dismiss_scrim.9.png delete mode 100644 packages/SystemUI/res/drawable-hdpi/search_bg_transparent.9.png delete mode 100644 packages/SystemUI/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml delete mode 100644 packages/SystemUI/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml delete mode 100644 packages/SystemUI/res/drawable-mdpi/one_handed_tutorial.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/pip_dismiss_scrim.9.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/search_bg_transparent.9.png delete mode 100644 packages/SystemUI/res/drawable-nodpi/android_11_dial.xml delete mode 100644 packages/SystemUI/res/drawable-nodpi/work_challenge_background.png delete mode 100644 packages/SystemUI/res/drawable-xhdpi/one_handed_tutorial.png delete mode 100644 packages/SystemUI/res/drawable-xhdpi/pip_dismiss_scrim.9.png delete mode 100644 packages/SystemUI/res/drawable-xhdpi/remote.png delete mode 100644 packages/SystemUI/res/drawable-xhdpi/search_bg_transparent.9.png delete mode 100644 packages/SystemUI/res/drawable-xxhdpi/one_handed_tutorial.png delete mode 100644 packages/SystemUI/res/drawable-xxhdpi/pip_dismiss_scrim.9.png delete mode 100644 packages/SystemUI/res/drawable-xxhdpi/search_bg_transparent.9.png delete mode 100644 packages/SystemUI/res/drawable-xxxhdpi/one_handed_tutorial.png delete mode 100644 packages/SystemUI/res/drawable-xxxhdpi/pip_dismiss_scrim.9.png delete mode 100644 packages/SystemUI/res/drawable/circle_blue_40dp.xml delete mode 100644 packages/SystemUI/res/drawable/circle_white_40dp.xml delete mode 100644 packages/SystemUI/res/drawable/floating_dismiss_gradient_transition.xml delete mode 100644 packages/SystemUI/res/drawable/ic_add_to_home.xml delete mode 100644 packages/SystemUI/res/drawable/ic_arrow_downward.xml delete mode 100644 packages/SystemUI/res/drawable/ic_camera.xml delete mode 100644 packages/SystemUI/res/drawable/ic_cancel_24.xml delete mode 100644 packages/SystemUI/res/drawable/ic_chevron_up.xml delete mode 100644 packages/SystemUI/res/drawable/ic_clear.xml delete mode 100644 packages/SystemUI/res/drawable/ic_demote_conversation.xml delete mode 100644 packages/SystemUI/res/drawable/ic_drag_handle.xml delete mode 100644 packages/SystemUI/res/drawable/ic_exit_to_app.xml delete mode 100644 packages/SystemUI/res/drawable/ic_fullscreen_white_24dp.xml delete mode 100644 packages/SystemUI/res/drawable/ic_important.xml delete mode 100644 packages/SystemUI/res/drawable/ic_notification_block.xml delete mode 100644 packages/SystemUI/res/drawable/ic_notification_gentle.xml delete mode 100644 packages/SystemUI/res/drawable/ic_notification_interruptive.xml delete mode 100644 packages/SystemUI/res/drawable/ic_pause_white.xml delete mode 100644 packages/SystemUI/res/drawable/ic_photo_camera.xml delete mode 100644 packages/SystemUI/res/drawable/ic_play_arrow_white.xml delete mode 100644 packages/SystemUI/res/drawable/ic_power_settings_new_gm2_24px.xml delete mode 100644 packages/SystemUI/res/drawable/ic_qs_bluetooth_on.xml delete mode 100644 packages/SystemUI/res/drawable/ic_qs_no_internet_airplane.xml delete mode 100644 packages/SystemUI/res/drawable/ic_qs_screenrecord.xml delete mode 100644 packages/SystemUI/res/drawable/ic_qs_wifi_0.xml delete mode 100644 packages/SystemUI/res/drawable/ic_qs_wifi_1.xml delete mode 100644 packages/SystemUI/res/drawable/ic_qs_wifi_2.xml delete mode 100644 packages/SystemUI/res/drawable/ic_qs_wifi_3.xml delete mode 100644 packages/SystemUI/res/drawable/ic_qs_wifi_4.xml delete mode 100644 packages/SystemUI/res/drawable/ic_settings_16dp.xml delete mode 100644 packages/SystemUI/res/drawable/ic_tune_black_16dp.xml delete mode 100644 packages/SystemUI/res/drawable/ic_volume_voice.xml delete mode 100644 packages/SystemUI/res/drawable/ic_width.xml delete mode 100644 packages/SystemUI/res/drawable/pip_icon.xml delete mode 100644 packages/SystemUI/res/drawable/pip_resize_handle.xml delete mode 100644 packages/SystemUI/res/drawable/qs_bg_gradient.xml delete mode 100644 packages/SystemUI/res/drawable/qs_dual_tile_caret.xml delete mode 100644 packages/SystemUI/res/drawable/rounded_bg_bottom_background.xml delete mode 100644 packages/SystemUI/res/drawable/rounded_bg_top.xml delete mode 100644 packages/SystemUI/res/drawable/screenrecord_switch_thumb.xml delete mode 100644 packages/SystemUI/res/drawable/screenrecord_switch_track.xml delete mode 100644 packages/SystemUI/res/drawable/screenshot_rounded_corners.xml delete mode 100644 packages/SystemUI/res/drawable/stat_notify_image.xml delete mode 100644 packages/SystemUI/res/drawable/stat_sys_camera.xml delete mode 100644 packages/SystemUI/res/drawable/stat_sys_location.xml delete mode 100644 packages/SystemUI/res/drawable/stat_sys_mic_none.xml delete mode 100644 packages/SystemUI/res/drawable/tv_ic_mic_white.xml delete mode 100644 packages/SystemUI/res/interpolator/assist_disclosure_trace.xml delete mode 100644 packages/SystemUI/res/interpolator/error_to_trustedstate_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/error_to_trustedstate_animation_interpolator_1.xml delete mode 100644 packages/SystemUI/res/interpolator/error_to_trustedstate_animation_interpolator_2.xml delete mode 100644 packages/SystemUI/res/interpolator/error_to_trustedstate_animation_interpolator_3.xml delete mode 100644 packages/SystemUI/res/interpolator/error_to_trustedstate_animation_interpolator_4.xml delete mode 100644 packages/SystemUI/res/interpolator/error_to_trustedstate_animation_interpolator_5.xml delete mode 100644 packages/SystemUI/res/interpolator/error_to_trustedstate_animation_interpolator_6.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_caret_down_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_caret_up_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_toerror_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_toerror_animation_interpolator_1.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_toerror_animation_interpolator_2.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_toerror_animation_interpolator_3.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_toerror_animation_interpolator_4.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_toerror_animation_interpolator_5.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_toerror_animation_interpolator_6.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_tofp_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_tofp_animation_interpolator_1.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_tofp_animation_interpolator_2.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_tofp_animation_interpolator_3.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_tofp_animation_interpolator_4.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_fingerprint_tofp_animation_interpolator_5.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_landscape_to_rotate_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_rotate_to_landscape_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/ic_rotate_to_portrait_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/lockscreen_fingerprint_draw_off_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/lockscreen_fingerprint_draw_off_animation_interpolator_1.xml delete mode 100644 packages/SystemUI/res/interpolator/lockscreen_fingerprint_draw_on_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/lockscreen_fingerprint_draw_on_animation_interpolator_1.xml delete mode 100644 packages/SystemUI/res/interpolator/trusted_state_to_error_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/trusted_state_to_error_animation_interpolator_1.xml delete mode 100644 packages/SystemUI/res/interpolator/trusted_state_to_error_animation_interpolator_2.xml delete mode 100644 packages/SystemUI/res/interpolator/trusted_state_to_error_animation_interpolator_3.xml delete mode 100644 packages/SystemUI/res/interpolator/trusted_state_to_error_animation_interpolator_4.xml delete mode 100644 packages/SystemUI/res/interpolator/trusted_state_to_error_animation_interpolator_5.xml delete mode 100644 packages/SystemUI/res/interpolator/wireless_charging_animation_interpolator_0.xml delete mode 100644 packages/SystemUI/res/interpolator/wireless_charging_animation_interpolator_1.xml delete mode 100644 packages/SystemUI/res/layout-land/global_actions_column_seascape.xml delete mode 100644 packages/SystemUI/res/layout-land/global_actions_grid_item.xml delete mode 100644 packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml delete mode 100644 packages/SystemUI/res/layout/app_ops_info.xml delete mode 100644 packages/SystemUI/res/layout/controls_icon.xml delete mode 100644 packages/SystemUI/res/layout/global_actions_grid_item.xml delete mode 100644 packages/SystemUI/res/layout/global_actions_item.xml delete mode 100644 packages/SystemUI/res/layout/horizontal_divider.xml delete mode 100644 packages/SystemUI/res/layout/mland.xml delete mode 100644 packages/SystemUI/res/layout/mland_scorefield.xml delete mode 100644 packages/SystemUI/res/layout/nav_control_widget.xml delete mode 100644 packages/SystemUI/res/layout/nav_width_view.xml delete mode 100644 packages/SystemUI/res/layout/navigation_bar_app_item.xml delete mode 100644 packages/SystemUI/res/layout/people_space_widget.xml delete mode 100644 packages/SystemUI/res/layout/people_space_widget_item.xml delete mode 100644 packages/SystemUI/res/layout/preference_widget_settings.xml delete mode 100644 packages/SystemUI/res/layout/punctuation_layout.xml delete mode 100644 packages/SystemUI/res/layout/qs_add_tiles_list.xml delete mode 100644 packages/SystemUI/res/layout/qs_page_indicator.xml delete mode 100644 packages/SystemUI/res/layout/qs_tile_layout.xml delete mode 100644 packages/SystemUI/res/layout/recents_onboarding.xml delete mode 100644 packages/SystemUI/res/layout/remember_permission_checkbox.xml delete mode 100644 packages/SystemUI/res/layout/rounded_corners.xml delete mode 100644 packages/SystemUI/res/layout/shelf_menu_anchor.xml delete mode 100644 packages/SystemUI/res/layout/udfps_surface_view.xml delete mode 100644 packages/SystemUI/res/mipmap-hdpi/ic_daydreams.png delete mode 100644 packages/SystemUI/res/mipmap-mdpi/ic_daydreams.png delete mode 100644 packages/SystemUI/res/mipmap-xhdpi/ic_daydreams.png delete mode 100644 packages/SystemUI/res/transition/tv_privacy_chip_collapse.xml delete mode 100644 packages/SystemUI/res/transition/tv_privacy_chip_expand.xml delete mode 100644 packages/SystemUI/res/values-sw410dp/config.xml delete mode 100644 packages/SystemUI/res/values/arrays_tv.xml delete mode 100644 packages/SystemUI/res/values/mland_strings.xml delete mode 100644 packages/SystemUI/src/com/android/systemui/egg/MLand.java delete mode 100644 packages/SystemUI/src/com/android/systemui/egg/MLandActivity.java diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 9de1c5ea1a3d..c5c2da1fd085 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -582,21 +582,6 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/packages/SystemUI/res-keyguard/drawable/circle_white.xml b/packages/SystemUI/res-keyguard/drawable/circle_white.xml deleted file mode 100644 index d1b20979c29e..000000000000 --- a/packages/SystemUI/res-keyguard/drawable/circle_white.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - \ No newline at end of file diff --git a/packages/SystemUI/res-keyguard/drawable/ic_done_black_24dp.xml b/packages/SystemUI/res-keyguard/drawable/ic_done_black_24dp.xml deleted file mode 100644 index 5026f07de912..000000000000 --- a/packages/SystemUI/res-keyguard/drawable/ic_done_black_24dp.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - diff --git a/packages/SystemUI/res-keyguard/drawable/ripple_drawable_pin.xml b/packages/SystemUI/res-keyguard/drawable/ripple_drawable_pin.xml deleted file mode 100644 index 51c442abf2fd..000000000000 --- a/packages/SystemUI/res-keyguard/drawable/ripple_drawable_pin.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - diff --git a/packages/SystemUI/res-keyguard/values-land/integers.xml b/packages/SystemUI/res-keyguard/values-land/integers.xml deleted file mode 100644 index 0739c3a1cf5a..000000000000 --- a/packages/SystemUI/res-keyguard/values-land/integers.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - 0x13 - diff --git a/packages/SystemUI/res-keyguard/values-port/bools.xml b/packages/SystemUI/res-keyguard/values-port/bools.xml deleted file mode 100644 index fdb8ebcff970..000000000000 --- a/packages/SystemUI/res-keyguard/values-port/bools.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - true - diff --git a/packages/SystemUI/res-keyguard/values-port/integers.xml b/packages/SystemUI/res-keyguard/values-port/integers.xml deleted file mode 100644 index ef7e4da0cc26..000000000000 --- a/packages/SystemUI/res-keyguard/values-port/integers.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - 0x31 - \ No newline at end of file diff --git a/packages/SystemUI/res-keyguard/values-sw600dp/bools.xml b/packages/SystemUI/res-keyguard/values-sw600dp/bools.xml deleted file mode 100644 index 654821ade8dc..000000000000 --- a/packages/SystemUI/res-keyguard/values-sw600dp/bools.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - false - diff --git a/packages/SystemUI/res-keyguard/values/alias.xml b/packages/SystemUI/res-keyguard/values/alias.xml index 6d49b1f511ee..1e1d29a34970 100644 --- a/packages/SystemUI/res-keyguard/values/alias.xml +++ b/packages/SystemUI/res-keyguard/values/alias.xml @@ -28,9 +28,6 @@ @*android:bool/config_enableLockScreenRotation - - @*android:integer/config_activityDefaultDur - @layout/keyguard_emergency_carrier_area diff --git a/packages/SystemUI/res-keyguard/values/colors.xml b/packages/SystemUI/res-keyguard/values/colors.xml index 74ee7ffad3f6..7a849ebd481d 100644 --- a/packages/SystemUI/res-keyguard/values/colors.xml +++ b/packages/SystemUI/res-keyguard/values/colors.xml @@ -19,6 +19,4 @@ #C97343 #F5C983 - - #F5C983 diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml index 7e3c87b24f07..48510325f37b 100644 --- a/packages/SystemUI/res-keyguard/values/dimens.xml +++ b/packages/SystemUI/res-keyguard/values/dimens.xml @@ -31,7 +31,6 @@ - 450dp 80dp @@ -57,7 +56,6 @@ 54dp 0dp - 4dp @dimen/widget_title_font_size 5dp @@ -68,10 +66,8 @@ 18dp 8dp - -6dp - 32dp 9dp @@ -82,7 +78,6 @@ 8dp - 4dp -32dp diff --git a/packages/SystemUI/res-keyguard/values/donottranslate.xml b/packages/SystemUI/res-keyguard/values/donottranslate.xml index a4d0ff7269a2..3ab3e58180c1 100644 --- a/packages/SystemUI/res-keyguard/values/donottranslate.xml +++ b/packages/SystemUI/res-keyguard/values/donottranslate.xml @@ -16,7 +16,6 @@ - EEEEMMMMd EEEMMMd diff --git a/packages/SystemUI/res-keyguard/values/strings.xml b/packages/SystemUI/res-keyguard/values/strings.xml index 20ff424068b7..4fc38a813e8a 100644 --- a/packages/SystemUI/res-keyguard/values/strings.xml +++ b/packages/SystemUI/res-keyguard/values/strings.xml @@ -18,32 +18,6 @@ */ --> - - Keyguard - - Type PIN code - - - Type SIM PUK and new PIN code - - - SIM PUK code - - New SIM PIN code - - - Touch to type password - - - Type password to unlock - - - Type PIN to unlock - Enter your PIN @@ -53,10 +27,6 @@ Enter your password - - Incorrect PIN code. - Invalid Card. @@ -82,10 +52,6 @@ %s • Charging temporarily limited - - Connect your charger. - Press Menu to unlock. @@ -132,9 +98,6 @@ SIM PUK area - - Next alarm set for %1$s - Delete @@ -147,8 +110,6 @@ Enter - - Forgot Pattern Wrong pattern @@ -160,18 +121,12 @@ Try again in 1 second. Try again in %d seconds. - - Draw your pattern Enter SIM PIN. Enter SIM PIN for \"%1$s\". %1$s Disable eSIM to use device without mobile service. - - Enter PIN - - Enter Password SIM is now disabled. Enter PUK code to continue. Contact carrier for details. @@ -186,10 +141,6 @@ Type a PIN that is 4 to 8 numbers. PUK code should be 8 numbers or more. - - Re-enter the correct PUK code. Repeated attempts will permanently disable the SIM. - - Too many pattern attempts You have incorrectly typed your PIN %1$d times. @@ -230,13 +181,6 @@ SIM PUK operation failed! - - Code Accepted! - - - No service. - Switch input method @@ -261,15 +205,6 @@ Password required for additional security - - Pattern required when you switch profiles - - - PIN required when you switch profiles - - - Password required when you switch profiles - Device locked by admin @@ -278,24 +213,6 @@ the force lock button. [CHAR LIMIT=80] --> Device was locked manually - - - Device hasn\'t been unlocked for %d hour. Confirm pattern. - Device hasn\'t been unlocked for %d hours. Confirm pattern. - - - - - Device hasn\'t been unlocked for %d hour. Confirm PIN. - Device hasn\'t been unlocked for %d hours. Confirm PIN. - - - - - Device hasn\'t been unlocked for %d hour. Confirm password. - Device hasn\'t been unlocked for %d hours. Confirm password. - - Not recognized @@ -324,5 +241,4 @@ number">%d remaining attempts before SIM becomes permanently unusable. Bubble Analog - diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml index 72b027af1bf6..2946cf8eb19b 100644 --- a/packages/SystemUI/res-keyguard/values/styles.xml +++ b/packages/SystemUI/res-keyguard/values/styles.xml @@ -71,9 +71,6 @@ - - + - - - - @@ -65,17 +41,6 @@ - - - - - - - - - - - - - - - @@ -509,11 +444,6 @@ ?android:attr/textColorSecondary - - @@ -535,15 +465,6 @@ @*android:string/config_headlineFontFamily - - - - + - + + + + + @@ -41,6 +65,17 @@ + + + + + + + + + + + + + + + @@ -444,6 +509,11 @@ ?android:attr/textColorSecondary + + @@ -465,6 +535,15 @@ @*android:string/config_headlineFontFamily + + + +