Some code cleanup

- Formatting
- Remove unused code

Test: robotests
Change-Id: If259c7c3893df96744f3c0ad62a378ef6ce01de7
This commit is contained in:
Fan Zhang
2017-09-07 10:48:45 -07:00
parent a0372028f0
commit 3ed509cb35
2 changed files with 32 additions and 75 deletions

View File

@@ -94,19 +94,6 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
} }
}; };
private View.OnClickListener mConditionClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Condition condition = (Condition) v.getTag();
//TODO: get rid of setTag/getTag
mMetricsFeatureProvider.action(mContext,
MetricsEvent.ACTION_SETTINGS_CONDITION_CLICK,
condition.getMetricsConstant());
condition.onPrimaryClick();
}
};
public DashboardAdapter(Context context, Bundle savedInstanceState, public DashboardAdapter(Context context, Bundle savedInstanceState,
List<Condition> conditions, SuggestionParser suggestionParser, List<Condition> conditions, SuggestionParser suggestionParser,
SuggestionDismissController.Callback callback) { SuggestionDismissController.Callback callback) {
@@ -129,7 +116,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
suggestions = savedInstanceState.getParcelableArrayList(STATE_SUGGESTION_LIST); suggestions = savedInstanceState.getParcelableArrayList(STATE_SUGGESTION_LIST);
category = savedInstanceState.getParcelable(STATE_CATEGORY_LIST); category = savedInstanceState.getParcelable(STATE_CATEGORY_LIST);
suggestionConditionMode = savedInstanceState.getInt( suggestionConditionMode = savedInstanceState.getInt(
STATE_SUGGESTION_CONDITION_MODE, suggestionConditionMode); STATE_SUGGESTION_CONDITION_MODE, suggestionConditionMode);
mSuggestionsShownLogged = savedInstanceState.getStringArrayList( mSuggestionsShownLogged = savedInstanceState.getStringArrayList(
STATE_SUGGESTIONS_SHOWN_LOGGED); STATE_SUGGESTIONS_SHOWN_LOGGED);
} else { } else {
@@ -249,7 +236,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
break; break;
case R.layout.suggestion_condition_container: case R.layout.suggestion_condition_container:
onBindConditionAndSuggestion( onBindConditionAndSuggestion(
(SuggestionAndConditionContainerHolder) holder, position); (SuggestionAndConditionContainerHolder) holder, position);
break; break;
case R.layout.suggestion_condition_header: case R.layout.suggestion_condition_header:
onBindSuggestionConditionHeader((SuggestionAndConditionHeaderHolder) holder, onBindSuggestionConditionHeader((SuggestionAndConditionHeaderHolder) holder,
@@ -262,7 +249,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
MetricsEvent.ACTION_SETTINGS_CONDITION_EXPAND, false); MetricsEvent.ACTION_SETTINGS_CONDITION_EXPAND, false);
DashboardData prevData = mDashboardData; DashboardData prevData = mDashboardData;
mDashboardData = new DashboardData.Builder(prevData).setSuggestionConditionMode( mDashboardData = new DashboardData.Builder(prevData).setSuggestionConditionMode(
DashboardData.HEADER_MODE_COLLAPSED).build(); DashboardData.HEADER_MODE_COLLAPSED).build();
notifyDashboardDataChanged(prevData); notifyDashboardDataChanged(prevData);
mRecyclerView.scrollToPosition(SUGGESTION_CONDITION_HEADER_POSITION); mRecyclerView.scrollToPosition(SUGGESTION_CONDITION_HEADER_POSITION);
}); });
@@ -335,11 +322,11 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
} }
for (Tile suggestion : suggestions) { for (Tile suggestion : suggestions) {
final String suggestionId = mSuggestionFeatureProvider.getSuggestionIdentifier( final String suggestionId = mSuggestionFeatureProvider.getSuggestionIdentifier(
mContext, suggestion); mContext, suggestion);
if (!mSuggestionsShownLogged.contains(suggestionId)) { if (!mSuggestionsShownLogged.contains(suggestionId)) {
mMetricsFeatureProvider.action( mMetricsFeatureProvider.action(
mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION,
suggestionId); suggestionId);
mSuggestionsShownLogged.add(suggestionId); mSuggestionsShownLogged.add(suggestionId);
} }
} }
@@ -350,9 +337,9 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
SuggestionConditionHeaderData data) { SuggestionConditionHeaderData data) {
final int curMode = mDashboardData.getSuggestionConditionMode(); final int curMode = mDashboardData.getSuggestionConditionMode();
final int nextMode = data.hiddenSuggestionCount > 0 && data.conditionCount > 0 final int nextMode = data.hiddenSuggestionCount > 0 && data.conditionCount > 0
&& curMode != DashboardData.HEADER_MODE_SUGGESTION_EXPANDED && curMode != DashboardData.HEADER_MODE_SUGGESTION_EXPANDED
? DashboardData.HEADER_MODE_SUGGESTION_EXPANDED ? DashboardData.HEADER_MODE_SUGGESTION_EXPANDED
: DashboardData.HEADER_MODE_FULLY_EXPANDED; : DashboardData.HEADER_MODE_FULLY_EXPANDED;
final boolean moreSuggestions = data.hiddenSuggestionCount > 0; final boolean moreSuggestions = data.hiddenSuggestionCount > 0;
final boolean hasConditions = data.conditionCount > 0; final boolean hasConditions = data.conditionCount > 0;
if (data.conditionCount > 0) { if (data.conditionCount > 0) {
@@ -377,22 +364,22 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
if (curMode == DashboardData.HEADER_MODE_COLLAPSED) { if (curMode == DashboardData.HEADER_MODE_COLLAPSED) {
if (data.conditionCount > 0) { if (data.conditionCount > 0) {
holder.summary.setText(mContext.getResources().getQuantityString( holder.summary.setText(mContext.getResources().getQuantityString(
R.plurals.suggestions_collapsed_summary, R.plurals.suggestions_collapsed_summary,
data.hiddenSuggestionCount, data.hiddenSuggestionCount)); data.hiddenSuggestionCount, data.hiddenSuggestionCount));
} else { } else {
holder.title.setText(mContext.getResources().getQuantityString( holder.title.setText(mContext.getResources().getQuantityString(
R.plurals.suggestions_collapsed_title, R.plurals.suggestions_collapsed_title,
data.hiddenSuggestionCount, data.hiddenSuggestionCount)); data.hiddenSuggestionCount, data.hiddenSuggestionCount));
holder.title.setTextColor(Color.BLACK); holder.title.setTextColor(Color.BLACK);
holder.summary.setText(null); holder.summary.setText(null);
} }
} else if (curMode == DashboardData.HEADER_MODE_DEFAULT) { } else if (curMode == DashboardData.HEADER_MODE_DEFAULT) {
if (data.conditionCount > 0) { if (data.conditionCount > 0) {
holder.summary.setText(mContext.getString( holder.summary.setText(mContext.getString(
R.string.suggestions_summary, data.hiddenSuggestionCount)); R.string.suggestions_summary, data.hiddenSuggestionCount));
} else { } else {
holder.title.setText(mContext.getString( holder.title.setText(mContext.getString(
R.string.suggestions_more_title, data.hiddenSuggestionCount)); R.string.suggestions_more_title, data.hiddenSuggestionCount));
holder.title.setTextColor(Color.BLACK); holder.title.setTextColor(Color.BLACK);
holder.summary.setText(null); holder.summary.setText(null);
} }
@@ -400,7 +387,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
} else if (data.conditionCount > 1) { } else if (data.conditionCount > 1) {
holder.summary.setTextColor(Utils.getColorAccent(mContext)); holder.summary.setTextColor(Utils.getColorAccent(mContext));
holder.summary.setText( holder.summary.setText(
mContext.getString(R.string.condition_summary, data.conditionCount)); mContext.getString(R.string.condition_summary, data.conditionCount));
} else { } else {
holder.summary.setText(null); holder.summary.setText(null);
} }
@@ -413,16 +400,16 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
holder.itemView.setPadding(0, padding, 0, padding); holder.itemView.setPadding(0, padding, 0, padding);
holder.itemView.setOnClickListener(v -> { holder.itemView.setOnClickListener(v -> {
if (moreSuggestions ) { if (moreSuggestions) {
logSuggestions(); logSuggestions();
} else if (hasConditions) { } else if (hasConditions) {
mMetricsFeatureProvider.action(mContext, mMetricsFeatureProvider.action(mContext,
MetricsEvent.ACTION_SETTINGS_CONDITION_EXPAND, true); MetricsEvent.ACTION_SETTINGS_CONDITION_EXPAND, true);
} }
DashboardData prevData = mDashboardData; DashboardData prevData = mDashboardData;
final boolean wasCollapsed = curMode == DashboardData.HEADER_MODE_COLLAPSED; final boolean wasCollapsed = curMode == DashboardData.HEADER_MODE_COLLAPSED;
mDashboardData = new DashboardData.Builder(prevData) mDashboardData = new DashboardData.Builder(prevData)
.setSuggestionConditionMode(nextMode).build(); .setSuggestionConditionMode(nextMode).build();
notifyDashboardDataChanged(prevData); notifyDashboardDataChanged(prevData);
if (wasCollapsed) { if (wasCollapsed) {
mRecyclerView.scrollToPosition(SUGGESTION_CONDITION_HEADER_POSITION); mRecyclerView.scrollToPosition(SUGGESTION_CONDITION_HEADER_POSITION);
@@ -439,13 +426,13 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
if (position == SUGGESTION_CONDITION_HEADER_POSITION if (position == SUGGESTION_CONDITION_HEADER_POSITION
&& suggestions != null && suggestions.size() > 0) { && suggestions != null && suggestions.size() > 0) {
mSuggestionAdapter = new SuggestionAdapter(mContext, (List<Tile>) mSuggestionAdapter = new SuggestionAdapter(mContext, (List<Tile>)
mDashboardData.getItemEntityByPosition(position), mSuggestionsShownLogged); mDashboardData.getItemEntityByPosition(position), mSuggestionsShownLogged);
mSuggestionDismissHandler = new SuggestionDismissController(mContext, mSuggestionDismissHandler = new SuggestionDismissController(mContext,
holder.data, mSuggestionParser, mCallback); holder.data, mSuggestionParser, mCallback);
holder.data.setAdapter(mSuggestionAdapter); holder.data.setAdapter(mSuggestionAdapter);
} else { } else {
ConditionAdapter adapter = new ConditionAdapter(mContext, ConditionAdapter adapter = new ConditionAdapter(mContext,
(List<Condition>) mDashboardData.getItemEntityByPosition(position), (List<Condition>) mDashboardData.getItemEntityByPosition(position),
mDashboardData.getSuggestionConditionMode()); mDashboardData.getSuggestionConditionMode());
adapter.addDismissHandling(holder.data); adapter.addDismissHandling(holder.data);
holder.data.setAdapter(adapter); holder.data.setAdapter(adapter);
@@ -454,19 +441,13 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
} }
private void onBindTile(DashboardItemHolder holder, Tile tile) { private void onBindTile(DashboardItemHolder holder, Tile tile) {
if (tile.remoteViews != null) { holder.icon.setImageDrawable(mCache.getIcon(tile.icon));
final ViewGroup itemView = (ViewGroup) holder.itemView; holder.title.setText(tile.title);
itemView.removeAllViews(); if (!TextUtils.isEmpty(tile.summary)) {
itemView.addView(tile.remoteViews.apply(itemView.getContext(), itemView)); holder.summary.setText(tile.summary);
holder.summary.setVisibility(View.VISIBLE);
} else { } else {
holder.icon.setImageDrawable(mCache.getIcon(tile.icon)); holder.summary.setVisibility(View.GONE);
holder.title.setText(tile.title);
if (!TextUtils.isEmpty(tile.summary)) {
holder.summary.setText(tile.summary);
holder.summary.setVisibility(View.VISIBLE);
} else {
holder.summary.setVisibility(View.GONE);
}
} }
} }
@@ -507,7 +488,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
} }
outState.putStringArrayList(STATE_SUGGESTIONS_SHOWN_LOGGED, mSuggestionsShownLogged); outState.putStringArrayList(STATE_SUGGESTIONS_SHOWN_LOGGED, mSuggestionsShownLogged);
outState.putInt(STATE_SUGGESTION_CONDITION_MODE, outState.putInt(STATE_SUGGESTION_CONDITION_MODE,
mDashboardData.getSuggestionConditionMode()); mDashboardData.getSuggestionConditionMode());
} }
private void updateConditionIcons(List<Icon> icons, ViewGroup parent) { private void updateConditionIcons(List<Icon> icons, ViewGroup parent) {
@@ -519,7 +500,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
parent.removeAllViews(); parent.removeAllViews();
for (int i = 1, size = icons.size(); i < size; i++) { for (int i = 1, size = icons.size(); i < size; i++) {
ImageView icon = (ImageView) inflater.inflate( ImageView icon = (ImageView) inflater.inflate(
R.layout.condition_header_icon, parent, false); R.layout.condition_header_icon, parent, false);
icon.setImageIcon(icons.get(i)); icon.setImageIcon(icons.get(i));
parent.addView(icon); parent.addView(icon);
} }

View File

@@ -171,30 +171,6 @@ public class DashboardData {
return POSITION_NOT_FOUND; return POSITION_NOT_FOUND;
} }
/**
* Get the count of suggestions to display
*
* The displayable count mainly depends on the {@link #mSuggestionConditionMode}
* and the size of suggestions list.
*
* When in default mode, displayable count couldn't be larger than
* {@link #DEFAULT_SUGGESTION_COUNT}.
*
* When in expanded mode, display all the suggestions.
*
* @return the count of suggestions to display
*/
public int getDisplayableSuggestionCount() {
final int suggestionSize = sizeOf(mSuggestions);
if (mSuggestionConditionMode == HEADER_MODE_COLLAPSED) {
return 0;
}
if (mSuggestionConditionMode == HEADER_MODE_DEFAULT) {
return Math.min(DEFAULT_SUGGESTION_COUNT, suggestionSize);
}
return suggestionSize;
}
/** /**
* Add item into list when {@paramref add} is true. * Add item into list when {@paramref add} is true.
* *
@@ -280,7 +256,7 @@ public class DashboardData {
if (conditions == null) { if (conditions == null) {
return null; return null;
} }
List<Condition> result = new ArrayList<Condition>(); List<Condition> result = new ArrayList<>();
final int size = conditions == null ? 0 : conditions.size(); final int size = conditions == null ? 0 : conditions.size();
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
final Condition condition = conditions.get(i); final Condition condition = conditions.get(i);
@@ -482,7 +458,7 @@ public class DashboardData {
conditionCount = sizeOf(conditions); conditionCount = sizeOf(conditions);
this.hiddenSuggestionCount = hiddenSuggestionCount; this.hiddenSuggestionCount = hiddenSuggestionCount;
title = conditionCount > 0 ? conditions.get(0).getTitle() : null; title = conditionCount > 0 ? conditions.get(0).getTitle() : null;
conditionIcons = new ArrayList<Icon>(); conditionIcons = new ArrayList<>();
for (int i = 0; conditions != null && i < conditions.size(); i++) { for (int i = 0; conditions != null && i < conditions.size(); i++) {
final Condition condition = conditions.get(i); final Condition condition = conditions.get(i);
conditionIcons.add(condition.getIcon()); conditionIcons.add(condition.getIcon());