Removing some dependencies on Activity
> Removing activtiy from overlay callbacks
> Removing usage on activtiyLifecycleCallbacks and managing the callbacks ourselves
Bug: 306225896
Test: Existing tests cover the lifecycle changes
Flag: N/A
Change-Id: I79941e364328eecdc8a72cac4d35b75d50a25319
diff --git a/src/com/android/launcher3/BaseDraggingActivity.java b/src/com/android/launcher3/BaseDraggingActivity.java
index 808cf70..f8ed4df 100644
--- a/src/com/android/launcher3/BaseDraggingActivity.java
+++ b/src/com/android/launcher3/BaseDraggingActivity.java
@@ -38,7 +38,6 @@
import com.android.launcher3.util.DisplayController.DisplayInfoChangeListener;
import com.android.launcher3.util.DisplayController.Info;
import com.android.launcher3.util.OnColorHintListener;
-import com.android.launcher3.util.RunnableList;
import com.android.launcher3.util.Themes;
import com.android.launcher3.util.TraceHelper;
import com.android.launcher3.util.WallpaperColorHints;
@@ -51,8 +50,6 @@
public abstract class BaseDraggingActivity extends BaseActivity
implements OnColorHintListener, DisplayInfoChangeListener {
- private static final String TAG = "BaseDraggingActivity";
-
// When starting an action mode, setting this tag will cause the action mode to be cancelled
// automatically when user interacts with the launcher.
public static final Object AUTO_CANCEL_ACTION_MODE = new Object();
@@ -60,8 +57,6 @@
private ActionMode mCurrentActionMode;
protected boolean mIsSafeModeEnabled;
- private Runnable mOnStartCallback;
- private final RunnableList mOnResumeCallbacks = new RunnableList();
private int mThemeRes = R.style.AppTheme;
@Override
@@ -81,16 +76,6 @@
}
}
- @Override
- protected void onResume() {
- super.onResume();
- mOnResumeCallbacks.executeAllAndClear();
- }
-
- public void addOnResumeCallback(Runnable callback) {
- mOnResumeCallbacks.add(callback);
- }
-
@MainThread
@Override
public void onColorHintsChanged(int colorHints) {
@@ -146,42 +131,24 @@
@NonNull
public ActivityOptionsWrapper getActivityLaunchOptions(View v, @Nullable ItemInfo item) {
ActivityOptionsWrapper wrapper = super.getActivityLaunchOptions(v, item);
- addOnResumeCallback(wrapper.onEndCallback::executeAllAndDestroy);
+ addEventCallback(EVENT_RESUMED, wrapper.onEndCallback::executeAllAndDestroy);
return wrapper;
}
@Override
public ActivityOptionsWrapper makeDefaultActivityOptions(int splashScreenStyle) {
ActivityOptionsWrapper wrapper = super.makeDefaultActivityOptions(splashScreenStyle);
- addOnResumeCallback(wrapper.onEndCallback::executeAllAndDestroy);
+ addEventCallback(EVENT_RESUMED, wrapper.onEndCallback::executeAllAndDestroy);
return wrapper;
}
@Override
- protected void onStart() {
- super.onStart();
-
- if (mOnStartCallback != null) {
- mOnStartCallback.run();
- mOnStartCallback = null;
- }
- }
-
- @Override
protected void onDestroy() {
super.onDestroy();
DisplayController.INSTANCE.get(this).removeChangeListener(this);
WallpaperColorHints.get(this).unregisterOnColorsChangedListener(this);
}
- public void runOnceOnStart(Runnable action) {
- mOnStartCallback = action;
- }
-
- public void clearRunOnceOnStartCallback() {
- mOnStartCallback = null;
- }
-
protected void onDeviceProfileInitiated() {
if (mDeviceProfile.isVerticalBarLayout()) {
mDeviceProfile.updateIsSeascape(this);