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:
Stanley Wang
2020-12-25 16:27:32 +08:00
parent c61c2fb1d7
commit b87ddba6cd
51 changed files with 783 additions and 271 deletions

View File

@@ -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) {