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:
@@ -34,7 +34,7 @@ import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
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.search.SearchIndexable;
|
||||
|
||||
@@ -52,7 +52,7 @@ public class AutomaticStorageManagerSettings extends DashboardFragment
|
||||
|
||||
private AutomaticStorageManagerSwitchBarController mSwitchController;
|
||||
private DropDownPreference mDaysToRetain;
|
||||
private SwitchBar mSwitchBar;
|
||||
private SettingsMainSwitchBar mSwitchBar;
|
||||
|
||||
@Override
|
||||
public View onCreateView(
|
||||
@@ -83,8 +83,8 @@ public class AutomaticStorageManagerSettings extends DashboardFragment
|
||||
private void initializeSwitchBar() {
|
||||
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||
mSwitchBar = activity.getSwitchBar();
|
||||
mSwitchBar.setSwitchBarText(R.string.automatic_storage_manager_primary_switch_title,
|
||||
R.string.automatic_storage_manager_primary_switch_title);
|
||||
mSwitchBar.setTitle(
|
||||
getContext().getString(R.string.automatic_storage_manager_primary_switch_title));
|
||||
mSwitchBar.show();
|
||||
mSwitchController =
|
||||
new AutomaticStorageManagerSwitchBarController(
|
||||
|
||||
@@ -26,25 +26,26 @@ import androidx.fragment.app.FragmentManager;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.widget.OnMainSwitchChangeListener;
|
||||
|
||||
/** Handles the logic for flipping the storage management toggle on a {@link SwitchBar}. */
|
||||
public class AutomaticStorageManagerSwitchBarController
|
||||
implements SwitchBar.OnSwitchChangeListener {
|
||||
implements OnMainSwitchChangeListener {
|
||||
private static final String STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY =
|
||||
"ro.storage_manager.enabled";
|
||||
|
||||
private Context mContext;
|
||||
private SwitchBar mSwitchBar;
|
||||
private SettingsMainSwitchBar mSwitchBar;
|
||||
private MetricsFeatureProvider mMetrics;
|
||||
private Preference mDaysToRetainPreference;
|
||||
private FragmentManager mFragmentManager;
|
||||
|
||||
public AutomaticStorageManagerSwitchBarController(
|
||||
Context context,
|
||||
SwitchBar switchBar,
|
||||
SettingsMainSwitchBar switchBar,
|
||||
MetricsFeatureProvider metrics,
|
||||
Preference daysToRetainPreference,
|
||||
FragmentManager fragmentManager) {
|
||||
|
||||
Reference in New Issue
Block a user