Files
lineage-sdk/packages/LineagePreferenceLib/java/lineageos/preference/LineageSystemSettingMainSwitchPreference.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

49 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.util.AttributeSet;
import androidx.preference.PreferenceDataStore;
import com.android.settingslib.widget.MainSwitchPreference;
import lineageos.providers.LineageSettings;
public class LineageSystemSettingMainSwitchPreference extends MainSwitchPreference {
public LineageSystemSettingMainSwitchPreference(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
setPreferenceDataStore(new DataStore());
}
public LineageSystemSettingMainSwitchPreference(Context context, AttributeSet attrs) {
super(context, attrs);
setPreferenceDataStore(new DataStore());
}
public LineageSystemSettingMainSwitchPreference(Context context) {
super(context);
setPreferenceDataStore(new DataStore());
}
private class DataStore extends PreferenceDataStore {
@Override
public void putBoolean(String key, boolean value) {
LineageSettings.System.putIntForUser(getContext().getContentResolver(), key, value ? 1 : 0, UserHandle.USER_CURRENT);
}
@Override
public boolean getBoolean(String key, boolean defaultValue) {
return LineageSettings.System.getIntForUser(getContext().getContentResolver(), key,
defaultValue ? 1 : 0, UserHandle.USER_CURRENT) != 0;
}
}
}