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

Commit ccadd3ec authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "Migrate SecureSetting to use SecureSettings proxy"

parents 0f540e23 ffe7fcc7
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ import com.android.systemui.qs.SecureSetting;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService.Tunable;
import com.android.systemui.util.settings.SecureSettings;

import java.util.ArrayList;
import java.util.List;
@@ -120,6 +121,7 @@ public class ScreenDecorations extends SystemUI implements Tunable {
    private final BroadcastDispatcher mBroadcastDispatcher;
    private final Handler mMainHandler;
    private final TunerService mTunerService;
    private final SecureSettings mSecureSettings;
    private DisplayManager.DisplayListener mDisplayListener;
    private CameraAvailabilityListener mCameraListener;
    private final UserTracker mUserTracker;
@@ -199,11 +201,13 @@ public class ScreenDecorations extends SystemUI implements Tunable {
    @Inject
    public ScreenDecorations(Context context,
            @Main Handler handler,
            SecureSettings secureSettings,
            BroadcastDispatcher broadcastDispatcher,
            TunerService tunerService,
            UserTracker userTracker) {
        super(context);
        mMainHandler = handler;
        mSecureSettings = secureSettings;
        mBroadcastDispatcher = broadcastDispatcher;
        mTunerService = tunerService;
        mUserTracker = userTracker;
@@ -309,7 +313,7 @@ public class ScreenDecorations extends SystemUI implements Tunable {

            // Watch color inversion and invert the overlay as needed.
            if (mColorInversionSetting == null) {
                mColorInversionSetting = new SecureSetting(mContext, mHandler,
                mColorInversionSetting = new SecureSetting(mSecureSettings, mHandler,
                        Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED,
                        mUserTracker.getUserId()) {
                    @Override
+10 −10
Original line number Diff line number Diff line
@@ -16,18 +16,17 @@

package com.android.systemui.qs;

import android.content.Context;
import android.database.ContentObserver;
import android.os.Handler;
import android.provider.Settings.Secure;

import com.android.systemui.statusbar.policy.Listenable;
import com.android.systemui.util.settings.SecureSettings;

/** 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 SecureSettings mSecureSettings;
    private final String mSettingName;

    private boolean mListening;
@@ -36,19 +35,20 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl

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

    public SecureSetting(Context context, Handler handler, String settingName, int userId) {
    public SecureSetting(SecureSettings secureSettings, Handler handler, String settingName,
            int userId) {
        super(handler);
        mContext = context;
        mSecureSettings = secureSettings;
        mSettingName = settingName;
        mUserId = userId;
    }

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

    public void setValue(int value) {
        Secure.putIntForUser(mContext.getContentResolver(), mSettingName, value, mUserId);
        mSecureSettings.putIntForUser(mSettingName, value, mUserId);
    }

    @Override
@@ -57,10 +57,10 @@ public abstract class SecureSetting extends ContentObserver implements Listenabl
        mListening = listening;
        if (listening) {
            mObservedValue = getValue();
            mContext.getContentResolver().registerContentObserver(
                    Secure.getUriFor(mSettingName), false, this, mUserId);
            mSecureSettings.registerContentObserverForUser(
                    mSecureSettings.getUriFor(mSettingName), false, this, mUserId);
        } else {
            mContext.getContentResolver().unregisterContentObserver(this);
            mSecureSettings.unregisterContentObserver(this);
            mObservedValue = DEFAULT;
        }
    }
+14 −3
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.systemui.statusbar.phone.ManagedProfileController;
import com.android.systemui.statusbar.policy.CastController;
import com.android.systemui.statusbar.policy.DataSaverController;
import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.util.settings.SecureSettings;

import dagger.Binds;
import dagger.Module;
@@ -48,14 +49,24 @@ public interface QSModule {
            AutoAddTracker.Builder autoAddTrackerBuilder,
            QSTileHost host,
            @Background Handler handler,
            SecureSettings secureSettings,
            HotspotController hotspotController,
            DataSaverController dataSaverController,
            ManagedProfileController managedProfileController,
            NightDisplayListener nightDisplayListener,
            CastController castController) {
        AutoTileManager manager = new AutoTileManager(context, autoAddTrackerBuilder,
                host, handler, hotspotController, dataSaverController, managedProfileController,
                nightDisplayListener, castController);
        AutoTileManager manager = new AutoTileManager(
                context,
                autoAddTrackerBuilder,
                host,
                handler,
                secureSettings,
                hotspotController,
                dataSaverController,
                managedProfileController,
                nightDisplayListener,
                castController
        );
        manager.init();
        return manager;
    }
+9 −3
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import com.android.systemui.qs.SecureSetting;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.util.settings.SecureSettings;

import javax.inject.Inject;

@@ -62,15 +63,20 @@ public class BatterySaverTile extends QSTileImpl<BooleanState> implements
            StatusBarStateController statusBarStateController,
            ActivityStarter activityStarter,
            QSLogger qsLogger,
            BatteryController batteryController
            BatteryController batteryController,
            SecureSettings secureSettings
    ) {
        super(host, backgroundLooper, mainHandler, metricsLogger, statusBarStateController,
                activityStarter, qsLogger);
        mBatteryController = batteryController;
        mBatteryController.observe(getLifecycle(), this);
        int currentUser = host.getUserContext().getUserId();
        mSetting = new SecureSetting(mContext, mHandler, Secure.LOW_POWER_WARNING_ACKNOWLEDGED,
                currentUser) {
        mSetting = new SecureSetting(
                secureSettings,
                mHandler,
                Secure.LOW_POWER_WARNING_ACKNOWLEDGED,
                currentUser
        ) {
            @Override
            protected void handleValueChanged(int value, boolean observedChange) {
                // mHandler is the background handler so calling this is OK
+4 −2
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import com.android.systemui.qs.SecureSetting;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.util.settings.SecureSettings;

import javax.inject.Inject;

@@ -63,12 +64,13 @@ public class ColorInversionTile extends QSTileImpl<BooleanState> {
            StatusBarStateController statusBarStateController,
            ActivityStarter activityStarter,
            QSLogger qsLogger,
            UserTracker userTracker
            UserTracker userTracker,
            SecureSettings secureSettings
    ) {
        super(host, backgroundLooper, mainHandler, metricsLogger, statusBarStateController,
                activityStarter, qsLogger);

        mSetting = new SecureSetting(mContext, mainHandler,
        mSetting = new SecureSetting(secureSettings, mainHandler,
                Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, userTracker.getUserId()) {
            @Override
            protected void handleValueChanged(int value, boolean observedChange) {
Loading