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

Commit 2835db8b authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Removing duplicated code in Recents"

parents 2adb9586 b44c24fb
Loading
Loading
Loading
Loading
+24 −16
Original line number Diff line number Diff line
@@ -58,10 +58,10 @@ public class AlternateRecentsComponent {
                Resources res = mContext.getResources();
                float statusBarHeight = res.getDimensionPixelSize(
                        com.android.internal.R.dimen.status_bar_height);
                Bundle replyData = msg.getData().getParcelable("replyData");
                mSingleCountFirstTaskRect = replyData.getParcelable("singleCountTaskRect");
                Bundle replyData = msg.getData().getParcelable(KEY_CONFIGURATION_DATA);
                mSingleCountFirstTaskRect = replyData.getParcelable(KEY_SINGLE_TASK_STACK_RECT);
                mSingleCountFirstTaskRect.offset(0, (int) statusBarHeight);
                mMultipleCountFirstTaskRect = replyData.getParcelable("multipleCountTaskRect");
                mMultipleCountFirstTaskRect = replyData.getParcelable(KEY_MULTIPLE_TASK_STACK_RECT);
                mMultipleCountFirstTaskRect.offset(0, (int) statusBarHeight);
            }
        }
@@ -93,12 +93,20 @@ public class AlternateRecentsComponent {
        }
    }

    final static int MSG_UPDATE_FOR_CONFIGURATION = 0;
    final static int MSG_UPDATE_TASK_THUMBNAIL = 1;
    final static int MSG_PRELOAD_TASKS = 2;
    final static int MSG_CANCEL_PRELOAD_TASKS = 3;
    final static int MSG_CLOSE_RECENTS = 4;
    final static int MSG_TOGGLE_RECENTS = 5;
    final public static int MSG_UPDATE_FOR_CONFIGURATION = 0;
    final public static int MSG_UPDATE_TASK_THUMBNAIL = 1;
    final public static int MSG_PRELOAD_TASKS = 2;
    final public static int MSG_CANCEL_PRELOAD_TASKS = 3;
    final public static int MSG_CLOSE_RECENTS = 4;
    final public static int MSG_TOGGLE_RECENTS = 5;

    final public static String EXTRA_ANIMATING_WITH_THUMBNAIL = "recents.animatingWithThumbnail";
    final public static String KEY_CONFIGURATION_DATA = "recents.data.updateForConfiguration";
    final public static String KEY_WINDOW_RECT = "recents.windowRect";
    final public static String KEY_SYSTEM_INSETS = "recents.systemInsets";
    final public static String KEY_SINGLE_TASK_STACK_RECT = "recents.singleCountTaskRect";
    final public static String KEY_MULTIPLE_TASK_STACK_RECT = "recents.multipleCountTaskRect";


    final static int sMinToggleDelay = 425;

@@ -195,8 +203,8 @@ public class AlternateRecentsComponent {
            // Try and update the recents configuration
            try {
                Bundle data = new Bundle();
                data.putParcelable("windowRect", rect);
                data.putParcelable("systemInsets", new Rect(0, statusBarHeight, 0, 0));
                data.putParcelable(KEY_WINDOW_RECT, rect);
                data.putParcelable(KEY_SYSTEM_INSETS, new Rect(0, statusBarHeight, 0, 0));
                Message msg = Message.obtain(null, MSG_UPDATE_FOR_CONFIGURATION, 0, 0);
                msg.setData(data);
                msg.replyTo = mMessenger;
@@ -226,8 +234,7 @@ public class AlternateRecentsComponent {
                return null;
            }

            Bitmap thumbnail = ssp.getTaskThumbnail(t.persistentId);
            return thumbnail;
            return ssp.getTaskThumbnail(t.persistentId);
        }
        return null;
    }
@@ -365,12 +372,12 @@ public class AlternateRecentsComponent {

            ActivityOptions opts = ActivityOptions.makeThumbnailScaleDownAnimation(mStatusBarView,
                    thumbnail, taskRect.left, taskRect.top, null);
            startAlternateRecentsActivity(opts);
            startAlternateRecentsActivity(opts, true);
        } else {
            ActivityOptions opts = ActivityOptions.makeCustomAnimation(mContext,
                    R.anim.recents_from_launcher_enter,
                    R.anim.recents_from_launcher_exit);
            startAlternateRecentsActivity(opts);
            startAlternateRecentsActivity(opts, false);
        }

        Console.logTraceTime(Constants.DebugFlags.App.TimeRecentsStartup,
@@ -379,11 +386,12 @@ public class AlternateRecentsComponent {
    }

    /** Starts the recents activity */
    void startAlternateRecentsActivity(ActivityOptions opts) {
    void startAlternateRecentsActivity(ActivityOptions opts, boolean animatingWithThumbnail) {
        Intent intent = new Intent(sToggleRecentsAction);
        intent.setClassName(sRecentsPackage, sRecentsActivity);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        intent.putExtra(EXTRA_ANIMATING_WITH_THUMBNAIL, animatingWithThumbnail);
        if (opts != null) {
            mContext.startActivityAsUser(intent, opts.toBundle(), new UserHandle(
                    UserHandle.USER_CURRENT));
+2 −2
Original line number Diff line number Diff line
@@ -96,8 +96,8 @@ public class Constants {
        }

        public static class TaskView {
            public static final boolean AnimateFrontTaskIconOnEnterRecents = true;
            public static final boolean AnimateFrontTaskIconOnLeavingRecents = true;
            public static final boolean AnimateFrontTaskBarOnEnterRecents = true;
            public static final boolean AnimateFrontTaskBarOnLeavingRecents = true;
        }
    }
}
 No newline at end of file
+8 −3
Original line number Diff line number Diff line
@@ -73,7 +73,12 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView
    };

    /** Updates the set of recent tasks */
    void updateRecentsTasks() {
    void updateRecentsTasks(Intent launchIntent) {
        // Update the configuration based on the launch intent
        RecentsConfiguration config = RecentsConfiguration.getInstance();
        config.launchedWithThumbnailAnimation = launchIntent.getBooleanExtra(
                AlternateRecentsComponent.EXTRA_ANIMATING_WITH_THUMBNAIL, false);

        RecentsTaskLoader loader = RecentsTaskLoader.getInstance();
        SpaceNode root = loader.reload(this, Constants.Values.RecentsTaskLoader.PreloadFirstTasksCount);
        ArrayList<TaskStack> stacks = root.getStacks();
@@ -137,7 +142,7 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView
        setContentView(mContainerView);

        // Update the recent tasks
        updateRecentsTasks();
        updateRecentsTasks(getIntent());
    }

    @Override
@@ -157,7 +162,7 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView
        RecentsConfiguration.reinitialize(this);

        // Update the recent tasks
        updateRecentsTasks();
        updateRecentsTasks(intent);
    }

    @Override
+2 −0
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@ public class RecentsConfiguration {
    public int filteringNewViewsMinAnimDuration;
    public int taskBarEnterAnimDuration;

    public boolean launchedWithThumbnailAnimation;

    /** Private constructor */
    private RecentsConfiguration() {}

+11 −14
Original line number Diff line number Diff line
@@ -51,14 +51,14 @@ class SystemUIMessageHandler extends Handler {
        Context context = mContext.get();
        if (context == null) return;

        if (msg.what == RecentsService.MSG_UPDATE_RECENTS_FOR_CONFIGURATION) {
        if (msg.what == AlternateRecentsComponent.MSG_UPDATE_FOR_CONFIGURATION) {
            RecentsTaskLoader.initialize(context);
            RecentsConfiguration.reinitialize(context);

            try {
                Bundle data = msg.getData();
                Rect windowRect = (Rect) data.getParcelable("windowRect");
                Rect systemInsets = (Rect) data.getParcelable("systemInsets");
                Rect windowRect = data.getParcelable(AlternateRecentsComponent.KEY_WINDOW_RECT);
                Rect systemInsets = data.getParcelable(AlternateRecentsComponent.KEY_SYSTEM_INSETS);

                // Create a dummy task stack & compute the rect for the thumbnail to animate to
                TaskStack stack = new TaskStack(context);
@@ -73,7 +73,8 @@ class SystemUIMessageHandler extends Handler {
                tsv.computeRects(windowRect.width(), windowRect.height() - systemInsets.top, 0);
                tsv.boundScroll();
                transform = tsv.getStackTransform(0, tsv.getStackScroll());
                replyData.putParcelable("singleCountTaskRect", new Rect(transform.rect));
                replyData.putParcelable(AlternateRecentsComponent.KEY_SINGLE_TASK_STACK_RECT,
                        new Rect(transform.rect));

                // Also calculate the target task rect when there are multiple tasks
                stack.addTask(new Task());
@@ -81,19 +82,20 @@ class SystemUIMessageHandler extends Handler {
                tsv.setStackScrollRaw(Integer.MAX_VALUE);
                tsv.boundScroll();
                transform = tsv.getStackTransform(1, tsv.getStackScroll());
                replyData.putParcelable("multipleCountTaskRect", new Rect(transform.rect));
                replyData.putParcelable(AlternateRecentsComponent.KEY_MULTIPLE_TASK_STACK_RECT,
                        new Rect(transform.rect));

                data.putParcelable("replyData", replyData);
                data.putParcelable(AlternateRecentsComponent.KEY_CONFIGURATION_DATA, replyData);
                Message reply = Message.obtain(null,
                        RecentsService.MSG_UPDATE_RECENTS_FOR_CONFIGURATION, 0, 0);
                        AlternateRecentsComponent.MSG_UPDATE_FOR_CONFIGURATION, 0, 0);
                reply.setData(data);
                msg.replyTo.send(reply);
            } catch (RemoteException re) {
                re.printStackTrace();
            }
        } else if (msg.what == RecentsService.MSG_CLOSE_RECENTS) {
        } else if (msg.what == AlternateRecentsComponent.MSG_CLOSE_RECENTS) {
            // Do nothing
        } else if (msg.what == RecentsService.MSG_TOGGLE_RECENTS) {
        } else if (msg.what == AlternateRecentsComponent.MSG_TOGGLE_RECENTS) {
            // Send a broadcast to toggle recents
            Intent intent = new Intent(RecentsService.ACTION_TOGGLE_RECENTS_ACTIVITY);
            intent.setPackage(context.getPackageName());
@@ -113,11 +115,6 @@ public class RecentsService extends Service {
    final static String ACTION_FINISH_RECENTS_ACTIVITY = "action_finish_recents_activity";
    final static String ACTION_TOGGLE_RECENTS_ACTIVITY = "action_toggle_recents_activity";

    // XXX: This should be getting the message from recents definition
    final static int MSG_UPDATE_RECENTS_FOR_CONFIGURATION = 0;
    final static int MSG_CLOSE_RECENTS = 4;
    final static int MSG_TOGGLE_RECENTS = 5;

    Messenger mSystemUIMessenger = new Messenger(new SystemUIMessageHandler(this));

    @Override
Loading