summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorElliot Sisteron <elliotsisteron@google.com>2023-06-08 10:36:53 +0000
committerElliot Sisteron <elliotsisteron@google.com>2023-06-08 16:13:49 +0000
commitfaf20cf1ac1f2a19221ce84a0dc9d337f2dd598a (patch)
treed01b078f1974bbbb8f9f402c65be26775a4bbbd3 /service
parent12ee4e41001227322fa0859d6487a6e2b1848e7e (diff)
downloadPermission-faf20cf1ac1f2a19221ce84a0dc9d337f2dd598a.tar.gz
Further refactoring of SafetyCenterResourcesContext.
Stop making it implement ContextWrapper, that's error-prone as it implies it has the Context from the resources APK as a base when in fact the base is the context passed in; and methods are overridden only partially. Also increase test coverage. Bug: 283100177 Test: atest CtsSafetyCenterTestCases Relnote: N/A Change-Id: I2925921de3de01633beacbbe713d46e9522f003b
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/safetycenter/DevicePolicyResources.java4
-rw-r--r--service/java/com/android/safetycenter/SafetyCenterConfigReader.java7
-rw-r--r--service/java/com/android/safetycenter/SafetyCenterService.java23
3 files changed, 17 insertions, 17 deletions
diff --git a/service/java/com/android/safetycenter/DevicePolicyResources.java b/service/java/com/android/safetycenter/DevicePolicyResources.java
index 25cab343f..2368425f7 100644
--- a/service/java/com/android/safetycenter/DevicePolicyResources.java
+++ b/service/java/com/android/safetycenter/DevicePolicyResources.java
@@ -50,7 +50,7 @@ final class DevicePolicyResources {
String safetySourceId,
@StringRes int workResId) {
return getEnterpriseString(
- safetyCenterResourcesContext,
+ safetyCenterResourcesContext.getResourcesApkContext(),
safetySourceId,
() -> safetyCenterResourcesContext.getString(workResId));
}
@@ -62,7 +62,7 @@ final class DevicePolicyResources {
static String getWorkProfilePausedString(
SafetyCenterResourcesContext safetyCenterResourcesContext) {
return getEnterpriseString(
- safetyCenterResourcesContext,
+ safetyCenterResourcesContext.getResourcesApkContext(),
WORK_PROFILE_PAUSED_TITLE,
() -> safetyCenterResourcesContext.getStringByName("work_profile_paused"));
}
diff --git a/service/java/com/android/safetycenter/SafetyCenterConfigReader.java b/service/java/com/android/safetycenter/SafetyCenterConfigReader.java
index 555c1db11..49417369a 100644
--- a/service/java/com/android/safetycenter/SafetyCenterConfigReader.java
+++ b/service/java/com/android/safetycenter/SafetyCenterConfigReader.java
@@ -226,18 +226,13 @@ public final class SafetyCenterConfigReader {
@Nullable
private SafetyCenterConfig loadSafetyCenterConfig() {
- Resources resources = mSafetyCenterResourcesContext.getResources();
- if (resources == null) {
- Log.e(TAG, "Cannot access Safety Center resources");
- return null;
- }
-
InputStream in = mSafetyCenterResourcesContext.getSafetyCenterConfig();
if (in == null) {
Log.e(TAG, "Cannot access Safety Center config file");
return null;
}
+ Resources resources = mSafetyCenterResourcesContext.getResources();
try {
SafetyCenterConfig safetyCenterConfig =
SafetyCenterConfigParser.parseXmlResource(in, resources);
diff --git a/service/java/com/android/safetycenter/SafetyCenterService.java b/service/java/com/android/safetycenter/SafetyCenterService.java
index 969c43ce6..4ce31b20d 100644
--- a/service/java/com/android/safetycenter/SafetyCenterService.java
+++ b/service/java/com/android/safetycenter/SafetyCenterService.java
@@ -230,10 +230,12 @@ public final class SafetyCenterService extends SystemService {
}
registerSafetyCenterEnabledListener();
+ SafetyCenterPullAtomCallback pullAtomCallback;
synchronized (mApiLock) {
- registerSafetyCenterPullAtomCallbackLocked();
+ pullAtomCallback = newSafetyCenterPullAtomCallbackLocked();
mNotificationChannels.createAllChannelsForAllUsers(getContext());
}
+ registerSafetyCenterPullAtomCallback(pullAtomCallback);
}
private void registerSafetyCenterEnabledListener() {
@@ -246,16 +248,19 @@ public final class SafetyCenterService extends SystemService {
}
@GuardedBy("mApiLock")
- private void registerSafetyCenterPullAtomCallbackLocked() {
+ private SafetyCenterPullAtomCallback newSafetyCenterPullAtomCallbackLocked() {
+ return new SafetyCenterPullAtomCallback(
+ getContext(),
+ mApiLock,
+ mSafetyCenterConfigReader,
+ mSafetyCenterDataFactory,
+ mSafetyCenterDataManager);
+ }
+
+ private void registerSafetyCenterPullAtomCallback(
+ SafetyCenterPullAtomCallback pullAtomCallback) {
StatsManager statsManager =
requireNonNull(getContext().getSystemService(StatsManager.class));
- SafetyCenterPullAtomCallback pullAtomCallback =
- new SafetyCenterPullAtomCallback(
- getContext(),
- mApiLock,
- mSafetyCenterConfigReader,
- mSafetyCenterDataFactory,
- mSafetyCenterDataManager);
statsManager.setPullAtomCallback(
SAFETY_STATE,
/* metadata= */ null,