Loading Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -298,7 +298,7 @@ LOCAL_PROGUARD_ENABLED := full LOCAL_PACKAGE_NAME := Launcher3GoIconRecents LOCAL_PRIVILEGED_MODULE := true LOCAL_PRODUCT_MODULE := true LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3Go Launcher3QuickStep Launcher3QuickStepGo LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3Go Launcher3QuickStep LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.launcher3 LOCAL_FULL_LIBS_MANIFEST_FILES := \ Loading go/quickstep/src/com/android/launcher3/uioverrides/RecentsUiFactory.java +2 −19 Original line number Diff line number Diff line Loading @@ -16,11 +16,6 @@ package com.android.launcher3.uioverrides; import static android.view.View.VISIBLE; import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY; import android.view.View; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherStateManager.StateHandler; Loading @@ -43,8 +38,6 @@ import java.util.ArrayList; public abstract class RecentsUiFactory { public static final boolean GO_LOW_RAM_RECENTS_ENABLED = true; // Scale recents takes before animating in private static final float RECENTS_PREPARE_SCALE = 1.33f; public static TouchController[] createTouchControllers(Launcher launcher) { ArrayList<TouchController> list = new ArrayList<>(); Loading Loading @@ -76,18 +69,6 @@ public abstract class RecentsUiFactory { return new RecentsViewStateController(launcher); } /** * Prepare the recents view to animate in. * * @param launcher the launcher activity */ public static void prepareToShowOverview(Launcher launcher) { View overview = launcher.getOverviewPanel(); if (overview.getVisibility() != VISIBLE) { SCALE_PROPERTY.set(overview, RECENTS_PREPARE_SCALE); } } /** * Clean-up logic that occurs when recents is no longer in use/visible. * Loading @@ -108,4 +89,6 @@ public abstract class RecentsUiFactory { public static RotationMode getRotationMode(DeviceProfile dp) { return RotationMode.NORMAL; } public static void clearSwipeSharedState(boolean finishAnimation) {} } go/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java +40 −0 Original line number Diff line number Diff line Loading @@ -16,15 +16,31 @@ package com.android.launcher3.uioverrides.states; import static android.view.View.VISIBLE; import static com.android.launcher3.LauncherAnimUtils.OVERVIEW_TRANSITION_MS; import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_OVERVIEW_FADE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_OVERVIEW_SCALE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_OVERVIEW_TRANSLATE_X; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_WORKSPACE_FADE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_WORKSPACE_SCALE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_WORKSPACE_TRANSLATE; import static com.android.launcher3.anim.Interpolators.ACCEL; import static com.android.launcher3.anim.Interpolators.DEACCEL_2; import static com.android.launcher3.anim.Interpolators.OVERSHOOT_1_2; import static com.android.launcher3.anim.Interpolators.OVERSHOOT_1_7; import static com.android.launcher3.states.RotationHelper.REQUEST_ROTATE; import android.view.View; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.anim.AnimatorSetBuilder; import com.android.launcher3.userevent.nano.LauncherLogProto; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.views.IconRecentsView; /** Loading @@ -32,6 +48,9 @@ import com.android.quickstep.views.IconRecentsView; */ public class OverviewState extends LauncherState { // Scale recents takes before animating in private static final float RECENTS_PREPARE_SCALE = 1.33f; private static final int STATE_FLAGS = FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED | FLAG_DISABLE_RESTORE | FLAG_OVERVIEW_UI | FLAG_DISABLE_ACCESSIBILITY; Loading Loading @@ -103,6 +122,27 @@ public class OverviewState extends LauncherState { return dp.allAppsCellHeightPx - dp.allAppsIconTextSizePx; } @Override public void prepareForAtomicAnimation(Launcher launcher, LauncherState fromState, AnimatorSetBuilder builder) { if (fromState == NORMAL && this == OVERVIEW) { if (SysUINavigationMode.getMode(launcher) == SysUINavigationMode.Mode.NO_BUTTON) { builder.setInterpolator(ANIM_WORKSPACE_SCALE, ACCEL); builder.setInterpolator(ANIM_WORKSPACE_TRANSLATE, ACCEL); } else { builder.setInterpolator(ANIM_WORKSPACE_SCALE, OVERSHOOT_1_2); } builder.setInterpolator(ANIM_WORKSPACE_FADE, OVERSHOOT_1_2); builder.setInterpolator(ANIM_OVERVIEW_SCALE, OVERSHOOT_1_2); builder.setInterpolator(ANIM_OVERVIEW_TRANSLATE_X, OVERSHOOT_1_7); builder.setInterpolator(ANIM_OVERVIEW_FADE, OVERSHOOT_1_2); View overview = launcher.getOverviewPanel(); if (overview.getVisibility() != VISIBLE) { SCALE_PROPERTY.set(overview, RECENTS_PREPARE_SCALE); } } } public static OverviewState newBackgroundState(int id) { return new OverviewState(id); Loading go/quickstep/src/com/android/quickstep/TouchInteractionService.java +43 −8 Original line number Diff line number Diff line Loading @@ -19,15 +19,21 @@ import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SYS import android.annotation.TargetApi; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.Region; import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.os.Process; import android.os.RemoteException; import android.util.Log; import android.view.MotionEvent; import com.android.launcher3.Utilities; import com.android.launcher3.compat.UserManagerCompat; import com.android.systemui.shared.recents.IOverviewProxy; import com.android.systemui.shared.recents.ISystemUiProxy; Loading @@ -37,7 +43,16 @@ import com.android.systemui.shared.recents.ISystemUiProxy; @TargetApi(Build.VERSION_CODES.O) public class TouchInteractionService extends Service { private static final String TAG = "TouchInteractionService"; private static final String TAG = "GoTouchInteractionService"; private boolean mIsUserUnlocked; private BroadcastReceiver mUserUnlockedReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (Intent.ACTION_USER_UNLOCKED.equals(intent.getAction())) { initWhenUserUnlocked(); } } }; private final IBinder mMyBinder = new IOverviewProxy.Stub() { Loading @@ -53,17 +68,21 @@ public class TouchInteractionService extends Service { @Override public void onOverviewToggle() { if (mIsUserUnlocked) { mOverviewCommandHelper.onOverviewToggle(); } } @Override public void onOverviewShown(boolean triggeredFromAltTab) { if (mIsUserUnlocked) { mOverviewCommandHelper.onOverviewShown(triggeredFromAltTab); } } @Override public void onOverviewHidden(boolean triggeredFromAltTab, boolean triggeredFromHomeKey) { if (triggeredFromAltTab && !triggeredFromHomeKey) { if (mIsUserUnlocked && triggeredFromAltTab && !triggeredFromHomeKey) { // onOverviewShownFromAltTab hides the overview and ends at the target app mOverviewCommandHelper.onOverviewHidden(); } Loading @@ -71,8 +90,10 @@ public class TouchInteractionService extends Service { @Override public void onTip(int actionType, int viewType) { if (mIsUserUnlocked) { mOverviewCommandHelper.onTip(actionType, viewType); } } @Override public void onAssistantAvailable(boolean available) { Loading Loading @@ -123,17 +144,31 @@ public class TouchInteractionService extends Service { @Override public void onCreate() { super.onCreate(); if (UserManagerCompat.getInstance(this).isUserUnlocked(Process.myUserHandle())) { initWhenUserUnlocked(); } else { mIsUserUnlocked = false; registerReceiver(mUserUnlockedReceiver, new IntentFilter(Intent.ACTION_USER_UNLOCKED)); } sConnected = true; } private void initWhenUserUnlocked() { mRecentsModel = RecentsModel.INSTANCE.get(this); mOverviewComponentObserver = new OverviewComponentObserver(this); mOverviewCommandHelper = new OverviewCommandHelper(this, mOverviewComponentObserver); sConnected = true; mIsUserUnlocked = true; Utilities.unregisterReceiverSafely(this, mUserUnlockedReceiver); } @Override public void onDestroy() { if (mIsUserUnlocked) { mOverviewComponentObserver.onDestroy(); } Utilities.unregisterReceiverSafely(this, mUserUnlockedReceiver); sConnected = false; super.onDestroy(); } Loading iconloaderlib/build.gradle +0 −16 Original line number Diff line number Diff line buildscript { repositories { mavenCentral() google() } dependencies { classpath GRADLE_CLASS_PATH } } apply plugin: 'com.android.library' android { Loading Loading @@ -44,12 +34,6 @@ android { } } repositories { mavenCentral() google() } dependencies { implementation "androidx.core:core:${ANDROID_X_VERSION}" } Loading
Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -298,7 +298,7 @@ LOCAL_PROGUARD_ENABLED := full LOCAL_PACKAGE_NAME := Launcher3GoIconRecents LOCAL_PRIVILEGED_MODULE := true LOCAL_PRODUCT_MODULE := true LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3Go Launcher3QuickStep Launcher3QuickStepGo LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3 Launcher3Go Launcher3QuickStep LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.launcher3 LOCAL_FULL_LIBS_MANIFEST_FILES := \ Loading
go/quickstep/src/com/android/launcher3/uioverrides/RecentsUiFactory.java +2 −19 Original line number Diff line number Diff line Loading @@ -16,11 +16,6 @@ package com.android.launcher3.uioverrides; import static android.view.View.VISIBLE; import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY; import android.view.View; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherStateManager.StateHandler; Loading @@ -43,8 +38,6 @@ import java.util.ArrayList; public abstract class RecentsUiFactory { public static final boolean GO_LOW_RAM_RECENTS_ENABLED = true; // Scale recents takes before animating in private static final float RECENTS_PREPARE_SCALE = 1.33f; public static TouchController[] createTouchControllers(Launcher launcher) { ArrayList<TouchController> list = new ArrayList<>(); Loading Loading @@ -76,18 +69,6 @@ public abstract class RecentsUiFactory { return new RecentsViewStateController(launcher); } /** * Prepare the recents view to animate in. * * @param launcher the launcher activity */ public static void prepareToShowOverview(Launcher launcher) { View overview = launcher.getOverviewPanel(); if (overview.getVisibility() != VISIBLE) { SCALE_PROPERTY.set(overview, RECENTS_PREPARE_SCALE); } } /** * Clean-up logic that occurs when recents is no longer in use/visible. * Loading @@ -108,4 +89,6 @@ public abstract class RecentsUiFactory { public static RotationMode getRotationMode(DeviceProfile dp) { return RotationMode.NORMAL; } public static void clearSwipeSharedState(boolean finishAnimation) {} }
go/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java +40 −0 Original line number Diff line number Diff line Loading @@ -16,15 +16,31 @@ package com.android.launcher3.uioverrides.states; import static android.view.View.VISIBLE; import static com.android.launcher3.LauncherAnimUtils.OVERVIEW_TRANSITION_MS; import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_OVERVIEW_FADE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_OVERVIEW_SCALE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_OVERVIEW_TRANSLATE_X; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_WORKSPACE_FADE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_WORKSPACE_SCALE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_WORKSPACE_TRANSLATE; import static com.android.launcher3.anim.Interpolators.ACCEL; import static com.android.launcher3.anim.Interpolators.DEACCEL_2; import static com.android.launcher3.anim.Interpolators.OVERSHOOT_1_2; import static com.android.launcher3.anim.Interpolators.OVERSHOOT_1_7; import static com.android.launcher3.states.RotationHelper.REQUEST_ROTATE; import android.view.View; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; import com.android.launcher3.anim.AnimatorSetBuilder; import com.android.launcher3.userevent.nano.LauncherLogProto; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.views.IconRecentsView; /** Loading @@ -32,6 +48,9 @@ import com.android.quickstep.views.IconRecentsView; */ public class OverviewState extends LauncherState { // Scale recents takes before animating in private static final float RECENTS_PREPARE_SCALE = 1.33f; private static final int STATE_FLAGS = FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED | FLAG_DISABLE_RESTORE | FLAG_OVERVIEW_UI | FLAG_DISABLE_ACCESSIBILITY; Loading Loading @@ -103,6 +122,27 @@ public class OverviewState extends LauncherState { return dp.allAppsCellHeightPx - dp.allAppsIconTextSizePx; } @Override public void prepareForAtomicAnimation(Launcher launcher, LauncherState fromState, AnimatorSetBuilder builder) { if (fromState == NORMAL && this == OVERVIEW) { if (SysUINavigationMode.getMode(launcher) == SysUINavigationMode.Mode.NO_BUTTON) { builder.setInterpolator(ANIM_WORKSPACE_SCALE, ACCEL); builder.setInterpolator(ANIM_WORKSPACE_TRANSLATE, ACCEL); } else { builder.setInterpolator(ANIM_WORKSPACE_SCALE, OVERSHOOT_1_2); } builder.setInterpolator(ANIM_WORKSPACE_FADE, OVERSHOOT_1_2); builder.setInterpolator(ANIM_OVERVIEW_SCALE, OVERSHOOT_1_2); builder.setInterpolator(ANIM_OVERVIEW_TRANSLATE_X, OVERSHOOT_1_7); builder.setInterpolator(ANIM_OVERVIEW_FADE, OVERSHOOT_1_2); View overview = launcher.getOverviewPanel(); if (overview.getVisibility() != VISIBLE) { SCALE_PROPERTY.set(overview, RECENTS_PREPARE_SCALE); } } } public static OverviewState newBackgroundState(int id) { return new OverviewState(id); Loading
go/quickstep/src/com/android/quickstep/TouchInteractionService.java +43 −8 Original line number Diff line number Diff line Loading @@ -19,15 +19,21 @@ import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SYS import android.annotation.TargetApi; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.Region; import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.os.Process; import android.os.RemoteException; import android.util.Log; import android.view.MotionEvent; import com.android.launcher3.Utilities; import com.android.launcher3.compat.UserManagerCompat; import com.android.systemui.shared.recents.IOverviewProxy; import com.android.systemui.shared.recents.ISystemUiProxy; Loading @@ -37,7 +43,16 @@ import com.android.systemui.shared.recents.ISystemUiProxy; @TargetApi(Build.VERSION_CODES.O) public class TouchInteractionService extends Service { private static final String TAG = "TouchInteractionService"; private static final String TAG = "GoTouchInteractionService"; private boolean mIsUserUnlocked; private BroadcastReceiver mUserUnlockedReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (Intent.ACTION_USER_UNLOCKED.equals(intent.getAction())) { initWhenUserUnlocked(); } } }; private final IBinder mMyBinder = new IOverviewProxy.Stub() { Loading @@ -53,17 +68,21 @@ public class TouchInteractionService extends Service { @Override public void onOverviewToggle() { if (mIsUserUnlocked) { mOverviewCommandHelper.onOverviewToggle(); } } @Override public void onOverviewShown(boolean triggeredFromAltTab) { if (mIsUserUnlocked) { mOverviewCommandHelper.onOverviewShown(triggeredFromAltTab); } } @Override public void onOverviewHidden(boolean triggeredFromAltTab, boolean triggeredFromHomeKey) { if (triggeredFromAltTab && !triggeredFromHomeKey) { if (mIsUserUnlocked && triggeredFromAltTab && !triggeredFromHomeKey) { // onOverviewShownFromAltTab hides the overview and ends at the target app mOverviewCommandHelper.onOverviewHidden(); } Loading @@ -71,8 +90,10 @@ public class TouchInteractionService extends Service { @Override public void onTip(int actionType, int viewType) { if (mIsUserUnlocked) { mOverviewCommandHelper.onTip(actionType, viewType); } } @Override public void onAssistantAvailable(boolean available) { Loading Loading @@ -123,17 +144,31 @@ public class TouchInteractionService extends Service { @Override public void onCreate() { super.onCreate(); if (UserManagerCompat.getInstance(this).isUserUnlocked(Process.myUserHandle())) { initWhenUserUnlocked(); } else { mIsUserUnlocked = false; registerReceiver(mUserUnlockedReceiver, new IntentFilter(Intent.ACTION_USER_UNLOCKED)); } sConnected = true; } private void initWhenUserUnlocked() { mRecentsModel = RecentsModel.INSTANCE.get(this); mOverviewComponentObserver = new OverviewComponentObserver(this); mOverviewCommandHelper = new OverviewCommandHelper(this, mOverviewComponentObserver); sConnected = true; mIsUserUnlocked = true; Utilities.unregisterReceiverSafely(this, mUserUnlockedReceiver); } @Override public void onDestroy() { if (mIsUserUnlocked) { mOverviewComponentObserver.onDestroy(); } Utilities.unregisterReceiverSafely(this, mUserUnlockedReceiver); sConnected = false; super.onDestroy(); } Loading
iconloaderlib/build.gradle +0 −16 Original line number Diff line number Diff line buildscript { repositories { mavenCentral() google() } dependencies { classpath GRADLE_CLASS_PATH } } apply plugin: 'com.android.library' android { Loading Loading @@ -44,12 +34,6 @@ android { } } repositories { mavenCentral() google() } dependencies { implementation "androidx.core:core:${ANDROID_X_VERSION}" }