Use SettingsLib's MainSwitchBar to replace SwitchBar in Settings.
To log Settings metrics, the MainSwitch extends MainSwitchBar and replace the SwitchBar in SettingsActivity. Bug: 175181773 Test: Run robotest and apply the widget in Settings and see the ui Change-Id: I3add3702e9058ad9192b5172c7cf0e2ccfb55a70
This commit is contained in:
@@ -60,13 +60,14 @@ import com.android.settings.development.bluetooth.BluetoothSampleRateDialogPrefe
|
||||
import com.android.settings.development.qstile.DevelopmentTiles;
|
||||
import com.android.settings.development.storage.SharedDataPreferenceController;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
|
||||
import com.android.settingslib.development.DevelopmentSettingsEnabler;
|
||||
import com.android.settingslib.development.SystemPropPoker;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
import com.android.settingslib.widget.OnMainSwitchChangeListener;
|
||||
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
|
||||
@@ -75,7 +76,7 @@ import java.util.List;
|
||||
|
||||
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
|
||||
public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFragment
|
||||
implements SwitchBar.OnSwitchChangeListener, OemUnlockDialogHost, AdbDialogHost,
|
||||
implements OnMainSwitchChangeListener, OemUnlockDialogHost, AdbDialogHost,
|
||||
AdbClearKeysDialogHost, LogPersistDialogHost,
|
||||
BluetoothA2dpHwOffloadRebootDialog.OnA2dpHwDialogConfirmedListener,
|
||||
AbstractBluetoothPreferenceController.Callback {
|
||||
@@ -86,7 +87,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
|
||||
new BluetoothA2dpConfigStore();
|
||||
|
||||
private boolean mIsAvailable = true;
|
||||
private SwitchBar mSwitchBar;
|
||||
private SettingsMainSwitchBar mSwitchBar;
|
||||
private DevelopmentSwitchBarController mSwitchBarController;
|
||||
private List<AbstractPreferenceController> mPreferenceControllers = new ArrayList<>();
|
||||
private BluetoothA2dp mBluetoothA2dp;
|
||||
@@ -197,10 +198,13 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
|
||||
}
|
||||
// Set up primary switch
|
||||
mSwitchBar = ((SettingsActivity) getActivity()).getSwitchBar();
|
||||
mSwitchBar.setTitle(getContext().getString(R.string.developer_options_main_switch_title));
|
||||
mSwitchBar.show();
|
||||
mSwitchBar.setTranslationZ(
|
||||
getActivity().findViewById(R.id.main_content).getTranslationZ() + 1);
|
||||
mSwitchBarController = new DevelopmentSwitchBarController(
|
||||
this /* DevelopmentSettings */, mSwitchBar, mIsAvailable,
|
||||
getSettingsLifecycle());
|
||||
mSwitchBar.show();
|
||||
|
||||
// Restore UI state based on whether developer options is enabled
|
||||
if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(getContext())) {
|
||||
@@ -231,7 +235,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
|
||||
|
||||
if (DevelopmentTiles.WirelessDebugging.class.getName().equals(
|
||||
componentName.getClassName()) && getDevelopmentOptionsController(
|
||||
WirelessDebuggingPreferenceController.class).isAvailable()) {
|
||||
WirelessDebuggingPreferenceController.class).isAvailable()) {
|
||||
Log.d(TAG, "Long press from wireless debugging qstile");
|
||||
new SubSettingLauncher(getContext())
|
||||
.setDestination(WirelessDebuggingFragment.class.getName())
|
||||
@@ -383,7 +387,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
|
||||
|
||||
@Override
|
||||
protected int getPreferenceScreenResId() {
|
||||
return Utils.isMonkeyRunning()? R.xml.placeholder_prefs : R.xml.development_settings;
|
||||
return Utils.isMonkeyRunning() ? R.xml.placeholder_prefs : R.xml.development_settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -557,7 +561,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
|
||||
controllers.add(new DefaultLaunchPreferenceController(context, "quick_settings_tiles"));
|
||||
controllers.add(new DefaultLaunchPreferenceController(context, "feature_flags_dashboard"));
|
||||
controllers.add(
|
||||
new DefaultLaunchPreferenceController(context, "default_usb_configuration"));
|
||||
new DefaultLaunchPreferenceController(context, "default_usb_configuration"));
|
||||
controllers.add(new DefaultLaunchPreferenceController(context, "density"));
|
||||
controllers.add(new DefaultLaunchPreferenceController(context, "background_check"));
|
||||
controllers.add(new DefaultLaunchPreferenceController(context, "inactive_apps"));
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.settings.development;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||
@@ -28,12 +28,12 @@ import com.android.settingslib.development.DevelopmentSettingsEnabler;
|
||||
|
||||
public class DevelopmentSwitchBarController implements LifecycleObserver, OnStart, OnStop {
|
||||
|
||||
private final SwitchBar mSwitchBar;
|
||||
private final SettingsMainSwitchBar mSwitchBar;
|
||||
private final boolean mIsAvailable;
|
||||
private final DevelopmentSettingsDashboardFragment mSettings;
|
||||
|
||||
public DevelopmentSwitchBarController(@NonNull DevelopmentSettingsDashboardFragment settings,
|
||||
SwitchBar switchBar, boolean isAvailable, Lifecycle lifecycle) {
|
||||
SettingsMainSwitchBar switchBar, boolean isAvailable, Lifecycle lifecycle) {
|
||||
mSwitchBar = switchBar;
|
||||
mIsAvailable = isAvailable && !Utils.isMonkeyRunning();
|
||||
mSettings = settings;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
|
||||
package com.android.settings.development;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.app.settings.SettingsEnums;
|
||||
@@ -40,7 +41,8 @@ import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SwitchBarController;
|
||||
import com.android.settings.widget.MainSwitchBarController;
|
||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.development.DevelopmentSettingsEnabler;
|
||||
@@ -170,9 +172,11 @@ public class WirelessDebuggingFragment extends DashboardFragment
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||
final SettingsMainSwitchBar switchBar = activity.getSwitchBar();
|
||||
switchBar.setTitle(getContext().getString(R.string.wireless_debugging_main_switch_title));
|
||||
|
||||
mWifiDebuggingEnabler = new WirelessDebuggingEnabler(activity,
|
||||
new SwitchBarController(activity.getSwitchBar()), this,
|
||||
getSettingsLifecycle());
|
||||
new MainSwitchBarController(switchBar), this, getSettingsLifecycle());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,8 +24,8 @@ import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
import com.android.settings.widget.SwitchBarController;
|
||||
import com.android.settings.widget.MainSwitchBarController;
|
||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
import com.android.settingslib.development.DevelopmentSettingsEnabler;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
|
||||
@@ -62,11 +62,13 @@ public class GraphicsDriverDashboard extends DashboardFragment {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||
final SwitchBar switchBar = activity.getSwitchBar();
|
||||
final SettingsMainSwitchBar switchBar = activity.getSwitchBar();
|
||||
final GraphicsDriverGlobalSwitchBarController switchBarController =
|
||||
new GraphicsDriverGlobalSwitchBarController(
|
||||
activity, new SwitchBarController(switchBar));
|
||||
activity, new MainSwitchBarController(switchBar));
|
||||
getSettingsLifecycle().addObserver(switchBarController);
|
||||
switchBar.setTitle(
|
||||
getContext().getString(R.string.graphics_driver_main_switch_title));
|
||||
switchBar.show();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user