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

Commit ac945867 authored by Andrii Kulian's avatar Andrii Kulian Committed by Android (Google) Code Review
Browse files

Merge "Refactor usages of Picture In Picture and Multi Window (1/4)" into nyc-dev

parents 93cfef46 933076d8
Loading
Loading
Loading
Loading
+11 −10
Original line number Diff line number Diff line
@@ -3425,7 +3425,7 @@ package android.app {
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
    method public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public void enterPictureInPicture();
    method public void enterPictureInPictureMode();
    method public android.view.View findViewById(int);
    method public void finish();
    method public void finishActivity(int);
@@ -3465,15 +3465,16 @@ package android.app {
    method public android.view.Window getWindow();
    method public android.view.WindowManager getWindowManager();
    method public boolean hasWindowFocus();
    method public boolean inMultiWindow();
    method public boolean inPictureInPicture();
    method public void invalidateOptionsMenu();
    method public boolean isChangingConfigurations();
    method public final boolean isChild();
    method public boolean isDestroyed();
    method public boolean isFinishing();
    method public boolean isImmersive();
    method public boolean isInMultiWindowMode();
    method public boolean isInPictureInPictureMode();
    method public boolean isLocalVoiceInteractionSupported();
    method public boolean isOverlayWithDecorCaptionEnabled();
    method public boolean isTaskRoot();
    method public boolean isVoiceInteraction();
    method public boolean isVoiceInteractionRoot();
@@ -3520,7 +3521,7 @@ package android.app {
    method public void onLowMemory();
    method public boolean onMenuItemSelected(int, android.view.MenuItem);
    method public boolean onMenuOpened(int, android.view.Menu);
    method public void onMultiWindowChanged(boolean);
    method public void onMultiWindowModeChanged(boolean);
    method public boolean onNavigateUp();
    method public boolean onNavigateUpFromChild(android.app.Activity);
    method protected void onNewIntent(android.content.Intent);
@@ -3528,7 +3529,7 @@ package android.app {
    method public void onOptionsMenuClosed(android.view.Menu);
    method public void onPanelClosed(int, android.view.Menu);
    method protected void onPause();
    method public void onPictureInPictureChanged(boolean);
    method public void onPictureInPictureModeChanged(boolean);
    method protected void onPostCreate(android.os.Bundle);
    method public void onPostCreate(android.os.Bundle, android.os.PersistableBundle);
    method protected void onPostResume();
@@ -3566,7 +3567,6 @@ package android.app {
    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
    method public void openContextMenu(android.view.View);
    method public void openOptionsMenu();
    method public void overlayWithDecorCaption(boolean);
    method public void overridePendingTransition(int, int);
    method public void postponeEnterTransition();
    method public void recreate();
@@ -3595,6 +3595,7 @@ package android.app {
    method public void setImmersive(boolean);
    method public void setIntent(android.content.Intent);
    method public final void setMediaController(android.media.session.MediaController);
    method public void setOverlayWithDecorCaptionEnabled(boolean);
    method public final deprecated void setProgress(int);
    method public final deprecated void setProgressBarIndeterminate(boolean);
    method public final deprecated void setProgressBarIndeterminateVisibility(boolean);
@@ -4437,11 +4438,11 @@ package android.app {
    method public void onInflate(android.content.Context, android.util.AttributeSet, android.os.Bundle);
    method public deprecated void onInflate(android.app.Activity, android.util.AttributeSet, android.os.Bundle);
    method public void onLowMemory();
    method public void onMultiWindowChanged(boolean);
    method public void onMultiWindowModeChanged(boolean);
    method public boolean onOptionsItemSelected(android.view.MenuItem);
    method public void onOptionsMenuClosed(android.view.Menu);
    method public void onPause();
    method public void onPictureInPictureChanged(boolean);
    method public void onPictureInPictureModeChanged(boolean);
    method public void onPrepareOptionsMenu(android.view.Menu);
    method public void onRequestPermissionsResult(int, java.lang.String[], int[]);
    method public void onResume();
@@ -4522,11 +4523,11 @@ package android.app {
    method public void dispatchDestroy();
    method public void dispatchDestroyView();
    method public void dispatchLowMemory();
    method public void dispatchMultiWindowChanged(boolean);
    method public void dispatchMultiWindowModeChanged(boolean);
    method public boolean dispatchOptionsItemSelected(android.view.MenuItem);
    method public void dispatchOptionsMenuClosed(android.view.Menu);
    method public void dispatchPause();
    method public void dispatchPictureInPictureChanged(boolean);
    method public void dispatchPictureInPictureModeChanged(boolean);
    method public boolean dispatchPrepareOptionsMenu(android.view.Menu);
    method public void dispatchResume();
    method public void dispatchStart();
+11 −10
Original line number Diff line number Diff line
@@ -3540,7 +3540,7 @@ package android.app {
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
    method public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public void enterPictureInPicture();
    method public void enterPictureInPictureMode();
    method public android.view.View findViewById(int);
    method public void finish();
    method public void finishActivity(int);
@@ -3580,8 +3580,6 @@ package android.app {
    method public android.view.Window getWindow();
    method public android.view.WindowManager getWindowManager();
    method public boolean hasWindowFocus();
    method public boolean inMultiWindow();
    method public boolean inPictureInPicture();
    method public void invalidateOptionsMenu();
    method public boolean isBackgroundVisibleBehind();
    method public boolean isChangingConfigurations();
@@ -3589,7 +3587,10 @@ package android.app {
    method public boolean isDestroyed();
    method public boolean isFinishing();
    method public boolean isImmersive();
    method public boolean isInMultiWindowMode();
    method public boolean isInPictureInPictureMode();
    method public boolean isLocalVoiceInteractionSupported();
    method public boolean isOverlayWithDecorCaptionEnabled();
    method public boolean isTaskRoot();
    method public boolean isVoiceInteraction();
    method public boolean isVoiceInteractionRoot();
@@ -3637,7 +3638,7 @@ package android.app {
    method public void onLowMemory();
    method public boolean onMenuItemSelected(int, android.view.MenuItem);
    method public boolean onMenuOpened(int, android.view.Menu);
    method public void onMultiWindowChanged(boolean);
    method public void onMultiWindowModeChanged(boolean);
    method public boolean onNavigateUp();
    method public boolean onNavigateUpFromChild(android.app.Activity);
    method protected void onNewIntent(android.content.Intent);
@@ -3645,7 +3646,7 @@ package android.app {
    method public void onOptionsMenuClosed(android.view.Menu);
    method public void onPanelClosed(int, android.view.Menu);
    method protected void onPause();
    method public void onPictureInPictureChanged(boolean);
    method public void onPictureInPictureModeChanged(boolean);
    method protected void onPostCreate(android.os.Bundle);
    method public void onPostCreate(android.os.Bundle, android.os.PersistableBundle);
    method protected void onPostResume();
@@ -3683,7 +3684,6 @@ package android.app {
    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
    method public void openContextMenu(android.view.View);
    method public void openOptionsMenu();
    method public void overlayWithDecorCaption(boolean);
    method public void overridePendingTransition(int, int);
    method public void postponeEnterTransition();
    method public void recreate();
@@ -3712,6 +3712,7 @@ package android.app {
    method public void setImmersive(boolean);
    method public void setIntent(android.content.Intent);
    method public final void setMediaController(android.media.session.MediaController);
    method public void setOverlayWithDecorCaptionEnabled(boolean);
    method public final deprecated void setProgress(int);
    method public final deprecated void setProgressBarIndeterminate(boolean);
    method public final deprecated void setProgressBarIndeterminateVisibility(boolean);
@@ -4569,11 +4570,11 @@ package android.app {
    method public void onInflate(android.content.Context, android.util.AttributeSet, android.os.Bundle);
    method public deprecated void onInflate(android.app.Activity, android.util.AttributeSet, android.os.Bundle);
    method public void onLowMemory();
    method public void onMultiWindowChanged(boolean);
    method public void onMultiWindowModeChanged(boolean);
    method public boolean onOptionsItemSelected(android.view.MenuItem);
    method public void onOptionsMenuClosed(android.view.Menu);
    method public void onPause();
    method public void onPictureInPictureChanged(boolean);
    method public void onPictureInPictureModeChanged(boolean);
    method public void onPrepareOptionsMenu(android.view.Menu);
    method public void onRequestPermissionsResult(int, java.lang.String[], int[]);
    method public void onResume();
@@ -4654,11 +4655,11 @@ package android.app {
    method public void dispatchDestroy();
    method public void dispatchDestroyView();
    method public void dispatchLowMemory();
    method public void dispatchMultiWindowChanged(boolean);
    method public void dispatchMultiWindowModeChanged(boolean);
    method public boolean dispatchOptionsItemSelected(android.view.MenuItem);
    method public void dispatchOptionsMenuClosed(android.view.Menu);
    method public void dispatchPause();
    method public void dispatchPictureInPictureChanged(boolean);
    method public void dispatchPictureInPictureModeChanged(boolean);
    method public boolean dispatchPrepareOptionsMenu(android.view.Menu);
    method public void dispatchResume();
    method public void dispatchStart();
+11 −10
Original line number Diff line number Diff line
@@ -3425,7 +3425,7 @@ package android.app {
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
    method public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public void enterPictureInPicture();
    method public void enterPictureInPictureMode();
    method public android.view.View findViewById(int);
    method public void finish();
    method public void finishActivity(int);
@@ -3465,15 +3465,16 @@ package android.app {
    method public android.view.Window getWindow();
    method public android.view.WindowManager getWindowManager();
    method public boolean hasWindowFocus();
    method public boolean inMultiWindow();
    method public boolean inPictureInPicture();
    method public void invalidateOptionsMenu();
    method public boolean isChangingConfigurations();
    method public final boolean isChild();
    method public boolean isDestroyed();
    method public boolean isFinishing();
    method public boolean isImmersive();
    method public boolean isInMultiWindowMode();
    method public boolean isInPictureInPictureMode();
    method public boolean isLocalVoiceInteractionSupported();
    method public boolean isOverlayWithDecorCaptionEnabled();
    method public boolean isTaskRoot();
    method public boolean isVoiceInteraction();
    method public boolean isVoiceInteractionRoot();
@@ -3520,7 +3521,7 @@ package android.app {
    method public void onLowMemory();
    method public boolean onMenuItemSelected(int, android.view.MenuItem);
    method public boolean onMenuOpened(int, android.view.Menu);
    method public void onMultiWindowChanged(boolean);
    method public void onMultiWindowModeChanged(boolean);
    method public boolean onNavigateUp();
    method public boolean onNavigateUpFromChild(android.app.Activity);
    method protected void onNewIntent(android.content.Intent);
@@ -3528,7 +3529,7 @@ package android.app {
    method public void onOptionsMenuClosed(android.view.Menu);
    method public void onPanelClosed(int, android.view.Menu);
    method protected void onPause();
    method public void onPictureInPictureChanged(boolean);
    method public void onPictureInPictureModeChanged(boolean);
    method protected void onPostCreate(android.os.Bundle);
    method public void onPostCreate(android.os.Bundle, android.os.PersistableBundle);
    method protected void onPostResume();
@@ -3566,7 +3567,6 @@ package android.app {
    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
    method public void openContextMenu(android.view.View);
    method public void openOptionsMenu();
    method public void overlayWithDecorCaption(boolean);
    method public void overridePendingTransition(int, int);
    method public void postponeEnterTransition();
    method public void recreate();
@@ -3595,6 +3595,7 @@ package android.app {
    method public void setImmersive(boolean);
    method public void setIntent(android.content.Intent);
    method public final void setMediaController(android.media.session.MediaController);
    method public void setOverlayWithDecorCaptionEnabled(boolean);
    method public final deprecated void setProgress(int);
    method public final deprecated void setProgressBarIndeterminate(boolean);
    method public final deprecated void setProgressBarIndeterminateVisibility(boolean);
@@ -4437,11 +4438,11 @@ package android.app {
    method public void onInflate(android.content.Context, android.util.AttributeSet, android.os.Bundle);
    method public deprecated void onInflate(android.app.Activity, android.util.AttributeSet, android.os.Bundle);
    method public void onLowMemory();
    method public void onMultiWindowChanged(boolean);
    method public void onMultiWindowModeChanged(boolean);
    method public boolean onOptionsItemSelected(android.view.MenuItem);
    method public void onOptionsMenuClosed(android.view.Menu);
    method public void onPause();
    method public void onPictureInPictureChanged(boolean);
    method public void onPictureInPictureModeChanged(boolean);
    method public void onPrepareOptionsMenu(android.view.Menu);
    method public void onRequestPermissionsResult(int, java.lang.String[], int[]);
    method public void onResume();
@@ -4522,11 +4523,11 @@ package android.app {
    method public void dispatchDestroy();
    method public void dispatchDestroyView();
    method public void dispatchLowMemory();
    method public void dispatchMultiWindowChanged(boolean);
    method public void dispatchMultiWindowModeChanged(boolean);
    method public boolean dispatchOptionsItemSelected(android.view.MenuItem);
    method public void dispatchOptionsMenuClosed(android.view.Menu);
    method public void dispatchPause();
    method public void dispatchPictureInPictureChanged(boolean);
    method public void dispatchPictureInPictureModeChanged(boolean);
    method public boolean dispatchPrepareOptionsMenu(android.view.Menu);
    method public void dispatchResume();
    method public void dispatchStart();
+28 −23
Original line number Diff line number Diff line
@@ -51,12 +51,7 @@ import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.InsetDrawable;
import android.graphics.drawable.LayerDrawable;
import android.graphics.drawable.ShapeDrawable;
import android.hardware.input.InputManager;
import android.media.AudioManager;
import android.media.session.MediaController;
@@ -121,7 +116,6 @@ import android.widget.Toolbar;
import com.android.internal.app.IVoiceInteractor;
import com.android.internal.app.ToolbarActionBar;
import com.android.internal.app.WindowDecorActionBar;
import com.android.internal.policy.DecorView;
import com.android.internal.policy.PhoneWindow;

import java.io.FileDescriptor;
@@ -1855,15 +1849,15 @@ public class Activity extends ContextThemeWrapper
     * visa-versa.
     * @see android.R.attr#resizeableActivity
     *
     * @param inMultiWindow True if the activity is in multi-window mode.
     * @param isInMultiWindowMode True if the activity is in multi-window mode.
     */
    @CallSuper
    public void onMultiWindowChanged(boolean inMultiWindow) {
    public void onMultiWindowModeChanged(boolean isInMultiWindowMode) {
        if (DEBUG_LIFECYCLE) Slog.v(TAG,
                "onMultiWindowChanged " + this + ": " + inMultiWindow);
        mFragments.dispatchMultiWindowChanged(inMultiWindow);
                "onMultiWindowModeChanged " + this + ": " + isInMultiWindowMode);
        mFragments.dispatchMultiWindowModeChanged(isInMultiWindowMode);
        if (mWindow != null) {
            mWindow.onMultiWindowChanged();
            mWindow.onMultiWindowModeChanged();
        }
    }

@@ -1873,9 +1867,9 @@ public class Activity extends ContextThemeWrapper
     *
     * @return True if the activity is in multi-window mode.
     */
    public boolean inMultiWindow() {
    public boolean isInMultiWindowMode() {
        try {
            return ActivityManagerNative.getDefault().inMultiWindow(mToken);
            return ActivityManagerNative.getDefault().isInMultiWindowMode(mToken);
        } catch (RemoteException e) {
        }
        return false;
@@ -1885,13 +1879,13 @@ public class Activity extends ContextThemeWrapper
     * Called by the system when the activity changes to and from picture-in-picture mode.
     * @see android.R.attr#supportsPictureInPicture
     *
     * @param inPictureInPicture True if the activity is in picture-in-picture mode.
     * @param isInPictureInPictureMode True if the activity is in picture-in-picture mode.
     */
    @CallSuper
    public void onPictureInPictureChanged(boolean inPictureInPicture) {
    public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
        if (DEBUG_LIFECYCLE) Slog.v(TAG,
                "onPictureInPictureChanged " + this + ": " + inPictureInPicture);
        mFragments.dispatchPictureInPictureChanged(inPictureInPicture);
                "onPictureInPictureModeChanged " + this + ": " + isInPictureInPictureMode);
        mFragments.dispatchPictureInPictureModeChanged(isInPictureInPictureMode);
    }

    /**
@@ -1900,9 +1894,9 @@ public class Activity extends ContextThemeWrapper
     *
     * @return True if the activity is in picture-in-picture mode.
     */
    public boolean inPictureInPicture() {
    public boolean isInPictureInPictureMode() {
        try {
            return ActivityManagerNative.getDefault().inPictureInPicture(mToken);
            return ActivityManagerNative.getDefault().isInPictureInPictureMode(mToken);
        } catch (RemoteException e) {
        }
        return false;
@@ -1912,9 +1906,9 @@ public class Activity extends ContextThemeWrapper
     * Puts the activity in picture-in-picture mode.
     * @see android.R.attr#supportsPictureInPicture
     */
    public void enterPictureInPicture() {
    public void enterPictureInPictureMode() {
        try {
            ActivityManagerNative.getDefault().enterPictureInPicture(mToken);
            ActivityManagerNative.getDefault().enterPictureInPictureMode(mToken);
        } catch (RemoteException e) {
        }
    }
@@ -6914,6 +6908,17 @@ public class Activity extends ContextThemeWrapper
        }
    }

    /**
     * Check whether the caption on freeform windows is displayed directly on the content.
     *
     * @return True if caption is displayed on content, false if it pushes the content down.
     *
     * @see {@link #setOverlayWithDecorCaptionEnabled(boolean)}
     */
    public boolean isOverlayWithDecorCaptionEnabled() {
        return mWindow.isOverlayWithDecorCaptionEnabled();
    }

    /**
     * Set whether the caption should displayed directly on the content rather than push it down.
     *
@@ -6921,8 +6926,8 @@ public class Activity extends ContextThemeWrapper
     * window of the activity. The caption is used to drag the window around and also shows
     * maximize and close action buttons.
     */
    public void overlayWithDecorCaption(boolean overlay) {
        mWindow.setOverlayDecorCaption(overlay);
    public void setOverlayWithDecorCaptionEnabled(boolean enabled) {
        mWindow.setOverlayWithDecorCaptionEnabled(enabled);
    }

    /**
+6 −6
Original line number Diff line number Diff line
@@ -2890,7 +2890,7 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
        case IN_MULTI_WINDOW_TRANSACTION: {
            data.enforceInterface(IActivityManager.descriptor);
            final IBinder token = data.readStrongBinder();
            final boolean inMultiWindow = inMultiWindow(token);
            final boolean inMultiWindow = isInMultiWindowMode(token);
            reply.writeNoException();
            reply.writeInt(inMultiWindow ? 1 : 0);
            return true;
@@ -2898,7 +2898,7 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
        case IN_PICTURE_IN_PICTURE_TRANSACTION: {
            data.enforceInterface(IActivityManager.descriptor);
            final IBinder token = data.readStrongBinder();
            final boolean inPip = inPictureInPicture(token);
            final boolean inPip = isInPictureInPictureMode(token);
            reply.writeNoException();
            reply.writeInt(inPip ? 1 : 0);
            return true;
@@ -2906,7 +2906,7 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
        case ENTER_PICTURE_IN_PICTURE_TRANSACTION: {
            data.enforceInterface(IActivityManager.descriptor);
            final IBinder token = data.readStrongBinder();
            enterPictureInPicture(token);
            enterPictureInPictureMode(token);
            reply.writeNoException();
            return true;
        }
@@ -6837,7 +6837,7 @@ class ActivityManagerProxy implements IActivityManager
    }

    @Override
    public boolean inMultiWindow(IBinder token) throws RemoteException {
    public boolean isInMultiWindowMode(IBinder token) throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IActivityManager.descriptor);
@@ -6851,7 +6851,7 @@ class ActivityManagerProxy implements IActivityManager
    }

    @Override
    public boolean inPictureInPicture(IBinder token) throws RemoteException {
    public boolean isInPictureInPictureMode(IBinder token) throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IActivityManager.descriptor);
@@ -6865,7 +6865,7 @@ class ActivityManagerProxy implements IActivityManager
    }

    @Override
    public void enterPictureInPicture(IBinder token) throws RemoteException {
    public void enterPictureInPictureMode(IBinder token) throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IActivityManager.descriptor);
Loading