Merge "Convert clipboard access to use new APIs" into main

This commit is contained in:
Nate Myren
2024-06-04 18:09:00 +00:00
committed by Android (Google) Code Review

View File

@@ -19,7 +19,6 @@ package com.android.settings.privacy;
import android.content.ClipboardManager; import android.content.ClipboardManager;
import android.content.Context; import android.content.Context;
import android.provider.DeviceConfig; import android.provider.DeviceConfig;
import android.provider.Settings;
import androidx.lifecycle.Lifecycle; import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.LifecycleObserver;
@@ -38,26 +37,25 @@ public class ShowClipAccessNotificationPreferenceController
private static final String KEY_SHOW_CLIP_ACCESS_NOTIFICATION = "show_clip_access_notification"; private static final String KEY_SHOW_CLIP_ACCESS_NOTIFICATION = "show_clip_access_notification";
private final DeviceConfig.OnPropertiesChangedListener mDeviceConfigListener =
properties -> updateConfig();
private boolean mDefault;
private Preference mPreference; private Preference mPreference;
private final ClipboardManager mClipboardManager;
private final DeviceConfig.OnPropertiesChangedListener mDeviceConfigListener =
properties -> updateState(mPreference);
public ShowClipAccessNotificationPreferenceController(Context context) { public ShowClipAccessNotificationPreferenceController(Context context) {
super(context, KEY_SHOW_CLIP_ACCESS_NOTIFICATION); super(context, KEY_SHOW_CLIP_ACCESS_NOTIFICATION);
updateConfig(); mClipboardManager = context.getSystemService(ClipboardManager.class);
updateState(mPreference);
} }
@Override @Override
public boolean isChecked() { public boolean isChecked() {
return Settings.Secure.getInt(mContext.getContentResolver(), return mClipboardManager.areClipboardAccessNotificationsEnabled();
Settings.Secure.CLIPBOARD_SHOW_ACCESS_NOTIFICATIONS, (mDefault ? 1 : 0)) != 0;
} }
@Override @Override
public boolean setChecked(boolean isChecked) { public boolean setChecked(boolean isChecked) {
Settings.Secure.putInt(mContext.getContentResolver(), mClipboardManager.setClipboardAccessNotificationsEnabled(isChecked);
Settings.Secure.CLIPBOARD_SHOW_ACCESS_NOTIFICATIONS, (isChecked ? 1 : 0));
return true; return true;
} }
@@ -94,12 +92,4 @@ public class ShowClipAccessNotificationPreferenceController
public void onStop() { public void onStop() {
DeviceConfig.removeOnPropertiesChangedListener(mDeviceConfigListener); 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);
}
} }