diff options
author | Elliot Sisteron <elliotsisteron@google.com> | 2023-06-08 10:36:53 +0000 |
---|---|---|
committer | Elliot Sisteron <elliotsisteron@google.com> | 2023-06-08 16:13:49 +0000 |
commit | faf20cf1ac1f2a19221ce84a0dc9d337f2dd598a (patch) | |
tree | d01b078f1974bbbb8f9f402c65be26775a4bbbd3 /service | |
parent | 12ee4e41001227322fa0859d6487a6e2b1848e7e (diff) | |
download | Permission-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')
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, |