diff options
| author | 2024-09-05 22:59:07 +0000 | |
|---|---|---|
| committer | 2024-09-06 00:48:20 +0000 | |
| commit | 4bddaa7618347ad008047d2adb3ffb1db214a723 (patch) | |
| tree | 3fc149de888b0de3bb3a01b686c4c76c84d88a4d | |
| parent | 02aebb4226738a3fe74fa96bd3d94c56e08c9f17 (diff) | |
Using SecureSettings to monitor settings on worker thread
Adjusting the SecureSettingsContentObserver to comply with the guidelines at go/register-observer-bg-migration.
Bug: 362737091
Test: atest com.android.systemui.accessibility
Flag: EXEMPT internal cleanup
Change-Id: Id6b24aa555fa4a25ec8f47a8b4d30301b52966cc
8 files changed, 30 insertions, 15 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityButtonModeObserver.java b/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityButtonModeObserver.java index 2c97d62d690e..4d5e717536f6 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityButtonModeObserver.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityButtonModeObserver.java @@ -28,6 +28,7 @@ import android.util.Log; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.settings.UserTracker; +import com.android.systemui.util.settings.SecureSettings; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -68,8 +69,9 @@ public class AccessibilityButtonModeObserver extends } @Inject - public AccessibilityButtonModeObserver(Context context, UserTracker userTracker) { - super(context, userTracker, Settings.Secure.ACCESSIBILITY_BUTTON_MODE); + public AccessibilityButtonModeObserver( + Context context, UserTracker userTracker, SecureSettings secureSettings) { + super(context, userTracker, secureSettings, Settings.Secure.ACCESSIBILITY_BUTTON_MODE); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityButtonTargetsObserver.java b/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityButtonTargetsObserver.java index 53a21b329594..1363b1c12332 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityButtonTargetsObserver.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityButtonTargetsObserver.java @@ -24,6 +24,7 @@ import androidx.annotation.Nullable; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.settings.UserTracker; +import com.android.systemui.util.settings.SecureSettings; import javax.inject.Inject; @@ -49,8 +50,9 @@ public class AccessibilityButtonTargetsObserver extends } @Inject - public AccessibilityButtonTargetsObserver(Context context, UserTracker userTracker) { - super(context, userTracker, Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS); + public AccessibilityButtonTargetsObserver( + Context context, UserTracker userTracker, SecureSettings secureSettings) { + super(context, userTracker, secureSettings, Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityGestureTargetsObserver.java b/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityGestureTargetsObserver.java index c94487848b81..736217a699fd 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityGestureTargetsObserver.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityGestureTargetsObserver.java @@ -24,6 +24,7 @@ import androidx.annotation.Nullable; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.settings.UserTracker; +import com.android.systemui.util.settings.SecureSettings; import javax.inject.Inject; @@ -49,8 +50,9 @@ public class AccessibilityGestureTargetsObserver extends } @Inject - public AccessibilityGestureTargetsObserver(Context context, UserTracker userTracker) { - super(context, userTracker, Settings.Secure.ACCESSIBILITY_GESTURE_TARGETS); + public AccessibilityGestureTargetsObserver( + Context context, UserTracker userTracker, SecureSettings secureSettings) { + super(context, userTracker, secureSettings, Settings.Secure.ACCESSIBILITY_GESTURE_TARGETS); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/SecureSettingsContentObserver.java b/packages/SystemUI/src/com/android/systemui/accessibility/SecureSettingsContentObserver.java index 326773fb5bef..c50cf85feccb 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/SecureSettingsContentObserver.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/SecureSettingsContentObserver.java @@ -28,6 +28,7 @@ import androidx.annotation.NonNull; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.settings.UserTracker; +import com.android.systemui.util.settings.SecureSettings; import java.util.ArrayList; import java.util.List; @@ -48,6 +49,7 @@ public abstract class SecureSettingsContentObserver<T> { private final UserTracker mUserTracker; @VisibleForTesting final ContentObserver mContentObserver; + private final SecureSettings mSecureSettings; private final String mKey; @@ -55,7 +57,7 @@ public abstract class SecureSettingsContentObserver<T> { final List<T> mListeners = new ArrayList<>(); protected SecureSettingsContentObserver(Context context, UserTracker userTracker, - String secureSettingsKey) { + SecureSettings secureSettings, String secureSettingsKey) { mKey = secureSettingsKey; mContentResolver = context.getContentResolver(); mUserTracker = userTracker; @@ -65,6 +67,7 @@ public abstract class SecureSettingsContentObserver<T> { updateValueChanged(); } }; + mSecureSettings = secureSettings; } /** @@ -80,9 +83,8 @@ public abstract class SecureSettingsContentObserver<T> { } if (mListeners.size() == 1) { - mContentResolver.registerContentObserver( - Settings.Secure.getUriFor(mKey), /* notifyForDescendants= */ - false, mContentObserver, UserHandle.USER_ALL); + mSecureSettings.registerContentObserverForUserAsync(Settings.Secure.getUriFor(mKey), + /* notifyForDescendants= */ false, mContentObserver, UserHandle.USER_ALL); } } @@ -97,7 +99,7 @@ public abstract class SecureSettingsContentObserver<T> { mListeners.remove(listener); if (mListeners.isEmpty()) { - mContentResolver.unregisterContentObserver(mContentObserver); + mSecureSettings.unregisterContentObserverAsync(mContentObserver); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityButtonModeObserverTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityButtonModeObserverTest.java index 4a5c1bed7b44..038ec406c3d1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityButtonModeObserverTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityButtonModeObserverTest.java @@ -32,12 +32,14 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.settings.UserTracker; +import com.android.systemui.util.settings.SecureSettings; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; @@ -66,7 +68,7 @@ public class AccessibilityButtonModeObserverTest extends SysuiTestCase { Settings.Secure.ACCESSIBILITY_BUTTON_MODE, Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR, MY_USER_ID); mAccessibilityButtonModeObserver = new AccessibilityButtonModeObserver(mContext, - mUserTracker); + mUserTracker, Mockito.mock(SecureSettings.class)); } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityButtonTargetsObserverTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityButtonTargetsObserverTest.java index a5a7a4a09227..f5649266d0a9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityButtonTargetsObserverTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityButtonTargetsObserverTest.java @@ -31,12 +31,14 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.settings.UserTracker; +import com.android.systemui.util.settings.SecureSettings; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; @@ -62,7 +64,7 @@ public class AccessibilityButtonTargetsObserverTest extends SysuiTestCase { public void setUp() { when(mUserTracker.getUserId()).thenReturn(MY_USER_ID); mAccessibilityButtonTargetsObserver = new AccessibilityButtonTargetsObserver(mContext, - mUserTracker); + mUserTracker, Mockito.mock(SecureSettings.class)); } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityGestureTargetsObserverTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityGestureTargetsObserverTest.java index ba990efd5162..afed12fb700b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityGestureTargetsObserverTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/AccessibilityGestureTargetsObserverTest.java @@ -31,12 +31,14 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.settings.UserTracker; +import com.android.systemui.util.settings.SecureSettings; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; @@ -62,7 +64,7 @@ public class AccessibilityGestureTargetsObserverTest extends SysuiTestCase { public void setUp() { when(mUserTracker.getUserId()).thenReturn(MY_USER_ID); mAccessibilityGestureTargetsObserver = new AccessibilityGestureTargetsObserver(mContext, - mUserTracker); + mUserTracker, Mockito.mock(SecureSettings.class)); } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/SecureSettingsContentObserverTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/SecureSettingsContentObserverTest.java index 9222fc2222be..1d88b904668c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/SecureSettingsContentObserverTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/SecureSettingsContentObserverTest.java @@ -27,6 +27,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.settings.UserTracker; +import com.android.systemui.util.settings.SecureSettings; import org.junit.Before; import org.junit.Test; @@ -72,7 +73,7 @@ public class SecureSettingsContentObserverTest extends SysuiTestCase { protected FakeSecureSettingsContentObserver(Context context, UserTracker userTracker, String secureSettingsKey) { - super(context, userTracker, secureSettingsKey); + super(context, userTracker, Mockito.mock(SecureSettings.class), secureSettingsKey); } @Override |