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

Commit e2fc925b authored by Jeffrey Huang's avatar Jeffrey Huang Committed by Android (Google) Code Review
Browse files

Merge changes from topics "RefactorDevControllers", "MoveDevOptionPrefCtrl"

* changes:
  Refactor AdbPreferenceController
  Move DevOptionsPrefCtrl to SettingsLib
parents b51efdb5 fe537c8d
Loading
Loading
Loading
Loading
+16 −60
Original line number Original line Diff line number Diff line
@@ -18,67 +18,44 @@ package com.android.settings.development;




import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.Nullable;
import android.os.UserManager;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.v14.preference.SwitchPreference;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;


public class AdbPreferenceController extends DeveloperOptionsPreferenceController implements
import com.android.settings.core.PreferenceControllerMixin;
        Preference.OnPreferenceChangeListener {
import com.android.settingslib.development.AbstractEnableAdbPreferenceController;


    public static final String ADB_STATE_CHANGED =
public class AdbPreferenceController extends AbstractEnableAdbPreferenceController implements
            "com.android.settings.development.AdbPreferenceController.ADB_STATE_CHANGED";
        PreferenceControllerMixin {
    public static final int ADB_SETTING_ON = 1;
    public static final int ADB_SETTING_OFF = 0;

    private static final String KEY_ENABLE_ADB = "enable_adb";


    private final DevelopmentSettingsDashboardFragment mFragment;
    private final DevelopmentSettingsDashboardFragment mFragment;
    private SwitchPreference mPreference;


    public AdbPreferenceController(Context context, DevelopmentSettingsDashboardFragment fragment) {
    public AdbPreferenceController(Context context, DevelopmentSettingsDashboardFragment fragment) {
        super(context);
        super(context);
        mFragment = fragment;
        mFragment = fragment;
    }
    }


    @Override
    public void onAdbDialogConfirmed() {
    public boolean isAvailable() {
        writeAdbSetting(true);
        return mContext.getSystemService(UserManager.class).isAdminUser();
    }
    }


    @Override
    public void onAdbDialogDismissed() {
    public String getPreferenceKey() {
        updateState(mPreference);
        return KEY_ENABLE_ADB;
    }
    }


    @Override
    @Override
    public void displayPreference(PreferenceScreen screen) {
    public void showConfirmationDialog(@Nullable Preference preference) {
        super.displayPreference(screen);
        EnableAdbWarningDialog.show(mFragment);

        mPreference = (SwitchPreference) screen.findPreference(getPreferenceKey());
    }
    }


    @Override
    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
    public void dismissConfirmationDialog() {
        final boolean isAdbEnabled = (Boolean) newValue;
        // intentional no-op
        if (isAdbEnabled) {
            EnableAdbWarningDialog.show(mFragment);
        } else {
            writeAdbSetting(isAdbEnabled);
            notifyStateChanged();
        }
        return true;
    }
    }


    @Override
    @Override
    public void updateState(Preference preference) {
    public boolean isConfirmationDialogShowing() {
        final int adbMode = Settings.Global.getInt(mContext.getContentResolver(),
        // intentional no-op
                Settings.Global.ADB_ENABLED, 0 /* default */);
        return false;
        mPreference.setChecked(adbMode != ADB_SETTING_OFF);
    }
    }


    @Override
    @Override
@@ -89,28 +66,7 @@ public class AdbPreferenceController extends DeveloperOptionsPreferenceControlle
    @Override
    @Override
    protected void onDeveloperOptionsSwitchDisabled() {
    protected void onDeveloperOptionsSwitchDisabled() {
        writeAdbSetting(false);
        writeAdbSetting(false);
        notifyStateChanged();
        mPreference.setEnabled(false);
        mPreference.setEnabled(false);
        mPreference.setChecked(false);
        mPreference.setChecked(false);
    }
    }

    public void onAdbDialogConfirmed() {
        writeAdbSetting(true);
        notifyStateChanged();
    }

    public void onAdbDialogDismissed() {
        updateState(mPreference);
    }

    private void writeAdbSetting(boolean enabled) {
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.ADB_ENABLED, enabled ? ADB_SETTING_ON : ADB_SETTING_OFF);
    }

    @VisibleForTesting
    void notifyStateChanged() {
        LocalBroadcastManager.getInstance(mContext)
                .sendBroadcast(new Intent(ADB_STATE_CHANGED));
    }
}
}
+5 −1
Original line number Original line Diff line number Diff line
@@ -23,8 +23,12 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.PreferenceScreen;


import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;

public class AllowAppsOnExternalPreferenceController extends
public class AllowAppsOnExternalPreferenceController extends
        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener {
        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
        PreferenceControllerMixin {


    private static final String FORCE_ALLOW_ON_EXTERNAL_KEY = "force_allow_on_external";
    private static final String FORCE_ALLOW_ON_EXTERNAL_KEY = "force_allow_on_external";


+5 −1
Original line number Original line Diff line number Diff line
@@ -22,8 +22,12 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.PreferenceScreen;


import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;

public class AppsNotRespondingPreferenceController extends
public class AppsNotRespondingPreferenceController extends
        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener {
        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
        PreferenceControllerMixin {


    private static final String SHOW_ALL_ANRS_KEY = "show_all_anrs";
    private static final String SHOW_ALL_ANRS_KEY = "show_all_anrs";


+5 −1
Original line number Original line Diff line number Diff line
@@ -23,8 +23,12 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.PreferenceScreen;


import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;

public class BluetoothAbsoluteVolumePreferenceController extends
public class BluetoothAbsoluteVolumePreferenceController extends
        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener {
        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
        PreferenceControllerMixin {


    private static final String BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_KEY =
    private static final String BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_KEY =
            "bluetooth_disable_absolute_volume";
            "bluetooth_disable_absolute_volume";
+5 −1
Original line number Original line Diff line number Diff line
@@ -23,8 +23,12 @@ import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.PreferenceScreen;


import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;

public class BluetoothDeviceNoNamePreferenceController extends
public class BluetoothDeviceNoNamePreferenceController extends
        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener {
        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
        PreferenceControllerMixin {


    private static final String BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_KEY =
    private static final String BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_KEY =
            "bluetooth_show_devices_without_names";
            "bluetooth_show_devices_without_names";
Loading