From cd2880e4f3bf76eb1314fd27100716e08f4d7e55 Mon Sep 17 00:00:00 2001 From: Alejandro Nijamkin Date: Thu, 25 Aug 2022 10:20:52 -0700 Subject: [PATCH] Deletes LifecycleActivity. LifecycleActivity seems to only be adding a Lifecycle to the framework Activity class. The Jetpack ComponentActivity already does that and is actively getting fixes whereas the Activity class is not. This CL deletes LifecycleActivity and migrates existing subclasses to subclass ComponentActivity from Jetpack, instead. Bug: 243558484 Test: Opened and played with the home controls screens and the user switcher screen. Did not test Wallet, but I have high confidence that this change is safe given its nature and the manual test for home controls. Change-Id: I10f83c71d02e7218a0196b272006dbe6d17156dc --- .../management/ControlsEditingActivity.kt | 4 +- .../management/ControlsFavoritingActivity.kt | 4 +- .../ControlsProviderSelectorActivity.kt | 4 +- .../management/ControlsRequestDialog.kt | 4 +- .../systemui/controls/ui/ControlsActivity.kt | 5 +- .../systemui/user/UserSwitcherActivity.kt | 4 +- .../systemui/util/LifecycleActivity.kt | 72 ------------------- .../systemui/wallet/ui/WalletActivity.java | 7 +- 8 files changed, 16 insertions(+), 88 deletions(-) delete mode 100644 packages/SystemUI/src/com/android/systemui/util/LifecycleActivity.kt diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsEditingActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsEditingActivity.kt index f611c3ef966da..5e8ce6db971c2 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsEditingActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsEditingActivity.kt @@ -25,6 +25,7 @@ import android.view.ViewGroup import android.view.ViewStub import android.widget.Button import android.widget.TextView +import androidx.activity.ComponentActivity import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView @@ -36,7 +37,6 @@ import com.android.systemui.controls.controller.StructureInfo import com.android.systemui.controls.ui.ControlsActivity import com.android.systemui.controls.ui.ControlsUiController import com.android.systemui.settings.CurrentUserTracker -import com.android.systemui.util.LifecycleActivity import javax.inject.Inject /** @@ -47,7 +47,7 @@ class ControlsEditingActivity @Inject constructor( private val broadcastDispatcher: BroadcastDispatcher, private val customIconCache: CustomIconCache, private val uiController: ControlsUiController -) : LifecycleActivity() { +) : ComponentActivity() { companion object { private const val TAG = "ControlsEditingActivity" diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt index dca52a9678b95..be572c503bda7 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt @@ -32,6 +32,7 @@ import android.widget.Button import android.widget.FrameLayout import android.widget.TextView import android.widget.Toast +import androidx.activity.ComponentActivity import androidx.viewpager2.widget.ViewPager2 import com.android.systemui.Prefs import com.android.systemui.R @@ -44,7 +45,6 @@ import com.android.systemui.controls.ui.ControlsActivity import com.android.systemui.controls.ui.ControlsUiController import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.settings.CurrentUserTracker -import com.android.systemui.util.LifecycleActivity import java.text.Collator import java.util.concurrent.Executor import java.util.function.Consumer @@ -56,7 +56,7 @@ class ControlsFavoritingActivity @Inject constructor( private val listingController: ControlsListingController, private val broadcastDispatcher: BroadcastDispatcher, private val uiController: ControlsUiController -) : LifecycleActivity() { +) : ComponentActivity() { companion object { private const val TAG = "ControlsFavoritingActivity" diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt index 8ad5099dc42da..b26615fe47024 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt @@ -26,6 +26,7 @@ import android.view.ViewGroup import android.view.ViewStub import android.widget.Button import android.widget.TextView +import androidx.activity.ComponentActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver @@ -37,7 +38,6 @@ import com.android.systemui.controls.ui.ControlsUiController import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.settings.CurrentUserTracker -import com.android.systemui.util.LifecycleActivity import java.util.concurrent.Executor import javax.inject.Inject @@ -51,7 +51,7 @@ class ControlsProviderSelectorActivity @Inject constructor( private val controlsController: ControlsController, private val broadcastDispatcher: BroadcastDispatcher, private val uiController: ControlsUiController -) : LifecycleActivity() { +) : ComponentActivity() { companion object { private const val TAG = "ControlsProviderSelectorActivity" diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt index f9e7f0e921f32..b376455ee8156 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt @@ -30,6 +30,7 @@ import android.view.LayoutInflater import android.view.View import android.widget.ImageView import android.widget.TextView +import androidx.activity.ComponentActivity import com.android.systemui.R import com.android.systemui.broadcast.BroadcastDispatcher import com.android.systemui.controls.ControlsServiceInfo @@ -38,14 +39,13 @@ import com.android.systemui.controls.controller.ControlsController import com.android.systemui.controls.ui.RenderInfo import com.android.systemui.settings.CurrentUserTracker import com.android.systemui.statusbar.phone.SystemUIDialog -import com.android.systemui.util.LifecycleActivity import javax.inject.Inject open class ControlsRequestDialog @Inject constructor( private val controller: ControlsController, private val broadcastDispatcher: BroadcastDispatcher, private val controlsListingController: ControlsListingController -) : LifecycleActivity(), DialogInterface.OnClickListener, DialogInterface.OnCancelListener { +) : ComponentActivity(), DialogInterface.OnClickListener, DialogInterface.OnCancelListener { companion object { private const val TAG = "ControlsRequestDialog" diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt index 49f758405fbd1..77b65233c112e 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt @@ -25,11 +25,10 @@ import android.view.View import android.view.ViewGroup import android.view.WindowInsets import android.view.WindowInsets.Type - +import androidx.activity.ComponentActivity import com.android.systemui.R import com.android.systemui.broadcast.BroadcastDispatcher import com.android.systemui.controls.management.ControlsAnimations -import com.android.systemui.util.LifecycleActivity import javax.inject.Inject /** @@ -42,7 +41,7 @@ import javax.inject.Inject class ControlsActivity @Inject constructor( private val uiController: ControlsUiController, private val broadcastDispatcher: BroadcastDispatcher -) : LifecycleActivity() { +) : ComponentActivity() { private lateinit var parent: ViewGroup private lateinit var broadcastReceiver: BroadcastReceiver diff --git a/packages/SystemUI/src/com/android/systemui/user/UserSwitcherActivity.kt b/packages/SystemUI/src/com/android/systemui/user/UserSwitcherActivity.kt index 74d51112deeb3..80c55c0bad073 100644 --- a/packages/SystemUI/src/com/android/systemui/user/UserSwitcherActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/user/UserSwitcherActivity.kt @@ -35,6 +35,7 @@ import android.widget.AdapterView import android.widget.ArrayAdapter import android.widget.ImageView import android.widget.TextView +import androidx.activity.ComponentActivity import androidx.constraintlayout.helper.widget.Flow import com.android.internal.annotations.VisibleForTesting import com.android.internal.util.UserIcons @@ -51,7 +52,6 @@ import com.android.systemui.statusbar.policy.UserSwitcherController.BaseUserAdap import com.android.systemui.statusbar.policy.UserSwitcherController.USER_SWITCH_DISABLED_ALPHA import com.android.systemui.statusbar.policy.UserSwitcherController.USER_SWITCH_ENABLED_ALPHA import com.android.systemui.statusbar.policy.UserSwitcherController.UserRecord -import com.android.systemui.util.LifecycleActivity import javax.inject.Inject import kotlin.math.ceil @@ -68,7 +68,7 @@ class UserSwitcherActivity @Inject constructor( private val falsingManager: FalsingManager, private val userManager: UserManager, private val userTracker: UserTracker -) : LifecycleActivity() { +) : ComponentActivity() { private lateinit var parent: UserSwitcherRootView private lateinit var broadcastReceiver: BroadcastReceiver diff --git a/packages/SystemUI/src/com/android/systemui/util/LifecycleActivity.kt b/packages/SystemUI/src/com/android/systemui/util/LifecycleActivity.kt deleted file mode 100644 index e4b7a20aab37e..0000000000000 --- a/packages/SystemUI/src/com/android/systemui/util/LifecycleActivity.kt +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2019 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.util - -import android.app.Activity -import android.os.Bundle -import android.os.PersistableBundle -import androidx.lifecycle.LifecycleOwner -import com.android.settingslib.core.lifecycle.Lifecycle - -open class LifecycleActivity : Activity(), LifecycleOwner { - - private val lifecycle = Lifecycle(this) - - override fun getLifecycle() = lifecycle - - override fun onCreate(savedInstanceState: Bundle?) { - lifecycle.onAttach(this) - lifecycle.onCreate(savedInstanceState) - lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_CREATE) - super.onCreate(savedInstanceState) - } - - override fun onCreate( - savedInstanceState: Bundle?, - persistentState: PersistableBundle? - ) { - lifecycle.onAttach(this) - lifecycle.onCreate(savedInstanceState) - lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_CREATE) - super.onCreate(savedInstanceState, persistentState) - } - - override fun onStart() { - lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_START) - super.onStart() - } - - override fun onResume() { - lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_RESUME) - super.onResume() - } - - override fun onPause() { - lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_PAUSE) - super.onPause() - } - - override fun onStop() { - lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_STOP) - super.onStop() - } - - override fun onDestroy() { - lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_DESTROY) - super.onDestroy() - } -} \ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletActivity.java b/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletActivity.java index e3cd98996a41b..d03148cee3358 100644 --- a/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletActivity.java +++ b/packages/SystemUI/src/com/android/systemui/wallet/ui/WalletActivity.java @@ -32,7 +32,9 @@ import android.view.Window; import android.view.WindowManager; import android.widget.Toolbar; +import androidx.activity.ComponentActivity; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.android.internal.logging.UiEventLogger; import com.android.keyguard.KeyguardUpdateMonitor; @@ -48,7 +50,6 @@ import com.android.systemui.settings.UserTracker; import com.android.systemui.statusbar.phone.KeyguardDismissUtil; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.policy.KeyguardStateController; -import com.android.systemui.util.LifecycleActivity; import java.util.concurrent.Executor; @@ -57,7 +58,7 @@ import javax.inject.Inject; /** * Displays Wallet carousel screen inside an activity. */ -public class WalletActivity extends LifecycleActivity implements +public class WalletActivity extends ComponentActivity implements QuickAccessWalletClient.WalletServiceEventListener { private static final String TAG = "WalletActivity"; @@ -105,7 +106,7 @@ public class WalletActivity extends LifecycleActivity implements } @Override - protected void onCreate(Bundle savedInstanceState) { + protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);