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

Commit 9c604c7c authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

API for an Activity to enter picture-in-picture mode.

Bug: 25580820
Change-Id: I5c1bf17dd5dd92622458a61517bc9941e4ee5277
parent 0550f1b8
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -3374,6 +3374,7 @@ package android.app {
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTrackballEvent(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 dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public void enterPictureInPictureMode();
    method public android.view.View findViewById(int);
    method public android.view.View findViewById(int);
    method public void finish();
    method public void finish();
    method public void finishActivity(int);
    method public void finishActivity(int);
+1 −0
Original line number Original line Diff line number Diff line
@@ -3477,6 +3477,7 @@ package android.app {
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTrackballEvent(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 dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public void enterPictureInPictureMode();
    method public android.view.View findViewById(int);
    method public android.view.View findViewById(int);
    method public void finish();
    method public void finish();
    method public void finishActivity(int);
    method public void finishActivity(int);
+1 −0
Original line number Original line Diff line number Diff line
@@ -3374,6 +3374,7 @@ package android.app {
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTouchEvent(android.view.MotionEvent);
    method public boolean dispatchTrackballEvent(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 dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public void enterPictureInPictureMode();
    method public android.view.View findViewById(int);
    method public android.view.View findViewById(int);
    method public void finish();
    method public void finish();
    method public void finishActivity(int);
    method public void finishActivity(int);
+11 −0
Original line number Original line Diff line number Diff line
@@ -1781,6 +1781,17 @@ public class Activity extends ContextThemeWrapper
        return false;
        return false;
    }
    }


    /**
     * Puts the activity in picture-in-picture mode.
     * @see android.R.attr#supportsPictureInPicture
     */
    public void enterPictureInPictureMode() {
        try {
            ActivityManagerNative.getDefault().enterPictureInPictureMode(mToken);
        } catch (RemoteException e) {
        }
    }

    /**
    /**
     * Called by the system when the device configuration changes while your
     * Called by the system when the device configuration changes while your
     * activity is running.  Note that this will <em>only</em> be called if
     * activity is running.  Note that this will <em>only</em> be called if
+19 −0
Original line number Original line Diff line number Diff line
@@ -2759,6 +2759,13 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
            reply.writeInt(pipMode ? 1 : 0);
            reply.writeInt(pipMode ? 1 : 0);
            return true;
            return true;
        }
        }
        case ENTER_PICTURE_IN_PICTURE_MODE_TRANSACTION: {
            data.enforceInterface(IActivityManager.descriptor);
            final IBinder token = data.readStrongBinder();
            enterPictureInPictureMode(token);
            reply.writeNoException();
            return true;
        }
        }
        }


        return super.onTransact(code, data, reply, flags);
        return super.onTransact(code, data, reply, flags);
@@ -6433,5 +6440,17 @@ class ActivityManagerProxy implements IActivityManager
        return pipMode;
        return pipMode;
    }
    }


    @Override
    public void enterPictureInPictureMode(IBinder token) throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IActivityManager.descriptor);
        data.writeStrongBinder(token);
        mRemote.transact(ENTER_PICTURE_IN_PICTURE_MODE_TRANSACTION, data, reply, 0);
        reply.readException();
        data.recycle();
        reply.recycle();
    }

    private IBinder mRemote;
    private IBinder mRemote;
}
}
Loading