diff --git a/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java b/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java index 59b637e1bd..549c65e6e0 100644 --- a/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java +++ b/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java @@ -595,8 +595,9 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag Runnable finishedCallback) { Handler handler = mLauncher.getWindow().getDecorView().getHandler(); postAtFrontOfQueueAsynchronously(handler, () -> { - if ((Utilities.getPrefs(mLauncher).getBoolean("pref_use_screenshot_animation", - true) && mLauncher.isInState(LauncherState.OVERVIEW)) + if ((Utilities.getPrefs(mLauncher) + .getBoolean("pref_use_screenshot_for_swipe_up", false) + && mLauncher.isInState(LauncherState.OVERVIEW)) || !isLauncherInSetOfOpeningTargets(targets)) { // We use a separate transition for Overview mode. And we can skip the // animation in cases where Launcher is not in the set of opening targets. diff --git a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java index ad40952d55..53eb910480 100644 --- a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java +++ b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java @@ -210,7 +210,7 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC } private boolean isUsingScreenShot() { - return Utilities.getPrefs(this).getBoolean("pref_use_screenshot_animation", true); + return Utilities.getPrefs(this).getBoolean("pref_use_screenshot_for_swipe_up", false); } /** diff --git a/res/values/config.xml b/res/values/config.xml index 3dddac22d8..065ad362ec 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -101,6 +101,9 @@ + + + diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 3fde58b3d8..f6abae8abd 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -294,10 +294,6 @@ public class Launcher extends BaseActivity } TraceHelper.beginSection("Launcher-onCreate"); - if (mLauncherCallbacks != null) { - mLauncherCallbacks.preOnCreate(); - } - WallpaperColorInfo wallpaperColorInfo = WallpaperColorInfo.getInstance(this); wallpaperColorInfo.setOnThemeChangeListener(this); overrideTheme(wallpaperColorInfo.isDark(), wallpaperColorInfo.supportsDarkText()); diff --git a/src/com/android/launcher3/LauncherCallbacks.java b/src/com/android/launcher3/LauncherCallbacks.java index ed7bf3de0b..35faaeac85 100644 --- a/src/com/android/launcher3/LauncherCallbacks.java +++ b/src/com/android/launcher3/LauncherCallbacks.java @@ -37,7 +37,6 @@ public interface LauncherCallbacks { * Activity life-cycle methods. These methods are triggered after * the code in the corresponding Launcher method is executed. */ - void preOnCreate(); void onCreate(Bundle savedInstanceState); void onResume(); void onStart(); diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index 98568e4363..138ea0f650 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -54,7 +54,6 @@ import com.android.launcher3.LauncherSettings.Favorites; import com.android.launcher3.LauncherSettings.WorkspaceScreens; import com.android.launcher3.compat.UserManagerCompat; import com.android.launcher3.config.FeatureFlags; -import com.android.launcher3.graphics.IconShapeOverride; import com.android.launcher3.logging.FileLog; import com.android.launcher3.model.DbDowngradeHelper; import com.android.launcher3.provider.LauncherDbUtils; @@ -116,11 +115,8 @@ public class LauncherProvider extends ContentProvider { mListenerHandler = new Handler(mListenerWrapper); // The content provider exists for the entire duration of the launcher main process and - // is the first component to get created. Initializing FileLog here ensures that it's - // always available in the main process. - FileLog.setDir(getContext().getApplicationContext().getFilesDir()); - IconShapeOverride.apply(getContext()); - SessionCommitReceiver.applyDefaultUserPrefs(getContext()); + // is the first component to get created. + MainProcessInitializer.initialize(getContext().getApplicationContext()); return true; } diff --git a/src/com/android/launcher3/MainProcessInitializer.java b/src/com/android/launcher3/MainProcessInitializer.java new file mode 100644 index 0000000000..462eadb344 --- /dev/null +++ b/src/com/android/launcher3/MainProcessInitializer.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2018 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.launcher3; + +import android.content.Context; + +import com.android.launcher3.graphics.IconShapeOverride; +import com.android.launcher3.logging.FileLog; + +/** + * Utility class to handle one time initializations of the main process + */ +public class MainProcessInitializer { + + public static void initialize(Context context) { + Utilities.getOverrideObject( + MainProcessInitializer.class, context, R.string.main_process_initializer_class) + .init(context); + } + + protected void init(Context context) { + FileLog.setDir(context.getApplicationContext().getFilesDir()); + IconShapeOverride.apply(context); + SessionCommitReceiver.applyDefaultUserPrefs(context); + } +}