Merge "Turn off automatic heap dump notifications in SysUI" into rvc-dev am: 194bf13842
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11893823 Change-Id: I493521ca2fceee43c084a1c31021f23a1215dd45
This commit is contained in:
@@ -477,7 +477,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
|
|||||||
|
|
||||||
tiles.addAll(Arrays.asList(defaultTileList.split(",")));
|
tiles.addAll(Arrays.asList(defaultTileList.split(",")));
|
||||||
if (Build.IS_DEBUGGABLE
|
if (Build.IS_DEBUGGABLE
|
||||||
&& GarbageMonitor.MemoryTile.ADD_TO_DEFAULT_ON_DEBUGGABLE_BUILDS) {
|
&& GarbageMonitor.ADD_MEMORY_TILE_TO_DEFAULT_ON_DEBUGGABLE_BUILDS) {
|
||||||
tiles.add(GarbageMonitor.MemoryTile.TILE_SPEC);
|
tiles.add(GarbageMonitor.MemoryTile.TILE_SPEC);
|
||||||
}
|
}
|
||||||
return tiles;
|
return tiles;
|
||||||
|
|||||||
@@ -62,23 +62,39 @@ import javax.inject.Inject;
|
|||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Suite of tools to periodically inspect the System UI heap and possibly prompt the user to
|
||||||
|
* capture heap dumps and report them. Includes the implementation of the "Dump SysUI Heap"
|
||||||
|
* quick settings tile.
|
||||||
*/
|
*/
|
||||||
@Singleton
|
@Singleton
|
||||||
public class GarbageMonitor implements Dumpable {
|
public class GarbageMonitor implements Dumpable {
|
||||||
private static final boolean LEAK_REPORTING_ENABLED =
|
// Feature switches
|
||||||
Build.IS_DEBUGGABLE
|
// ================
|
||||||
&& SystemProperties.getBoolean("debug.enable_leak_reporting", false);
|
|
||||||
private static final String FORCE_ENABLE_LEAK_REPORTING = "sysui_force_enable_leak_reporting";
|
|
||||||
|
|
||||||
private static final boolean HEAP_TRACKING_ENABLED = Build.IS_DEBUGGABLE;
|
// Whether to use TrackedGarbage to trigger LeakReporter. Off by default unless you set the
|
||||||
|
// appropriate sysprop on a userdebug device.
|
||||||
|
public static final boolean LEAK_REPORTING_ENABLED = Build.IS_DEBUGGABLE
|
||||||
|
&& SystemProperties.getBoolean("debug.enable_leak_reporting", false);
|
||||||
|
public static final String FORCE_ENABLE_LEAK_REPORTING = "sysui_force_enable_leak_reporting";
|
||||||
|
|
||||||
// whether to use ActivityManager.setHeapLimit
|
// Heap tracking: watch the current memory levels and update the MemoryTile if available.
|
||||||
private static final boolean ENABLE_AM_HEAP_LIMIT = Build.IS_DEBUGGABLE;
|
// On for all userdebug devices.
|
||||||
// heap limit value, in KB (overrides R.integer.watch_heap_limit)
|
public static final boolean HEAP_TRACKING_ENABLED = Build.IS_DEBUGGABLE;
|
||||||
|
|
||||||
|
// Tell QSTileHost.java to toss this into the default tileset?
|
||||||
|
public static final boolean ADD_MEMORY_TILE_TO_DEFAULT_ON_DEBUGGABLE_BUILDS = true;
|
||||||
|
|
||||||
|
// whether to use ActivityManager.setHeapLimit (and post a notification to the user asking
|
||||||
|
// to dump the heap). Off by default unless you set the appropriate sysprop on userdebug
|
||||||
|
private static final boolean ENABLE_AM_HEAP_LIMIT = Build.IS_DEBUGGABLE
|
||||||
|
&& SystemProperties.getBoolean("debug.enable_sysui_heap_limit", false);
|
||||||
|
|
||||||
|
// Tuning params
|
||||||
|
// =============
|
||||||
|
|
||||||
|
// threshold for setHeapLimit(), in KB (overrides R.integer.watch_heap_limit)
|
||||||
private static final String SETTINGS_KEY_AM_HEAP_LIMIT = "systemui_am_heap_limit";
|
private static final String SETTINGS_KEY_AM_HEAP_LIMIT = "systemui_am_heap_limit";
|
||||||
|
|
||||||
private static final String TAG = "GarbageMonitor";
|
|
||||||
|
|
||||||
private static final long GARBAGE_INSPECTION_INTERVAL =
|
private static final long GARBAGE_INSPECTION_INTERVAL =
|
||||||
15 * DateUtils.MINUTE_IN_MILLIS; // 15 min
|
15 * DateUtils.MINUTE_IN_MILLIS; // 15 min
|
||||||
private static final long HEAP_TRACK_INTERVAL = 1 * DateUtils.MINUTE_IN_MILLIS; // 1 min
|
private static final long HEAP_TRACK_INTERVAL = 1 * DateUtils.MINUTE_IN_MILLIS; // 1 min
|
||||||
@@ -89,6 +105,7 @@ public class GarbageMonitor implements Dumpable {
|
|||||||
|
|
||||||
private static final int GARBAGE_ALLOWANCE = 5;
|
private static final int GARBAGE_ALLOWANCE = 5;
|
||||||
|
|
||||||
|
private static final String TAG = "GarbageMonitor";
|
||||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||||
|
|
||||||
private final Handler mHandler;
|
private final Handler mHandler;
|
||||||
@@ -378,9 +395,6 @@ public class GarbageMonitor implements Dumpable {
|
|||||||
public static class MemoryTile extends QSTileImpl<QSTile.State> {
|
public static class MemoryTile extends QSTileImpl<QSTile.State> {
|
||||||
public static final String TILE_SPEC = "dbg:mem";
|
public static final String TILE_SPEC = "dbg:mem";
|
||||||
|
|
||||||
// Tell QSTileHost.java to toss this into the default tileset?
|
|
||||||
public static final boolean ADD_TO_DEFAULT_ON_DEBUGGABLE_BUILDS = true;
|
|
||||||
|
|
||||||
private final GarbageMonitor gm;
|
private final GarbageMonitor gm;
|
||||||
private final ActivityStarter mActivityStarter;
|
private final ActivityStarter mActivityStarter;
|
||||||
private ProcessMemInfo pmi;
|
private ProcessMemInfo pmi;
|
||||||
|
|||||||
Reference in New Issue
Block a user