Files
lineage-sdk/packages/LineagePreferenceLib/java/lineageos/preference/SecureSettingMainSwitchPreference.java
Pranav Vashi bb57322336 Fix settings pref switch for multi-user
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-11-26 17:48:34 +09:00

47 lines
1.5 KiB
Java

/*
* SPDX-FileCopyrightText: 2021 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
package lineageos.preference;
import android.content.Context;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.AttributeSet;
import androidx.preference.PreferenceDataStore;
import com.android.settingslib.widget.MainSwitchPreference;
public class SecureSettingMainSwitchPreference extends MainSwitchPreference {
public SecureSettingMainSwitchPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setPreferenceDataStore(new DataStore());
}
public SecureSettingMainSwitchPreference(Context context, AttributeSet attrs) {
super(context, attrs);
setPreferenceDataStore(new DataStore());
}
public SecureSettingMainSwitchPreference(Context context) {
super(context, null);
setPreferenceDataStore(new DataStore());
}
private class DataStore extends PreferenceDataStore {
@Override
public void putBoolean(String key, boolean value) {
Settings.Secure.putIntForUser(getContext().getContentResolver(), key, value ? 1 : 0, UserHandle.USER_CURRENT);
}
@Override
public boolean getBoolean(String key, boolean defaultValue) {
return Settings.Secure.getIntForUser(getContext().getContentResolver(), key,
defaultValue ? 1 : 0, UserHandle.USER_CURRENT) != 0;
}
}
}