From 8b0657c4892d7a23cd043b2582728ac88a1b684b Mon Sep 17 00:00:00 2001 From: Evan Severson Date: Wed, 19 Jan 2022 11:24:23 -0800 Subject: [PATCH] Remove the foreground service manager tile Test: `atest SystemUITests` Play around with tiles Bug: 201579707 Change-Id: Ia6941648849e1d2ef9409be459aa00d023155530 --- packages/SystemUI/res/drawable/ic_list.xml | 42 -------- packages/SystemUI/res/values/config.xml | 2 +- .../res/values/tiles_states_strings.xml | 10 -- .../systemui/qs/tileimpl/QSFactoryImpl.java | 6 -- .../systemui/qs/tileimpl/QSTileViewImpl.kt | 1 - .../systemui/qs/tiles/FgsManagerTile.kt | 96 ------------------- .../systemui/qs/tileimpl/QSFactoryImplTest.kt | 4 - 7 files changed, 1 insertion(+), 160 deletions(-) delete mode 100644 packages/SystemUI/res/drawable/ic_list.xml delete mode 100644 packages/SystemUI/src/com/android/systemui/qs/tiles/FgsManagerTile.kt diff --git a/packages/SystemUI/res/drawable/ic_list.xml b/packages/SystemUI/res/drawable/ic_list.xml deleted file mode 100644 index 7ef52991234ae..0000000000000 --- a/packages/SystemUI/res/drawable/ic_list.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 65f22b805d4e5..55a6ab3e2daf1 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -82,7 +82,7 @@ - internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness,qr_code_scanner,onehanded,fgsmanager,color_correction + internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness,qr_code_scanner,onehanded,color_correction diff --git a/packages/SystemUI/res/values/tiles_states_strings.xml b/packages/SystemUI/res/values/tiles_states_strings.xml index a610caafa6e1c..e2734164161f8 100644 --- a/packages/SystemUI/res/values/tiles_states_strings.xml +++ b/packages/SystemUI/res/values/tiles_states_strings.xml @@ -308,14 +308,4 @@ Off On - - - - Unavailable - Off - On - \ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java index 5e68f611293ed..86fc4de7825af 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java @@ -39,7 +39,6 @@ import com.android.systemui.qs.tiles.ColorInversionTile; import com.android.systemui.qs.tiles.DataSaverTile; import com.android.systemui.qs.tiles.DeviceControlsTile; import com.android.systemui.qs.tiles.DndTile; -import com.android.systemui.qs.tiles.FgsManagerTile; import com.android.systemui.qs.tiles.FlashlightTile; import com.android.systemui.qs.tiles.HotspotTile; import com.android.systemui.qs.tiles.InternetTile; @@ -99,7 +98,6 @@ public class QSFactoryImpl implements QSFactory { private final Provider mQuickAccessWalletTileProvider; private final Provider mQRCodeScannerTileProvider; private final Provider mOneHandedModeTileProvider; - private final Provider mFgsManagerTileProvider; private final Lazy mQsHostLazy; private final Provider mCustomTileBuilderProvider; @@ -137,7 +135,6 @@ public class QSFactoryImpl implements QSFactory { Provider quickAccessWalletTileProvider, Provider qrCodeScannerTileProvider, Provider oneHandedModeTileProvider, - Provider fgsManagerTileProvider, Provider colorCorrectionTileProvider) { mQsHostLazy = qsHostLazy; mCustomTileBuilderProvider = customTileBuilderProvider; @@ -171,7 +168,6 @@ public class QSFactoryImpl implements QSFactory { mQuickAccessWalletTileProvider = quickAccessWalletTileProvider; mQRCodeScannerTileProvider = qrCodeScannerTileProvider; mOneHandedModeTileProvider = oneHandedModeTileProvider; - mFgsManagerTileProvider = fgsManagerTileProvider; mColorCorrectionTileProvider = colorCorrectionTileProvider; } @@ -246,8 +242,6 @@ public class QSFactoryImpl implements QSFactory { return mQRCodeScannerTileProvider.get(); case "onehanded": return mOneHandedModeTileProvider.get(); - case "fgsmanager": - return mFgsManagerTileProvider.get(); case "color_correction": return mColorCorrectionTileProvider.get(); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt index 7efb983cc4bad..821dfa5fc902b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt @@ -653,7 +653,6 @@ internal object SubtitleArrayMapping { "qr_code_scanner" to R.array.tile_states_qr_code_scanner, "alarm" to R.array.tile_states_alarm, "onehanded" to R.array.tile_states_onehanded, - "fgsmanager" to R.array.tile_states_fgsmanager, "color_correction" to R.array.tile_states_color_correction ) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/FgsManagerTile.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/FgsManagerTile.kt deleted file mode 100644 index 939a29711f459..0000000000000 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/FgsManagerTile.kt +++ /dev/null @@ -1,96 +0,0 @@ -/* - * 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.qs.tiles - -import android.content.Intent -import android.os.Handler -import android.os.Looper -import android.provider.DeviceConfig -import android.view.View -import com.android.internal.config.sysui.SystemUiDeviceConfigFlags -import com.android.internal.logging.MetricsLogger -import com.android.systemui.DejankUtils -import com.android.systemui.R -import com.android.systemui.dagger.qualifiers.Background -import com.android.systemui.dagger.qualifiers.Main -import com.android.systemui.fgsmanager.FgsManagerDialogFactory -import com.android.systemui.plugins.ActivityStarter -import com.android.systemui.plugins.FalsingManager -import com.android.systemui.plugins.qs.QSTile -import com.android.systemui.plugins.statusbar.StatusBarStateController -import com.android.systemui.qs.QSHost -import com.android.systemui.qs.logging.QSLogger -import com.android.systemui.qs.tileimpl.QSTileImpl -import com.android.systemui.statusbar.policy.RunningFgsController -import com.android.systemui.statusbar.policy.RunningFgsController.UserPackageTime -import java.util.concurrent.Executor -import javax.inject.Inject - -/** - * Quicksettings tile for the foreground services manager (task manager) - */ -class FgsManagerTile @Inject constructor( - host: QSHost?, - @Background backgroundLooper: Looper?, - @Background private val backgroundExecutor: Executor?, - @Main mainHandler: Handler?, - falsingManager: FalsingManager?, - metricsLogger: MetricsLogger?, - statusBarStateController: StatusBarStateController?, - activityStarter: ActivityStarter?, - qsLogger: QSLogger?, - private val fgsManagerDialogFactory: FgsManagerDialogFactory, - private val runningFgsController: RunningFgsController -) : QSTileImpl(host, backgroundLooper, mainHandler, falsingManager, metricsLogger, - statusBarStateController, activityStarter, qsLogger), RunningFgsController.Callback { - - override fun handleInitialize() { - super.handleInitialize() - mUiHandler.post { runningFgsController.observe(lifecycle, this) } - } - - override fun isAvailable(): Boolean { - return DejankUtils.whitelistIpcs { - DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, - SystemUiDeviceConfigFlags.TASK_MANAGER_ENABLED, false) - } - } - - override fun newTileState(): QSTile.State { - return QSTile.State() - } - - override fun handleClick(view: View?) { - mUiHandler.post { fgsManagerDialogFactory.create(view) } - } - - override fun handleUpdateState(state: QSTile.State?, arg: Any?) { - state?.label = tileLabel - state?.secondaryLabel = runningFgsController.getPackagesWithFgs().size.toString() - state?.handlesLongClick = false - state?.icon = ResourceIcon.get(R.drawable.ic_list) - } - - override fun getMetricsCategory(): Int = 0 - - override fun getLongClickIntent(): Intent? = null - - // Inline the string so we don't waste translator time since this isn't used in the mocks. - // TODO If mocks change need to remember to move this to strings.xml - override fun getTileLabel(): CharSequence = "Active apps" - - override fun onFgsPackagesChanged(packages: List) = refreshState() -} \ No newline at end of file diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSFactoryImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSFactoryImplTest.kt index 968b12afa68f5..88b133ec56a8a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSFactoryImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSFactoryImplTest.kt @@ -34,7 +34,6 @@ import com.android.systemui.qs.tiles.ColorInversionTile import com.android.systemui.qs.tiles.DataSaverTile import com.android.systemui.qs.tiles.DeviceControlsTile import com.android.systemui.qs.tiles.DndTile -import com.android.systemui.qs.tiles.FgsManagerTile import com.android.systemui.qs.tiles.FlashlightTile import com.android.systemui.qs.tiles.HotspotTile import com.android.systemui.qs.tiles.InternetTile @@ -92,7 +91,6 @@ private val specMap = mapOf( "wallet" to QuickAccessWalletTile::class.java, "qr_code_scanner" to QRCodeScannerTile::class.java, "onehanded" to OneHandedModeTile::class.java, - "fgsmanager" to FgsManagerTile::class.java, "color_correction" to ColorCorrectionTile::class.java ) @@ -133,7 +131,6 @@ class QSFactoryImplTest : SysuiTestCase() { @Mock private lateinit var quickAccessWalletTile: QuickAccessWalletTile @Mock private lateinit var qrCodeScannerTile: QRCodeScannerTile @Mock private lateinit var oneHandedModeTile: OneHandedModeTile - @Mock private lateinit var fgsManagerTile: FgsManagerTile @Mock private lateinit var colorCorrectionTile: ColorCorrectionTile private lateinit var factory: QSFactoryImpl @@ -178,7 +175,6 @@ class QSFactoryImplTest : SysuiTestCase() { { quickAccessWalletTile }, { qrCodeScannerTile }, { oneHandedModeTile }, - { fgsManagerTile }, { colorCorrectionTile } ) // When adding/removing tiles, fix also [specMap]