Merge "Fix switch bar in location settings"

This commit is contained in:
TreeHugger Robot
2018-03-03 00:37:45 +00:00
committed by Android (Google) Code Review
4 changed files with 62 additions and 19 deletions

View File

@@ -23,7 +23,6 @@ import android.os.Bundle;
import android.provider.SearchIndexableResource;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceGroup;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
@@ -35,7 +34,6 @@ import com.android.settings.widget.SwitchBar;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.location.RecentLocationApps;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -66,16 +64,6 @@ public class LocationSettings extends DashboardFragment {
private LocationSwitchBarController mSwitchBarController;
@Override
public int getInitialExpandedChildCount() {
final RecentLocationApps recentLocationApps = new RecentLocationApps(getActivity());
final int locationRequestsApps = recentLocationApps.getAppList().size();
final int locationRequestsPrefs =
locationRequestsApps == 0
? 1 : (locationRequestsApps > 3 ? 4 : locationRequestsApps);
return locationRequestsPrefs + 1;
}
@Override
public int getMetricsCategory() {
return MetricsEvent.LOCATION;
@@ -89,6 +77,7 @@ public class LocationSettings extends DashboardFragment {
switchBar.setSwitchBarText(R.string.location_settings_master_switch_title,
R.string.location_settings_master_switch_title);
mSwitchBarController = new LocationSwitchBarController(activity, switchBar, getLifecycle());
switchBar.show();
}
@Override

View File

@@ -16,7 +16,6 @@ package com.android.settings.location;
import android.content.Context;
import android.os.UserHandle;
import android.widget.Switch;
import com.android.settings.widget.SwitchBar;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -48,12 +47,10 @@ public class LocationSwitchBarController implements SwitchBar.OnSwitchChangeList
mSwitchBar.addOnSwitchChangeListener(this);
mValidListener = true;
}
mSwitchBar.show();
}
@Override
public void onStop() {
mSwitchBar.hide();
if (mValidListener) {
mSwitchBar.removeOnSwitchChangeListener(this);
mValidListener = false;