Add more brightness config details to dumpsys
Allow client to add a description to a brightness
config and dump to dumpsys
Dump time and package name of system app that
set the last brightness config.
Bug: 71854421
Test: atest PersistentDataStoreTest
Test: manaual - check adb shell dumpsys display
Change-Id: I5ff0c0d3a4c5e30c9d4aa7eea850c7174ee20450
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index a55fec5..9f18045 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -29,6 +29,7 @@
import android.Manifest;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.AppOpsManager;
import android.content.Context;
@@ -1005,11 +1006,13 @@
}
private void setBrightnessConfigurationForUserInternal(
- @NonNull BrightnessConfiguration c, @UserIdInt int userId) {
+ @NonNull BrightnessConfiguration c, @UserIdInt int userId,
+ @Nullable String packageName) {
final int userSerial = getUserManager().getUserSerialNumber(userId);
synchronized (mSyncRoot) {
try {
- mPersistentDataStore.setBrightnessConfigurationForUser(c, userSerial);
+ mPersistentDataStore.setBrightnessConfigurationForUser(c, userSerial,
+ packageName);
} finally {
mPersistentDataStore.saveIfNeeded();
}
@@ -1833,7 +1836,7 @@
@Override // Binder call
public void setBrightnessConfigurationForUser(
- BrightnessConfiguration c, @UserIdInt int userId) {
+ BrightnessConfiguration c, @UserIdInt int userId, String packageName) {
mContext.enforceCallingOrSelfPermission(
Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS,
"Permission required to change the display's brightness configuration");
@@ -1843,10 +1846,13 @@
"Permission required to change the display brightness"
+ " configuration of another user");
}
+ if (packageName != null && !validatePackageName(getCallingUid(), packageName)) {
+ packageName = null;
+ }
Preconditions.checkNotNull(c);
final long token = Binder.clearCallingIdentity();
try {
- setBrightnessConfigurationForUserInternal(c, userId);
+ setBrightnessConfigurationForUserInternal(c, userId, packageName);
} finally {
Binder.restoreCallingIdentity(token);
}