Abstracting out state handler logic into base classes so that it can

also be used in different activity

Change-Id: Ic5e60b21e1429c71f1cd4e7041e70bf4fc9761b7
This commit is contained in:
Sunny Goyal
2020-05-08 13:37:58 -07:00
parent ed31f24dbf
commit 35e7d38681
27 changed files with 402 additions and 295 deletions

View File

@@ -30,7 +30,6 @@ import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.CancellationSignal;
import com.android.launcher3.LauncherStateManager.StateHandler;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.model.WellbeingModel;
import com.android.launcher3.popup.SystemShortcut;
@@ -38,6 +37,7 @@ import com.android.launcher3.proxy.ProxyActivityStarter;
import com.android.launcher3.proxy.StartActivityParams;
import com.android.launcher3.statehandlers.BackButtonAlphaHandler;
import com.android.launcher3.statehandlers.DepthController;
import com.android.launcher3.statemanager.StateManager.StateHandler;
import com.android.launcher3.uioverrides.RecentsViewStateController;
import com.android.launcher3.util.OnboardingPrefs;
import com.android.launcher3.util.UiThreadHelper;
@@ -153,6 +153,7 @@ public abstract class BaseQuickstepLauncher extends Launcher
@Override
protected void onDeferredResumed() {
super.onDeferredResumed();
if (mPendingActivityRequestCode != -1 && isInState(NORMAL)) {
// Remove any active ProxyActivityStarter task and send RESULT_CANCELED to Launcher.
onActivityResult(mPendingActivityRequestCode, RESULT_CANCELED, null);
@@ -194,7 +195,7 @@ public abstract class BaseQuickstepLauncher extends Launcher
}
@Override
protected StateHandler[] createStateHandlers() {
protected StateHandler<LauncherState>[] createStateHandlers() {
return new StateHandler[] {
getAllAppsController(),
getWorkspace(),
@@ -208,9 +209,8 @@ public abstract class BaseQuickstepLauncher extends Launcher
}
@Override
protected OnboardingPrefs createOnboardingPrefs(SharedPreferences sharedPrefs,
LauncherStateManager stateManager) {
return new QuickstepOnboardingPrefs(this, sharedPrefs, stateManager);
protected OnboardingPrefs createOnboardingPrefs(SharedPreferences sharedPrefs) {
return new QuickstepOnboardingPrefs(this, sharedPrefs);
}
@Override