Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e928b5d0 authored by Luca Stefani's avatar Luca Stefani
Browse files

SystemUI: SecureSetting: Allow specifying a non-zero default

* Some Setting while empty should be assumed to be
  non-zero by default ( ex AmbientDisplay )

Test: m
Change-Id: I44e1c4296be4e1a1f549d52d4dc0f5b2b7cef855
parent 4d3d8db4
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -26,14 +26,13 @@ import com.android.systemui.statusbar.policy.Listenable;

/** Helper for managing a secure setting. **/
public abstract class SecureSetting extends ContentObserver implements Listenable {
    private static final int DEFAULT = 0;

    private final Context mContext;
    private final String mSettingName;
    private final int mDefaultValue;

    private boolean mListening;
    private int mUserId;
    private int mObservedValue = DEFAULT;
    private int mObservedValue;

    protected abstract void handleValueChanged(int value, boolean observedChange);

@@ -41,15 +40,22 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl
        this(context, handler, settingName, ActivityManager.getCurrentUser());
    }

    public SecureSetting(Context context, Handler handler, String settingName, int userId) {
    protected SecureSetting(Context context, Handler handler, String settingName, int userId) {
        this(context, handler, settingName, userId, 0);
    }

    public SecureSetting(Context context, Handler handler, String settingName, int userId,
            int defaultValue) {
        super(handler);
        mContext = context;
        mSettingName = settingName;
        mObservedValue = mDefaultValue = defaultValue;
        mUserId = userId;
    }

    public int getValue() {
        return Secure.getIntForUser(mContext.getContentResolver(), mSettingName, DEFAULT, mUserId);
        return Secure.getIntForUser(mContext.getContentResolver(), mSettingName, mDefaultValue,
                mUserId);
    }

    public void setValue(int value) {
@@ -66,7 +72,7 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl
                    Secure.getUriFor(mSettingName), false, this, mUserId);
        } else {
            mContext.getContentResolver().unregisterContentObserver(this);
            mObservedValue = DEFAULT;
            mObservedValue = mDefaultValue;
        }
    }