Merge "Revert "Convert clipboard access to use new APIs"" into main
diff --git a/src/com/android/settings/privacy/ShowClipAccessNotificationPreferenceController.java b/src/com/android/settings/privacy/ShowClipAccessNotificationPreferenceController.java
index bd829b5..ad57073 100644
--- a/src/com/android/settings/privacy/ShowClipAccessNotificationPreferenceController.java
+++ b/src/com/android/settings/privacy/ShowClipAccessNotificationPreferenceController.java
@@ -19,6 +19,7 @@
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.provider.DeviceConfig;
+import android.provider.Settings;
 
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
@@ -37,25 +38,26 @@
 
     private static final String KEY_SHOW_CLIP_ACCESS_NOTIFICATION = "show_clip_access_notification";
 
-    private Preference mPreference;
-    private final ClipboardManager mClipboardManager;
     private final DeviceConfig.OnPropertiesChangedListener mDeviceConfigListener =
-            properties -> updateState(mPreference);
+            properties -> updateConfig();
+    private boolean mDefault;
+    private Preference mPreference;
 
     public ShowClipAccessNotificationPreferenceController(Context context) {
         super(context, KEY_SHOW_CLIP_ACCESS_NOTIFICATION);
-        mClipboardManager = context.getSystemService(ClipboardManager.class);
-        updateState(mPreference);
+        updateConfig();
     }
 
     @Override
     public boolean isChecked() {
-        return mClipboardManager.areClipboardAccessNotificationsEnabled();
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.CLIPBOARD_SHOW_ACCESS_NOTIFICATIONS, (mDefault ? 1 : 0)) != 0;
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        mClipboardManager.setClipboardAccessNotificationsEnabled(isChecked);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.CLIPBOARD_SHOW_ACCESS_NOTIFICATIONS, (isChecked ? 1 : 0));
         return true;
     }
 
@@ -92,4 +94,12 @@
     public void onStop() {
         DeviceConfig.removeOnPropertiesChangedListener(mDeviceConfigListener);
     }
+
+    private void updateConfig() {
+        mDefault = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_CLIPBOARD,
+                ClipboardManager.DEVICE_CONFIG_SHOW_ACCESS_NOTIFICATIONS,
+                ClipboardManager.DEVICE_CONFIG_DEFAULT_SHOW_ACCESS_NOTIFICATIONS);
+        updateState(mPreference);
+    }
+
 }