2/2 Remove GlobalSetting class
- Replace usages of GlobalSetting with SettingObserver - Change parameters to SettingObserver from SecureSetting to SettingsProxy - Update variable names SettingObserver Test: com.android.systemui.statusbar.policy.ZenModeControllerImplTest Test: com.android.systemui.qs.SettingObserverTest Bug: 201567807 Change-Id: If5cb74cc10ed43777b5cb40c705b43321e7fa0e9
This commit is contained in:
@@ -1,61 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.qs;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.ContentObserver;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings.Global;
|
||||
|
||||
import com.android.systemui.statusbar.policy.Listenable;
|
||||
|
||||
/** Helper for managing a global setting. **/
|
||||
public abstract class GlobalSetting extends ContentObserver implements Listenable {
|
||||
private final Context mContext;
|
||||
private final String mSettingName;
|
||||
|
||||
protected abstract void handleValueChanged(int value);
|
||||
|
||||
public GlobalSetting(Context context, Handler handler, String settingName) {
|
||||
super(handler);
|
||||
mContext = context;
|
||||
mSettingName = settingName;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return Global.getInt(mContext.getContentResolver(), mSettingName, 0);
|
||||
}
|
||||
|
||||
public void setValue(int value) {
|
||||
Global.putInt(mContext.getContentResolver(), mSettingName, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setListening(boolean listening) {
|
||||
if (listening) {
|
||||
mContext.getContentResolver().registerContentObserver(
|
||||
Global.getUriFor(mSettingName), false, this);
|
||||
} else {
|
||||
mContext.getContentResolver().unregisterContentObserver(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChange(boolean selfChange) {
|
||||
handleValueChanged(getValue());
|
||||
}
|
||||
}
|
||||
@@ -21,11 +21,18 @@ import android.database.ContentObserver;
|
||||
import android.os.Handler;
|
||||
|
||||
import com.android.systemui.statusbar.policy.Listenable;
|
||||
import com.android.systemui.util.settings.GlobalSettings;
|
||||
import com.android.systemui.util.settings.SecureSettings;
|
||||
import com.android.systemui.util.settings.SettingsProxy;
|
||||
import com.android.systemui.util.settings.SystemSettings;
|
||||
|
||||
/** Helper for managing a secure setting. **/
|
||||
/**
|
||||
* Helper for managing secure, global, and system settings through use of {@link SettingsProxy},
|
||||
* which is the common superclass of {@link SecureSettings}, {@link GlobalSettings}, and
|
||||
* {@link SystemSettings}.
|
||||
*/
|
||||
public abstract class SettingObserver extends ContentObserver implements Listenable {
|
||||
private final SecureSettings mSecureSettings;
|
||||
private final SettingsProxy mSettingsProxy;
|
||||
private final String mSettingName;
|
||||
private final int mDefaultValue;
|
||||
|
||||
@@ -35,19 +42,19 @@ public abstract class SettingObserver extends ContentObserver implements Listena
|
||||
|
||||
protected abstract void handleValueChanged(int value, boolean observedChange);
|
||||
|
||||
public SettingObserver(SecureSettings secureSettings, Handler handler, String settingName,
|
||||
public SettingObserver(SettingsProxy settingsProxy, Handler handler, String settingName,
|
||||
int userId) {
|
||||
this(secureSettings, handler, settingName, userId, 0);
|
||||
this(settingsProxy, handler, settingName, userId, 0);
|
||||
}
|
||||
|
||||
public SettingObserver(SecureSettings secureSetting, Handler handler, String settingName) {
|
||||
this(secureSetting, handler, settingName, ActivityManager.getCurrentUser());
|
||||
public SettingObserver(SettingsProxy settingsProxy, Handler handler, String settingName) {
|
||||
this(settingsProxy, handler, settingName, ActivityManager.getCurrentUser());
|
||||
}
|
||||
|
||||
public SettingObserver(SecureSettings secureSettings, Handler handler, String settingName,
|
||||
public SettingObserver(SettingsProxy settingsProxy, Handler handler, String settingName,
|
||||
int userId, int defaultValue) {
|
||||
super(handler);
|
||||
mSecureSettings = secureSettings;
|
||||
mSettingsProxy = settingsProxy;
|
||||
mSettingName = settingName;
|
||||
mObservedValue = mDefaultValue = defaultValue;
|
||||
mUserId = userId;
|
||||
@@ -63,11 +70,11 @@ public abstract class SettingObserver extends ContentObserver implements Listena
|
||||
* @param value The new value for the setting.
|
||||
*/
|
||||
public void setValue(int value) {
|
||||
mSecureSettings.putIntForUser(mSettingName, value, mUserId);
|
||||
mSettingsProxy.putIntForUser(mSettingName, value, mUserId);
|
||||
}
|
||||
|
||||
private int getValueFromProvider() {
|
||||
return mSecureSettings.getIntForUser(mSettingName, mDefaultValue, mUserId);
|
||||
return mSettingsProxy.getIntForUser(mSettingName, mDefaultValue, mUserId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -76,10 +83,10 @@ public abstract class SettingObserver extends ContentObserver implements Listena
|
||||
mListening = listening;
|
||||
if (listening) {
|
||||
mObservedValue = getValueFromProvider();
|
||||
mSecureSettings.registerContentObserverForUser(
|
||||
mSecureSettings.getUriFor(mSettingName), false, this, mUserId);
|
||||
mSettingsProxy.registerContentObserverForUser(
|
||||
mSettingsProxy.getUriFor(mSettingName), false, this, mUserId);
|
||||
} else {
|
||||
mSecureSettings.unregisterContentObserver(this);
|
||||
mSettingsProxy.unregisterContentObserver(this);
|
||||
mObservedValue = mDefaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,10 +44,11 @@ import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.qs.QSTile.BooleanState;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.GlobalSetting;
|
||||
import com.android.systemui.qs.QSHost;
|
||||
import com.android.systemui.qs.SettingObserver;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
import com.android.systemui.qs.tileimpl.QSTileImpl;
|
||||
import com.android.systemui.util.settings.GlobalSettings;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@@ -56,7 +57,7 @@ import dagger.Lazy;
|
||||
/** Quick settings tile: Airplane mode **/
|
||||
public class AirplaneModeTile extends QSTileImpl<BooleanState> {
|
||||
private final Icon mIcon = ResourceIcon.get(com.android.internal.R.drawable.ic_qs_airplane);
|
||||
private final GlobalSetting mSetting;
|
||||
private final SettingObserver mSetting;
|
||||
private final BroadcastDispatcher mBroadcastDispatcher;
|
||||
private final Lazy<ConnectivityManager> mLazyConnectivityManager;
|
||||
|
||||
@@ -73,16 +74,17 @@ public class AirplaneModeTile extends QSTileImpl<BooleanState> {
|
||||
ActivityStarter activityStarter,
|
||||
QSLogger qsLogger,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
Lazy<ConnectivityManager> lazyConnectivityManager
|
||||
Lazy<ConnectivityManager> lazyConnectivityManager,
|
||||
GlobalSettings globalSettings
|
||||
) {
|
||||
super(host, backgroundLooper, mainHandler, falsingManager, metricsLogger,
|
||||
statusBarStateController, activityStarter, qsLogger);
|
||||
mBroadcastDispatcher = broadcastDispatcher;
|
||||
mLazyConnectivityManager = lazyConnectivityManager;
|
||||
|
||||
mSetting = new GlobalSetting(mContext, mHandler, Global.AIRPLANE_MODE_ON) {
|
||||
mSetting = new SettingObserver(globalSettings, mHandler, Global.AIRPLANE_MODE_ON) {
|
||||
@Override
|
||||
protected void handleValueChanged(int value) {
|
||||
protected void handleValueChanged(int value, boolean observedChange) {
|
||||
// mHandler is the background handler so calling this is OK
|
||||
handleRefreshState(value);
|
||||
}
|
||||
|
||||
@@ -45,9 +45,10 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.qs.GlobalSetting;
|
||||
import com.android.systemui.qs.SettingObserver;
|
||||
import com.android.systemui.settings.CurrentUserTracker;
|
||||
import com.android.systemui.util.Utils;
|
||||
import com.android.systemui.util.settings.GlobalSettings;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
@@ -66,8 +67,8 @@ public class ZenModeControllerImpl extends CurrentUserTracker
|
||||
private final ArrayList<Callback> mCallbacks = new ArrayList<>();
|
||||
private final Object mCallbacksLock = new Object();
|
||||
private final Context mContext;
|
||||
private final GlobalSetting mModeSetting;
|
||||
private final GlobalSetting mConfigSetting;
|
||||
private final SettingObserver mModeSetting;
|
||||
private final SettingObserver mConfigSetting;
|
||||
private final NotificationManager mNoMan;
|
||||
private final AlarmManager mAlarmManager;
|
||||
private final SetupObserver mSetupObserver;
|
||||
@@ -85,19 +86,20 @@ public class ZenModeControllerImpl extends CurrentUserTracker
|
||||
Context context,
|
||||
@Main Handler handler,
|
||||
BroadcastDispatcher broadcastDispatcher,
|
||||
DumpManager dumpManager) {
|
||||
DumpManager dumpManager,
|
||||
GlobalSettings globalSettings) {
|
||||
super(broadcastDispatcher);
|
||||
mContext = context;
|
||||
mModeSetting = new GlobalSetting(mContext, handler, Global.ZEN_MODE) {
|
||||
mModeSetting = new SettingObserver(globalSettings, handler, Global.ZEN_MODE) {
|
||||
@Override
|
||||
protected void handleValueChanged(int value) {
|
||||
protected void handleValueChanged(int value, boolean observedChange) {
|
||||
updateZenMode(value);
|
||||
fireZenChanged(value);
|
||||
}
|
||||
};
|
||||
mConfigSetting = new GlobalSetting(mContext, handler, Global.ZEN_MODE_CONFIG_ETAG) {
|
||||
mConfigSetting = new SettingObserver(globalSettings, handler, Global.ZEN_MODE_CONFIG_ETAG) {
|
||||
@Override
|
||||
protected void handleValueChanged(int value) {
|
||||
protected void handleValueChanged(int value, boolean observedChange) {
|
||||
updateZenModeConfig();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.statusbar.policy.ZenModeController.Callback;
|
||||
import com.android.systemui.util.settings.FakeSettings;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -70,7 +71,8 @@ public class ZenModeControllerImplTest extends SysuiTestCase {
|
||||
mContext,
|
||||
Handler.createAsync(Looper.myLooper()),
|
||||
mBroadcastDispatcher,
|
||||
mDumpManager);
|
||||
mDumpManager,
|
||||
new FakeSettings());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user