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

Commit 75c6078c authored by Srinath Sridharan's avatar Srinath Sridharan Committed by android-build-merger
Browse files

Merge \"Add a new API to improve VR thread scheduling.\" into nyc-mr1-dev

am: 5e261441

Change-Id: Ie7c734ca22abad05a4f0800a1dba9553eb7cbfef
parents 83a8bdb8 5e261441
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3705,6 +3705,7 @@ package android.app {
    method public void moveTaskToFront(int, int);
    method public void moveTaskToFront(int, int, android.os.Bundle);
    method public deprecated void restartPackage(java.lang.String);
    method public static void setVrThread(int);
    method public void setWatchHeapLimit(long);
    field public static final java.lang.String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT";
    field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
+1 −0
Original line number Diff line number Diff line
@@ -3841,6 +3841,7 @@ package android.app {
    method public void moveTaskToFront(int, int);
    method public void moveTaskToFront(int, int, android.os.Bundle);
    method public deprecated void restartPackage(java.lang.String);
    method public static void setVrThread(int);
    method public void setWatchHeapLimit(long);
    field public static final java.lang.String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT";
    field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
+1 −0
Original line number Diff line number Diff line
@@ -3705,6 +3705,7 @@ package android.app {
    method public void moveTaskToFront(int, int);
    method public void moveTaskToFront(int, int, android.os.Bundle);
    method public deprecated void restartPackage(java.lang.String);
    method public static void setVrThread(int);
    method public void setWatchHeapLimit(long);
    field public static final java.lang.String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT";
    field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
+18 −0
Original line number Diff line number Diff line
@@ -3624,6 +3624,24 @@ public class ActivityManager {
        }
    }

    /**
     * Enable more aggressive scheduling for latency-sensitive low-runtime VR threads. Only one
     * thread can be a VR thread in a process at a time, and that thread may be subject to
     * restrictions on the amount of time it can run.
     *
     * To reset the VR thread for an application, a tid of 0 can be passed.
     *
     * @see android.os.Process#myTid()
     * @param tid tid of the VR thread
     */
    public static void setVrThread(int tid) {
        try {
            ActivityManagerNative.getDefault().setVrThread(tid);
        } catch (RemoteException e) {
            // pass
        }
    }

    /**
     * The AppTask allows you to manage your own application's tasks.
     * See {@link android.app.ActivityManager#getAppTasks()}
+21 −0
Original line number Diff line number Diff line
@@ -2996,6 +2996,13 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
            reply.writeInt(result);
            return true;
        }
        case SET_VR_THREAD_TRANSACTION: {
            data.enforceInterface(IActivityManager.descriptor);
            final int tid = data.readInt();
            setVrThread(tid);
            reply.writeNoException();
            return true;
        }
        }

        return super.onTransact(code, data, reply, flags);
@@ -7031,5 +7038,19 @@ class ActivityManagerProxy implements IActivityManager
        return res;
    }

    @Override
    public void setVrThread(int tid)
            throws RemoteException {
        Parcel data = Parcel.obtain();
        Parcel reply = Parcel.obtain();
        data.writeInterfaceToken(IActivityManager.descriptor);
        data.writeInt(tid);
        mRemote.transact(SET_VR_THREAD_TRANSACTION, data, reply, 0);
        reply.readException();
        data.recycle();
        reply.recycle();
        return;
    }

    private IBinder mRemote;
}
Loading