Merge "Add PrefController in XML support"
This commit is contained in:
committed by
Android (Google) Code Review
commit
84e8c795b1
@@ -22,31 +22,29 @@ import android.os.UserManager;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
public class BackupSettingsActivityPreferenceController extends
|
||||
AbstractPreferenceController implements PreferenceControllerMixin {
|
||||
public class BackupSettingsActivityPreferenceController extends BasePreferenceController {
|
||||
private static final String TAG = "BackupSettingActivityPC";
|
||||
|
||||
private static final String KEY_BACKUP_SETTINGS = "backup_settings";
|
||||
private static final String TAG = "BackupSettingActivityPC" ;
|
||||
|
||||
private final UserManager mUm;
|
||||
private final BackupManager mBackupManager;
|
||||
|
||||
public BackupSettingsActivityPreferenceController(Context context) {
|
||||
super(context);
|
||||
super(context, KEY_BACKUP_SETTINGS);
|
||||
mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||
mBackupManager = new BackupManager(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
return mUm.isAdminUser();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return KEY_BACKUP_SETTINGS;
|
||||
public int getAvailabilityStatus() {
|
||||
return mUm.isAdminUser()
|
||||
? AVAILABLE
|
||||
: DISABLED_UNSUPPORTED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -57,4 +55,4 @@ public class BackupSettingsActivityPreferenceController extends
|
||||
? R.string.accessibility_feature_state_on
|
||||
: R.string.accessibility_feature_state_off);
|
||||
}
|
||||
}
|
||||
}
|
@@ -17,26 +17,23 @@ package com.android.settings.deviceinfo;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
public class AdditionalSystemUpdatePreferenceController extends
|
||||
AbstractPreferenceController implements PreferenceControllerMixin {
|
||||
public class AdditionalSystemUpdatePreferenceController extends BasePreferenceController {
|
||||
|
||||
private static final String KEY_UPDATE_SETTING = "additional_system_update_settings";
|
||||
|
||||
public AdditionalSystemUpdatePreferenceController(Context context) {
|
||||
super(context);
|
||||
super(context, KEY_UPDATE_SETTING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
public int getAvailabilityStatus() {
|
||||
return mContext.getResources().getBoolean(
|
||||
com.android.settings.R.bool.config_additional_system_update_setting_enable);
|
||||
com.android.settings.R.bool.config_additional_system_update_setting_enable)
|
||||
? AVAILABLE
|
||||
: DISABLED_UNSUPPORTED;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return KEY_UPDATE_SETTING;
|
||||
}
|
||||
}
|
||||
}
|
@@ -30,11 +30,9 @@ import android.util.Log;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
public class SystemUpdatePreferenceController extends AbstractPreferenceController implements
|
||||
PreferenceControllerMixin {
|
||||
public class SystemUpdatePreferenceController extends BasePreferenceController {
|
||||
|
||||
private static final String TAG = "SysUpdatePrefContr";
|
||||
|
||||
@@ -42,19 +40,16 @@ public class SystemUpdatePreferenceController extends AbstractPreferenceControll
|
||||
|
||||
private final UserManager mUm;
|
||||
|
||||
public SystemUpdatePreferenceController(Context context, UserManager um) {
|
||||
super(context);
|
||||
mUm = um;
|
||||
public SystemUpdatePreferenceController(Context context) {
|
||||
super(context, KEY_SYSTEM_UPDATE_SETTINGS);
|
||||
mUm = UserManager.get(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
return mUm.isAdminUser();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return KEY_SYSTEM_UPDATE_SETTINGS;
|
||||
public int getAvailabilityStatus() {
|
||||
return mUm.isAdminUser()
|
||||
? AVAILABLE
|
||||
: DISABLED_UNSUPPORTED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -62,14 +57,14 @@ public class SystemUpdatePreferenceController extends AbstractPreferenceControll
|
||||
super.displayPreference(screen);
|
||||
if (isAvailable()) {
|
||||
Utils.updatePreferenceToSpecificActivityOrRemove(mContext, screen,
|
||||
KEY_SYSTEM_UPDATE_SETTINGS,
|
||||
getPreferenceKey(),
|
||||
Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||
if (KEY_SYSTEM_UPDATE_SETTINGS.equals(preference.getKey())) {
|
||||
if (TextUtils.equals(getPreferenceKey(), preference.getKey())) {
|
||||
CarrierConfigManager configManager =
|
||||
(CarrierConfigManager) mContext.getSystemService(CARRIER_CONFIG_SERVICE);
|
||||
PersistableBundle b = configManager.getConfig();
|
||||
@@ -108,4 +103,4 @@ public class SystemUpdatePreferenceController extends AbstractPreferenceControll
|
||||
mContext.getApplicationContext().sendBroadcast(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -23,27 +23,26 @@ import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.internal.hardware.AmbientDisplayConfiguration;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GesturesSettingPreferenceController extends AbstractPreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
|
||||
private static final String KEY_GESTURES_SETTINGS = "gesture_settings";
|
||||
|
||||
public class GesturesSettingPreferenceController extends BasePreferenceController {
|
||||
private final AssistGestureFeatureProvider mFeatureProvider;
|
||||
private List<AbstractPreferenceController> mGestureControllers;
|
||||
|
||||
private static final String KEY_GESTURES_SETTINGS = "gesture_settings";
|
||||
|
||||
public GesturesSettingPreferenceController(Context context) {
|
||||
super(context);
|
||||
super(context, KEY_GESTURES_SETTINGS);
|
||||
mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
public int getAvailabilityStatus() {
|
||||
if (mGestureControllers == null) {
|
||||
mGestureControllers = GestureSettings.buildPreferenceControllers(mContext,
|
||||
null /* lifecycle */, new AmbientDisplayConfiguration(mContext));
|
||||
@@ -52,12 +51,9 @@ public class GesturesSettingPreferenceController extends AbstractPreferenceContr
|
||||
for (AbstractPreferenceController controller : mGestureControllers) {
|
||||
isAvailable = isAvailable || controller.isAvailable();
|
||||
}
|
||||
return isAvailable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return KEY_GESTURES_SETTINGS;
|
||||
return isAvailable
|
||||
? AVAILABLE
|
||||
: DISABLED_UNSUPPORTED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -83,5 +79,4 @@ public class GesturesSettingPreferenceController extends AbstractPreferenceContr
|
||||
}
|
||||
preference.setSummary(summary);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -71,6 +71,10 @@ public class XmlParserUtils {
|
||||
return getData(context, attrs, R.styleable.Preference, R.styleable.Preference_keywords);
|
||||
}
|
||||
|
||||
public static String getController(Context context, AttributeSet attrs) {
|
||||
return getData(context, attrs, R.styleable.Preference, R.styleable.Preference_controller);
|
||||
}
|
||||
|
||||
public static int getDataIcon(Context context, AttributeSet attrs) {
|
||||
final TypedArray ta = context.obtainStyledAttributes(attrs,
|
||||
com.android.internal.R.styleable.Preference);
|
||||
|
@@ -82,7 +82,7 @@ public class SystemDashboardFragment extends DashboardFragment {
|
||||
|
||||
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
|
||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||
controllers.add(new SystemUpdatePreferenceController(context, UserManager.get(context)));
|
||||
controllers.add(new SystemUpdatePreferenceController(context));
|
||||
controllers.add(new AdditionalSystemUpdatePreferenceController(context));
|
||||
controllers.add(new BackupSettingsActivityPreferenceController(context));
|
||||
controllers.add(new GesturesSettingPreferenceController(context));
|
||||
@@ -124,10 +124,10 @@ public class SystemDashboardFragment extends DashboardFragment {
|
||||
@Override
|
||||
public List<String> getNonIndexableKeys(Context context) {
|
||||
List<String> keys = super.getNonIndexableKeys(context);
|
||||
keys.add((new BackupSettingsActivityPreferenceController(context)
|
||||
.getPreferenceKey()));
|
||||
keys.add((new BackupSettingsActivityPreferenceController(
|
||||
context).getPreferenceKey()));
|
||||
keys.add(KEY_RESET);
|
||||
return keys;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user