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

Commit fe855d12 authored by Winson Chung's avatar Winson Chung
Browse files

Fixing issue with recents not being hidden for translucent apps.

- When tapping home, we can't depend on the stack state to determine
  whether or not hide recents since there can be translucent windows
  above it.  In this case, we just dismiss recents directly since the
  receiver will only be registered while recents is visible.

Bug: 20110140

Change-Id: I6b796cc4cbd790aac9a0857549e34117adb808d8
parent 3aa16d76
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -316,16 +316,14 @@ public class Recents extends SystemUI

    void hideRecentsInternal(boolean triggeredFromAltTab, boolean triggeredFromHomeKey) {
        if (mBootCompleted) {
            ActivityManager.RunningTaskInfo topTask = mSystemServicesProxy.getTopMostTask();
            if (topTask != null && mSystemServicesProxy.isRecentsTopMost(topTask, null)) {
                // Notify recents to hide itself
            // Defer to the activity to handle hiding recents, if it handles it, then it must still
            // be visible
            Intent intent = createLocalBroadcastIntent(mContext, ACTION_HIDE_RECENTS_ACTIVITY);
            intent.putExtra(EXTRA_TRIGGERED_FROM_ALT_TAB, triggeredFromAltTab);
            intent.putExtra(EXTRA_TRIGGERED_FROM_HOME_KEY, triggeredFromHomeKey);
            mContext.sendBroadcastAsUser(intent, UserHandle.CURRENT);
        }
    }
    }

    /** Toggles the Recents activity. */
    @ProxyFromPrimaryToCurrentUser
+2 −2
Original line number Diff line number Diff line
@@ -134,9 +134,9 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView
                    dismissRecentsToFocusedTaskOrHome(false);
                } else if (intent.getBooleanExtra(Recents.EXTRA_TRIGGERED_FROM_HOME_KEY, false)) {
                    // Otherwise, dismiss Recents to Home
                    dismissRecentsToHome(true);
                    dismissRecentsToHomeRaw(true);
                } else {
                    // Do nothing, another activity is being launched on top of Recents
                    // Do nothing
                }
            } else if (action.equals(Recents.ACTION_TOGGLE_RECENTS_ACTIVITY)) {
                // If we are toggling Recents, then first unfilter any filtered stacks first
+1 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ public class RecentsAppWidgetHost extends AppWidgetHost {
    @Override
    protected void onProviderChanged(int appWidgetId, AppWidgetProviderInfo appWidgetInfo) {
        if (mCb == null) return;
        if (mContext == null) return;

        SystemServicesProxy ssp = RecentsTaskLoader.getInstance().getSystemServicesProxy();
        if (appWidgetId > -1 && appWidgetId == mConfig.searchBarAppWidgetId) {