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

Commit 3abea008 authored by Evan Rosky's avatar Evan Rosky Committed by Android (Google) Code Review
Browse files

Merge "Use hierarchy focusability to pause the minimized tile" into rvc-dev

parents 3b117214 e84ef9ea
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -401,6 +401,7 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks,
                return;
            }
            mMinimized = minimized;
            WindowManagerProxy.applyPrimaryFocusable(mSplits, !mMinimized);
            mView.setMinimizedDockStack(minimized, getAnimDuration(), mHomeStackResizable);
            updateTouchable();
        });
@@ -504,6 +505,7 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks,
        final boolean wasMinimized = mMinimized;
        mMinimized = true;
        setHomeStackResizable(mSplits.mSecondary.isResizable());
        WindowManagerProxy.applyPrimaryFocusable(mSplits, false /* focusable */);
        if (!inSplitMode()) {
            // Wasn't in split-mode yet, so enter now.
            if (DEBUG) {
@@ -521,6 +523,9 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks,
    }

    void ensureNormalSplit() {
        if (mMinimized) {
            WindowManagerProxy.applyPrimaryFocusable(mSplits, true /* focusable */);
        }
        if (!inSplitMode()) {
            // Wasn't in split-mode, so enter now.
            if (DEBUG) {
+13 −0
Original line number Diff line number Diff line
@@ -292,10 +292,23 @@ public class WindowManagerProxy {
            for (int i = freeHomeAndRecents.size() - 1; i >= 0; --i) {
                wct.setBounds(freeHomeAndRecents.get(i).token, null);
            }
            // Reset focusable to true
            wct.setFocusable(tiles.mPrimary.token, true /* focusable */);
            ActivityTaskManager.getTaskOrganizerController().applyContainerTransaction(wct,
                    null /* organizer */);
        } catch (RemoteException e) {
            Log.w(TAG, "Failed to remove stack: " + e);
        }
    }

    static void applyPrimaryFocusable(SplitScreenTaskOrganizer splits, boolean focusable) {
        try {
            WindowContainerTransaction wct = new WindowContainerTransaction();
            wct.setFocusable(splits.mPrimary.token, focusable);
            ActivityTaskManager.getTaskOrganizerController().applyContainerTransaction(wct,
                    null /* organizer */);
        } catch (RemoteException e) {
            Log.w(TAG, "Error setting focusability: " + e);
        }
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -1202,8 +1202,8 @@ class ActivityStack extends Task {

    @Override
    boolean isFocusable() {
        return super.isFocusable() && !(inSplitScreenPrimaryWindowingMode()
                && mRootWindowContainer.mIsDockMinimized);
        // Special check for tile which isn't really in the hierarchy
        return mTile != null ? mTile.isFocusable() : super.isFocusable();
    }

    boolean isTopActivityFocusable() {
+0 −6
Original line number Diff line number Diff line
@@ -168,12 +168,6 @@ public abstract class ActivityTaskManagerInternal {
     */
    public abstract List<IBinder> getTopVisibleActivities();

    /**
     * Callback for window manager to let activity manager know that docked stack changes its
     * minimized state.
     */
    public abstract void notifyDockedStackMinimizedChanged(boolean minimized);

    /**
     * Notify listeners that contents are drawn for the first time on a single task display.
     *
+0 −7
Original line number Diff line number Diff line
@@ -6135,13 +6135,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
            }
        }

        @Override
        public void notifyDockedStackMinimizedChanged(boolean minimized) {
            synchronized (mGlobalLock) {
                mRootWindowContainer.setDockedStackMinimized(minimized);
            }
        }

        @Override
        public int startActivitiesAsPackage(String packageName, @Nullable String featureId,
                int userId, Intent[] intents, Bundle bOptions) {
Loading