Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c0276c0 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6686801 from 42aec517 to rvc-qpr1-release

Change-Id: I6d35b783f9d15dc5d8a4799b2a7f17364f8b5061
parents 53e551fd 42aec517
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import static com.android.quickstep.SysUINavigationMode.Mode.TWO_BUTTONS;
import static com.android.quickstep.util.ShelfPeekAnim.ShelfAnimState.HIDE;
import static com.android.quickstep.util.ShelfPeekAnim.ShelfAnimState.PEEK;
import static com.android.quickstep.views.RecentsView.UPDATE_SYSUI_FLAGS_THRESHOLD;
import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.ACTIVITY_TYPE_HOME;

import android.animation.Animator;
import android.animation.TimeInterpolator;
@@ -90,6 +91,7 @@ import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.InputConsumerController;
import com.android.systemui.shared.system.LatencyTrackerCompat;
import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
import com.android.systemui.shared.system.TaskInfoCompat;
import com.android.systemui.shared.system.TaskStackChangeListener;

/**
@@ -940,7 +942,8 @@ public abstract class BaseSwipeUpHandlerV2<T extends StatefulActivity<?>, Q exte
        @Override
        public void onActivityRestartAttempt(ActivityManager.RunningTaskInfo task,
                boolean homeTaskVisible, boolean clearedTask, boolean wasVisible) {
            if (task.taskId == mGestureState.getRunningTaskId()) {
            if (task.taskId == mGestureState.getRunningTaskId()
                    && TaskInfoCompat.getActivityType(task) != ACTIVITY_TYPE_HOME) {
                // Since this is an edge case, just cancel and relaunch with default activity
                // options (since we don't know if there's an associated app icon to launch from)
                endRunningWindowAnim(true /* cancel */);
@@ -1327,6 +1330,6 @@ public abstract class BaseSwipeUpHandlerV2<T extends StatefulActivity<?>, Q exte

    private static boolean isNotInRecents(RemoteAnimationTargetCompat app) {
        return app.isNotInRecents
                || app.activityType == RemoteAnimationTargetCompat.ACTIVITY_TYPE_HOME;
                || app.activityType == ACTIVITY_TYPE_HOME;
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -369,8 +369,10 @@ public class DeviceProfile {
        if (allAppsHasDifferentNumColumns()) {
            allAppsIconSizePx = ResourceUtils.pxFromDp(inv.allAppsIconSize, mInfo.metrics);
            allAppsIconTextSizePx = Utilities.pxFromSp(inv.allAppsIconTextSize, mInfo.metrics);
            allAppsCellHeightPx = getCellSize(inv.numAllAppsColumns, inv.numAllAppsColumns).y;
            allAppsIconDrawablePaddingPx = iconDrawablePaddingOriginalPx;
            // We use 4 below to ensure labels are closer to their corresponding icon.
            allAppsCellHeightPx = Math.round(allAppsIconSizePx + allAppsIconTextSizePx
                    + (4 * allAppsIconDrawablePaddingPx));
        } else {
            allAppsIconSizePx = iconSizePx;
            allAppsIconTextSizePx = iconTextSizePx;
+36 −7
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
import android.annotation.TargetApi;
import android.app.Fragment;
import android.appwidget.AppWidgetHostView;
import android.appwidget.AppWidgetProviderInfo;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
@@ -56,6 +57,7 @@ import com.android.launcher3.Hotseat;
import com.android.launcher3.InsettableFrameLayout;
import com.android.launcher3.InvariantDeviceProfile;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.LauncherAppWidgetProviderInfo;
import com.android.launcher3.LauncherModel;
import com.android.launcher3.LauncherSettings;
import com.android.launcher3.LauncherSettings.Favorites;
@@ -83,6 +85,7 @@ import com.android.launcher3.pm.InstallSessionHelper;
import com.android.launcher3.pm.UserCache;
import com.android.launcher3.uioverrides.PredictedAppIconInflater;
import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
import com.android.launcher3.util.ComponentKey;
import com.android.launcher3.util.IntArray;
import com.android.launcher3.util.MainThreadInitializedObject;
import com.android.launcher3.views.ActivityContext;
@@ -339,14 +342,33 @@ public class LauncherPreviewRenderer {
            addInScreenFromBind(folderIcon, info);
        }

        private void inflateAndAddWidgets(LauncherAppWidgetInfo info,
                Map<ComponentKey, AppWidgetProviderInfo> widgetProviderInfoMap) {
            if (widgetProviderInfoMap == null) {
                return;
            }
            AppWidgetProviderInfo providerInfo = widgetProviderInfoMap.get(
                    new ComponentKey(info.providerName, info.user));
            if (providerInfo == null) {
                return;
            }
            inflateAndAddWidgets(info, LauncherAppWidgetProviderInfo.fromProviderInfo(
                    getApplicationContext(), providerInfo));
        }

        private void inflateAndAddWidgets(LauncherAppWidgetInfo info, WidgetsModel widgetsModel) {
            WidgetItem widgetItem = widgetsModel.getWidgetProviderInfoByProviderName(
                    info.providerName);
            if (widgetItem == null) {
                return;
            }
            inflateAndAddWidgets(info, widgetItem.widgetInfo);
        }

        private void inflateAndAddWidgets(LauncherAppWidgetInfo info,
                LauncherAppWidgetProviderInfo providerInfo) {
            AppWidgetHostView view = new AppWidgetHostView(mContext);
            view.setAppWidget(-1, widgetItem.widgetInfo);
            view.setAppWidget(-1, providerInfo);
            view.updateAppWidget(null);
            view.setTag(info);
            addInScreenFromBind(view, info);
@@ -433,8 +455,13 @@ public class LauncherPreviewRenderer {
                    switch (itemInfo.itemType) {
                        case Favorites.ITEM_TYPE_APPWIDGET:
                        case Favorites.ITEM_TYPE_CUSTOM_APPWIDGET:
                            if (mMigrated) {
                                inflateAndAddWidgets((LauncherAppWidgetInfo) itemInfo,
                                        workspaceResult.mWidgetProvidersMap);
                            } else {
                                inflateAndAddWidgets((LauncherAppWidgetInfo) itemInfo,
                                        workspaceResult.mWidgetsModel);
                            }
                            break;
                        default:
                            break;
@@ -542,7 +569,7 @@ public class LauncherPreviewRenderer {
            }

            return new WorkspaceResult(mBgDataModel.workspaceItems, mBgDataModel.appWidgets,
                    mBgDataModel.cachedPredictedItems, mBgDataModel.widgetsModel);
                    mBgDataModel.cachedPredictedItems, mBgDataModel.widgetsModel, null);
        }
    }

@@ -569,9 +596,8 @@ public class LauncherPreviewRenderer {
        public WorkspaceResult call() throws Exception {
            List<ShortcutInfo> allShortcuts = new ArrayList<>();
            loadWorkspace(allShortcuts, LauncherSettings.Favorites.PREVIEW_CONTENT_URI);
            mBgDataModel.widgetsModel.update(mApp, null);
            return new WorkspaceResult(mBgDataModel.workspaceItems, mBgDataModel.appWidgets,
                    mBgDataModel.cachedPredictedItems, mBgDataModel.widgetsModel);
                    mBgDataModel.cachedPredictedItems, null, mWidgetProvidersMap);
        }
    }

@@ -593,14 +619,17 @@ public class LauncherPreviewRenderer {
        private final ArrayList<LauncherAppWidgetInfo> mAppWidgets;
        private final ArrayList<AppInfo> mCachedPredictedItems;
        private final WidgetsModel mWidgetsModel;
        private final Map<ComponentKey, AppWidgetProviderInfo> mWidgetProvidersMap;

        private WorkspaceResult(ArrayList<ItemInfo> workspaceItems,
                ArrayList<LauncherAppWidgetInfo> appWidgets,
                ArrayList<AppInfo> cachedPredictedItems, WidgetsModel widgetsModel) {
                ArrayList<AppInfo> cachedPredictedItems, WidgetsModel widgetsModel,
                Map<ComponentKey, AppWidgetProviderInfo> widgetProviderInfoMap) {
            mWorkspaceItems = workspaceItems;
            mAppWidgets = appWidgets;
            mCachedPredictedItems = cachedPredictedItems;
            mWidgetsModel = widgetsModel;
            mWidgetProvidersMap = widgetProviderInfoMap;
        }
    }
}
+6 −5
Original line number Diff line number Diff line
@@ -126,6 +126,8 @@ public class LoaderTask implements Runnable {

    private final UserManagerState mUserManagerState = new UserManagerState();

    protected Map<ComponentKey, AppWidgetProviderInfo> mWidgetProvidersMap;

    private boolean mStopped;

    public LoaderTask(LauncherAppState app, AllAppsList bgAllAppsList, BgDataModel dataModel,
@@ -342,8 +344,6 @@ public class LoaderTask implements Runnable {
                    contentResolver.query(contentUri, null, null, null, null), contentUri, mApp,
                    mUserManagerState);

            Map<ComponentKey, AppWidgetProviderInfo> widgetProvidersMap = null;

            try {
                final int appWidgetIdIndex = c.getColumnIndexOrThrow(
                        LauncherSettings.Favorites.APPWIDGET_ID);
@@ -650,10 +650,11 @@ public class LoaderTask implements Runnable {
                            final boolean wasProviderReady = !c.hasRestoreFlag(
                                    LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY);

                            if (widgetProvidersMap == null) {
                                widgetProvidersMap = WidgetManagerHelper.getAllProvidersMap(context);
                            if (mWidgetProvidersMap == null) {
                                mWidgetProvidersMap = WidgetManagerHelper.getAllProvidersMap(
                                        context);
                            }
                            final AppWidgetProviderInfo provider = widgetProvidersMap.get(
                            final AppWidgetProviderInfo provider = mWidgetProvidersMap.get(
                                    new ComponentKey(component, c.user));

                            final boolean isProviderReady = isValidProvider(provider);