diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/BaseActivity.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/InvariantDeviceProfile.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher3/folder/FolderShape.java | 29 |
3 files changed, 9 insertions, 27 deletions
diff --git a/src/com/android/launcher3/BaseActivity.java b/src/com/android/launcher3/BaseActivity.java index 1b953d4ae..5137774b8 100644 --- a/src/com/android/launcher3/BaseActivity.java +++ b/src/com/android/launcher3/BaseActivity.java @@ -226,7 +226,7 @@ public abstract class BaseActivity extends Activity /** * Used to set the override visibility state, used only to handle the transition home with the * recents animation. - * @see LauncherAppTransitionManagerImpl#getWallpaperOpenRunner() + * @see QuickstepAppTransitionManagerImpl#getWallpaperOpenRunner() */ public void addForceInvisibleFlag(@InvisibilityFlags int flag) { mForceInvisible |= flag; diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java index dafd5bb91..6582df2b7 100644 --- a/src/com/android/launcher3/InvariantDeviceProfile.java +++ b/src/com/android/launcher3/InvariantDeviceProfile.java @@ -36,6 +36,7 @@ import android.util.Xml; import android.view.Display; import android.view.WindowManager; +import com.android.launcher3.folder.FolderShape; import com.android.launcher3.util.ConfigMonitor; import com.android.launcher3.util.IntArray; import com.android.launcher3.util.MainThreadInitializedObject; @@ -285,6 +286,10 @@ public class InvariantDeviceProfile { !iconShapePath.equals(oldProfile.iconShapePath)) { changeFlags |= CHANGE_FLAG_ICON_PARAMS; } + if (!iconShapePath.equals(oldProfile.iconShapePath)) { + FolderShape.init(context); + } + apply(context, changeFlags); } diff --git a/src/com/android/launcher3/folder/FolderShape.java b/src/com/android/launcher3/folder/FolderShape.java index 4b06ddac8..61db6ffad 100644 --- a/src/com/android/launcher3/folder/FolderShape.java +++ b/src/com/android/launcher3/folder/FolderShape.java @@ -15,8 +15,6 @@ */ package com.android.launcher3.folder; -import static com.android.launcher3.Workspace.MAP_NO_RECURSE; - import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.FloatArrayEvaluator; @@ -43,9 +41,6 @@ import android.util.TypedValue; import android.util.Xml; import android.view.ViewOutlineProvider; -import com.android.launcher3.Launcher; -import com.android.launcher3.LauncherAppState; -import com.android.launcher3.MainThreadExecutor; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.anim.RoundedRectRevealOutlineProvider; @@ -358,7 +353,7 @@ public abstract class FolderShape { if (!Utilities.ATLEAST_OREO) { return; } - new MainThreadExecutor().execute(() -> pickShapeInBackground(context)); + pickBestShape(context); } private static FolderShape getShapeDefinition(String type, float radius) { @@ -410,7 +405,7 @@ public abstract class FolderShape { } @TargetApi(Build.VERSION_CODES.O) - protected static void pickShapeInBackground(Context context) { + protected static void pickBestShape(Context context) { // Pick any large size int size = 200; @@ -447,25 +442,7 @@ public abstract class FolderShape { } if (closestShape != null) { - FolderShape shape = closestShape; - new MainThreadExecutor().execute(() -> updateFolderShape(shape)); - } - } - - private static void updateFolderShape(FolderShape shape) { - sInstance = shape; - LauncherAppState app = LauncherAppState.getInstanceNoCreate(); - if (app == null) { - return; - } - Launcher launcher = (Launcher) app.getModel().getCallback(); - if (launcher != null) { - launcher.getWorkspace().mapOverItems(MAP_NO_RECURSE, (i, v) -> { - if (v instanceof FolderIcon) { - v.invalidate(); - } - return false; - }); + sInstance = closestShape; } } } |