summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zim <zezeozue@google.com> 2021-01-27 13:41:05 +0000
committer Zim <zezeozue@google.com> 2021-02-09 11:36:13 +0000
commit362d622e7eae2d33714757970ec203e0469ffd76 (patch)
treeb5e817401e64585c316fe5a8dd20658a7ab8aa93
parent005028d9259d34f30c9d4cbe8d224a788b8e558e (diff)
Setup AnrController for StorageManagerService
If transcoding is enabled, the StorageManagerService configures an AnrController to allow delaying the ANR dialog when apps are transcoding. In later cl, the actual delay will be delegated to the ExternalStorageService (MediaProvider). Test: Manual Bug: 170486601 Change-Id: Iafefba6a24cca1da7a73c5364f34893bf1868bea
-rw-r--r--services/core/java/com/android/server/StorageManagerService.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index 7d6515600c2a..1ad0176d3c5b 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -890,7 +890,7 @@ class StorageManagerService extends IStorageManager.Stub
ZramWriteback.scheduleZramWriteback(mContext);
}
- updateTranscodeEnabled();
+ configureTranscoding();
}
/**
@@ -922,7 +922,7 @@ class StorageManagerService extends IStorageManager.Stub
}
}
- private void updateTranscodeEnabled() {
+ private void configureTranscoding() {
// See MediaProvider TranscodeHelper#getBooleanProperty for more information
boolean transcodeEnabled = false;
boolean defaultValue = true;
@@ -935,6 +935,15 @@ class StorageManagerService extends IStorageManager.Stub
"transcode_enabled", defaultValue);
}
SystemProperties.set("sys.fuse.transcode_enabled", String.valueOf(transcodeEnabled));
+
+ if (transcodeEnabled) {
+ LocalServices.getService(ActivityManagerInternal.class)
+ .registerAnrController((packageName, uid) -> {
+ // TODO: Retrieve delay from ExternalStorageService that can check
+ // transcoding status
+ return SystemProperties.getInt("sys.fuse.transcode_anr_delay_ms", 0);
+ });
+ }
}
/**