Loading core/java/android/app/ActivityThread.java +23 −5 Original line number Diff line number Diff line Loading @@ -2080,7 +2080,7 @@ public final class ActivityThread extends ClientTransactionHandler { @Override public final boolean queueIdle() { doGcIfNeeded(); nPurgePendingResources(); purgePendingResources(); return false; } } Loading @@ -2088,9 +2088,7 @@ public final class ActivityThread extends ClientTransactionHandler { final class PurgeIdler implements MessageQueue.IdleHandler { @Override public boolean queueIdle() { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "purgePendingResources"); nPurgePendingResources(); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); purgePendingResources(); return false; } } Loading Loading @@ -2460,13 +2458,17 @@ public final class ActivityThread extends ClientTransactionHandler { } void doGcIfNeeded() { doGcIfNeeded("bg"); } void doGcIfNeeded(String reason) { mGcIdlerScheduled = false; final long now = SystemClock.uptimeMillis(); //Slog.i(TAG, "**** WE MIGHT WANT TO GC: then=" + Binder.getLastGcTime() // + "m now=" + now); if ((BinderInternal.getLastGcTime()+MIN_TIME_BETWEEN_GCS) < now) { //Slog.i(TAG, "**** WE DO, WE DO WANT TO GC!"); BinderInternal.forceGc("bg"); BinderInternal.forceGc(reason); } } Loading Loading @@ -6006,6 +6008,16 @@ public final class ActivityThread extends ClientTransactionHandler { WindowManagerGlobal.getInstance().trimMemory(level); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); if (SystemProperties.getInt("debug.am.run_gc_trim_level", Integer.MAX_VALUE) <= level) { unscheduleGcIdler(); doGcIfNeeded("tm"); } if (SystemProperties.getInt("debug.am.run_mallopt_trim_level", Integer.MAX_VALUE) <= level) { unschedulePurgeIdler(); purgePendingResources(); } } private void setupGraphicsSupport(Context context) { Loading Loading @@ -7346,6 +7358,12 @@ public final class ActivityThread extends ClientTransactionHandler { throw new RuntimeException("Main thread loop unexpectedly exited"); } private void purgePendingResources() { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "purgePendingResources"); nPurgePendingResources(); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } // ------------------ Regular JNI ------------------------ private native void nPurgePendingResources(); private native void nDumpGraphicsInfo(FileDescriptor fd); Loading core/java/com/android/internal/policy/BackdropFrameRenderer.java +1 −1 Original line number Diff line number Diff line Loading @@ -380,7 +380,7 @@ public class BackdropFrameRenderer extends Thread implements Choreographer.Frame // don't want the navigation bar background be moving around when resizing in docked mode. // However, we need it for the transitions into/out of docked mode. if (mNavigationBarColor != null && fullscreen) { DecorView.getNavigationBarRect(width, height, stableInsets, systemInsets, mTmpRect); DecorView.getNavigationBarRect(width, height, stableInsets, systemInsets, mTmpRect, 1f); mNavigationBarColor.setBounds(mTmpRect); mNavigationBarColor.draw(canvas); } Loading core/java/com/android/internal/policy/DecorView.java +7 −4 Original line number Diff line number Diff line Loading @@ -1080,10 +1080,13 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind } public static void getNavigationBarRect(int canvasWidth, int canvasHeight, Rect stableInsets, Rect contentInsets, Rect outRect) { final int bottomInset = getColorViewBottomInset(stableInsets.bottom, contentInsets.bottom); final int leftInset = getColorViewLeftInset(stableInsets.left, contentInsets.left); final int rightInset = getColorViewLeftInset(stableInsets.right, contentInsets.right); Rect contentInsets, Rect outRect, float scale) { final int bottomInset = (int) (getColorViewBottomInset(stableInsets.bottom, contentInsets.bottom) * scale); final int leftInset = (int) (getColorViewLeftInset(stableInsets.left, contentInsets.left) * scale); final int rightInset = (int) (getColorViewLeftInset(stableInsets.right, contentInsets.right) * scale); final int size = getNavBarSize(bottomInset, rightInset, leftInset); if (isNavBarToRightEdge(bottomInset, rightInset)) { outRect.set(canvasWidth - size, 0, canvasWidth, canvasHeight); Loading core/res/res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -2787,6 +2787,9 @@ screen. --> <bool name="config_lowRamTaskSnapshotsAndRecents">false</bool> <!-- The amount to scale fullscreen snapshots for Overview and snapshot starting windows. --> <item name="config_fullTaskSnapshotScale" format="float" type="dimen">1.0</item> <!-- Determines whether recent tasks are provided to the user. Default device has recents property. If this is false, then the following recents config flags are ignored. --> <bool name="config_hasRecents">true</bool> Loading core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -355,6 +355,7 @@ <java-symbol type="bool" name="config_enableMultiUserUI"/> <java-symbol type="bool" name="config_enableNewAutoSelectNetworkUI"/> <java-symbol type="bool" name="config_disableUsbPermissionDialogs"/> <java-symbol type="dimen" name="config_fullTaskSnapshotScale" /> <java-symbol type="bool" name="config_lowRamTaskSnapshotsAndRecents" /> <java-symbol type="bool" name="config_hasRecents" /> <java-symbol type="string" name="config_recentsComponentName" /> Loading Loading
core/java/android/app/ActivityThread.java +23 −5 Original line number Diff line number Diff line Loading @@ -2080,7 +2080,7 @@ public final class ActivityThread extends ClientTransactionHandler { @Override public final boolean queueIdle() { doGcIfNeeded(); nPurgePendingResources(); purgePendingResources(); return false; } } Loading @@ -2088,9 +2088,7 @@ public final class ActivityThread extends ClientTransactionHandler { final class PurgeIdler implements MessageQueue.IdleHandler { @Override public boolean queueIdle() { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "purgePendingResources"); nPurgePendingResources(); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); purgePendingResources(); return false; } } Loading Loading @@ -2460,13 +2458,17 @@ public final class ActivityThread extends ClientTransactionHandler { } void doGcIfNeeded() { doGcIfNeeded("bg"); } void doGcIfNeeded(String reason) { mGcIdlerScheduled = false; final long now = SystemClock.uptimeMillis(); //Slog.i(TAG, "**** WE MIGHT WANT TO GC: then=" + Binder.getLastGcTime() // + "m now=" + now); if ((BinderInternal.getLastGcTime()+MIN_TIME_BETWEEN_GCS) < now) { //Slog.i(TAG, "**** WE DO, WE DO WANT TO GC!"); BinderInternal.forceGc("bg"); BinderInternal.forceGc(reason); } } Loading Loading @@ -6006,6 +6008,16 @@ public final class ActivityThread extends ClientTransactionHandler { WindowManagerGlobal.getInstance().trimMemory(level); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); if (SystemProperties.getInt("debug.am.run_gc_trim_level", Integer.MAX_VALUE) <= level) { unscheduleGcIdler(); doGcIfNeeded("tm"); } if (SystemProperties.getInt("debug.am.run_mallopt_trim_level", Integer.MAX_VALUE) <= level) { unschedulePurgeIdler(); purgePendingResources(); } } private void setupGraphicsSupport(Context context) { Loading Loading @@ -7346,6 +7358,12 @@ public final class ActivityThread extends ClientTransactionHandler { throw new RuntimeException("Main thread loop unexpectedly exited"); } private void purgePendingResources() { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "purgePendingResources"); nPurgePendingResources(); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } // ------------------ Regular JNI ------------------------ private native void nPurgePendingResources(); private native void nDumpGraphicsInfo(FileDescriptor fd); Loading
core/java/com/android/internal/policy/BackdropFrameRenderer.java +1 −1 Original line number Diff line number Diff line Loading @@ -380,7 +380,7 @@ public class BackdropFrameRenderer extends Thread implements Choreographer.Frame // don't want the navigation bar background be moving around when resizing in docked mode. // However, we need it for the transitions into/out of docked mode. if (mNavigationBarColor != null && fullscreen) { DecorView.getNavigationBarRect(width, height, stableInsets, systemInsets, mTmpRect); DecorView.getNavigationBarRect(width, height, stableInsets, systemInsets, mTmpRect, 1f); mNavigationBarColor.setBounds(mTmpRect); mNavigationBarColor.draw(canvas); } Loading
core/java/com/android/internal/policy/DecorView.java +7 −4 Original line number Diff line number Diff line Loading @@ -1080,10 +1080,13 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind } public static void getNavigationBarRect(int canvasWidth, int canvasHeight, Rect stableInsets, Rect contentInsets, Rect outRect) { final int bottomInset = getColorViewBottomInset(stableInsets.bottom, contentInsets.bottom); final int leftInset = getColorViewLeftInset(stableInsets.left, contentInsets.left); final int rightInset = getColorViewLeftInset(stableInsets.right, contentInsets.right); Rect contentInsets, Rect outRect, float scale) { final int bottomInset = (int) (getColorViewBottomInset(stableInsets.bottom, contentInsets.bottom) * scale); final int leftInset = (int) (getColorViewLeftInset(stableInsets.left, contentInsets.left) * scale); final int rightInset = (int) (getColorViewLeftInset(stableInsets.right, contentInsets.right) * scale); final int size = getNavBarSize(bottomInset, rightInset, leftInset); if (isNavBarToRightEdge(bottomInset, rightInset)) { outRect.set(canvasWidth - size, 0, canvasWidth, canvasHeight); Loading
core/res/res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -2787,6 +2787,9 @@ screen. --> <bool name="config_lowRamTaskSnapshotsAndRecents">false</bool> <!-- The amount to scale fullscreen snapshots for Overview and snapshot starting windows. --> <item name="config_fullTaskSnapshotScale" format="float" type="dimen">1.0</item> <!-- Determines whether recent tasks are provided to the user. Default device has recents property. If this is false, then the following recents config flags are ignored. --> <bool name="config_hasRecents">true</bool> Loading
core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -355,6 +355,7 @@ <java-symbol type="bool" name="config_enableMultiUserUI"/> <java-symbol type="bool" name="config_enableNewAutoSelectNetworkUI"/> <java-symbol type="bool" name="config_disableUsbPermissionDialogs"/> <java-symbol type="dimen" name="config_fullTaskSnapshotScale" /> <java-symbol type="bool" name="config_lowRamTaskSnapshotsAndRecents" /> <java-symbol type="bool" name="config_hasRecents" /> <java-symbol type="string" name="config_recentsComponentName" /> Loading