Sync style of filter component in data usage

Settings have new filter component with settings style.
This CL replaced Spinner to SettingsSpinner in data usage page.

Change-Id: I212b6b6ed203f8bffd094c0180873060b93c39cb
Fixes: 117568930
Test: robotests, visual
This commit is contained in:
tmfang
2018-10-11 16:20:15 +08:00
parent 1bd1e69f3c
commit 6e16b69887
10 changed files with 51 additions and 54 deletions

View File

@@ -144,7 +144,7 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC
mBackgroundUsage = findPreference(KEY_BACKGROUND_USAGE);
mCycle = (SpinnerPreference) findPreference(KEY_CYCLE);
mCycleAdapter = new CycleAdapter(getContext(), mCycle, mCycleListener, false);
mCycleAdapter = new CycleAdapter(getContext(), mCycle, mCycleListener);
if (mAppItem.key > 0) {
if (mPackages.size() != 0) {

View File

@@ -131,7 +131,7 @@ public class AppDataUsageV2 extends DataUsageBaseFragment implements OnPreferenc
mBackgroundUsage = findPreference(KEY_BACKGROUND_USAGE);
mCycle = (SpinnerPreference) findPreference(KEY_CYCLE);
mCycleAdapter = new CycleAdapter(getContext(), mCycle, mCycleListener, false);
mCycleAdapter = new CycleAdapter(getContext(), mCycle, mCycleListener);
if (mAppItem.key > 0) {
if (mPackages.size() != 0) {

View File

@@ -20,28 +20,25 @@ import android.net.NetworkStatsHistory;
import android.text.format.DateUtils;
import android.util.Pair;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settingslib.net.ChartData;
import com.android.settingslib.net.NetworkCycleData;
import com.android.settingslib.widget.settingsspinner.SettingsSpinnerAdapter;
import java.time.ZonedDateTime;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
public class CycleAdapter extends ArrayAdapter<CycleAdapter.CycleItem> {
public class CycleAdapter extends SettingsSpinnerAdapter<CycleAdapter.CycleItem> {
private final SpinnerInterface mSpinner;
private final AdapterView.OnItemSelectedListener mListener;
public CycleAdapter(Context context, SpinnerInterface spinner,
AdapterView.OnItemSelectedListener listener, boolean isHeader) {
super(context, isHeader ? R.layout.filter_spinner_item
: R.layout.data_usage_cycle_item);
setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
AdapterView.OnItemSelectedListener listener) {
super(context);
mSpinner = spinner;
mListener = listener;
mSpinner.setAdapter(this);
@@ -159,7 +156,7 @@ public class CycleAdapter extends ArrayAdapter<CycleAdapter.CycleItem> {
public boolean updateCycleList(List<? extends NetworkCycleData> cycleData) {
// stash away currently selected cycle to try restoring below
final CycleAdapter.CycleItem previousItem = (CycleAdapter.CycleItem)
mSpinner.getSelectedItem();
mSpinner.getSelectedItem();
clear();
final Context context = getContext();
@@ -223,8 +220,11 @@ public class CycleAdapter extends ArrayAdapter<CycleAdapter.CycleItem> {
public interface SpinnerInterface {
void setAdapter(CycleAdapter cycleAdapter);
void setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener);
Object getSelectedItem();
void setSelection(int position);
}
}

View File

@@ -182,7 +182,7 @@ public class DataUsageList extends DataUsageBaseFragment {
public void setSelection(int position) {
mCycleSpinner.setSelection(position);
}
}, mCycleListener, true);
}, mCycleListener);
mLoadingViewController = new LoadingViewController(
getView().findViewById(R.id.loading_container), getListView());

View File

@@ -175,7 +175,7 @@ public class DataUsageListV2 extends DataUsageBaseFragment {
public void setSelection(int position) {
mCycleSpinner.setSelection(position);
}
}, mCycleListener, true);
}, mCycleListener);
mLoadingViewController = new LoadingViewController(
getView().findViewById(R.id.loading_container), getListView());

View File

@@ -18,12 +18,12 @@ import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Spinner;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.android.settingslib.widget.settingsspinner.SettingsSpinner;
public class SpinnerPreference extends Preference implements CycleAdapter.SpinnerInterface {
@@ -63,7 +63,7 @@ public class SpinnerPreference extends Preference implements CycleAdapter.Spinne
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
Spinner spinner = (Spinner) holder.findViewById(R.id.cycles_spinner);
SettingsSpinner spinner = (SettingsSpinner) holder.findViewById(R.id.cycles_spinner);
spinner.setAdapter(mAdapter);
spinner.setSelection(mPosition);
spinner.setOnItemSelectedListener(mOnSelectedListener);