Merge "Dashboard search bar polish" into oc-dr1-dev

am: 3b7ed7ae65

Change-Id: I85a67a54a79123db510cebdbc04e06cb6dfb420e
This commit is contained in:
Andrew Sapperstein
2017-06-27 02:35:15 +00:00
committed by android-build-merger
7 changed files with 44 additions and 160 deletions

View File

@@ -337,6 +337,14 @@ public class SettingsActivity extends SettingsDrawerActivity
Toolbar toolbar = findViewById(R.id.search_action_bar);
toolbar.setOnClickListener(this);
setActionBar(toolbar);
// Please forgive me for what I am about to do.
//
// Need to make the navigation icon non-clickable so that the entire card is clickable
// and goes to the search UI. Also set the background to null so there's no ripple.
View navView = toolbar.getNavigationView();
navView.setClickable(false);
navView.setBackground(null);
}
ActionBar actionBar = getActionBar();

View File

@@ -65,7 +65,6 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
private static final String STATE_CATEGORY_LIST = "category_list";
private static final String STATE_SUGGESTION_MODE = "suggestion_mode";
private static final String STATE_SUGGESTIONS_SHOWN_LOGGED = "suggestions_shown_logged";
private static final int DONT_SET_BACKGROUND_ATTR = -1;
private static final String STATE_SUGGESTION_CONDITION_MODE = "suggestion_condition_mode";
private final IconCache mCache;
@@ -305,9 +304,6 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
public void onBindViewHolder(DashboardItemHolder holder, int position) {
final int type = mDashboardData.getItemTypeByPosition(position);
switch (type) {
case R.layout.dashboard_header_spacer:
onBindHeaderSpacer(holder, position);
break;
case R.layout.dashboard_category:
onBindCategory(holder,
(DashboardCategory) mDashboardData.getItemEntityByPosition(position));
@@ -484,33 +480,6 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
notifyDashboardDataChanged(prevData);
}
private void onBindHeaderSpacer(DashboardItemHolder holder, int position) {
if (mDashboardData.size() > (position + 1)) {
// The spacer that goes underneath the search bar needs to match the
// background of the first real view. That view is either a condition,
// a suggestion, or the dashboard item.
//
// If it's a dashboard item, set null background so it uses the parent's
// background like the other views. Otherwise, match the colors.
int nextType = mDashboardData.getItemTypeByPosition(position + 1);
int colorAttr = nextType == R.layout.suggestion_header
? android.R.attr.colorSecondary
: nextType == R.layout.condition_card
? android.R.attr.colorAccent
: DONT_SET_BACKGROUND_ATTR;
if (colorAttr != DONT_SET_BACKGROUND_ATTR) {
TypedArray array = holder.itemView.getContext()
.obtainStyledAttributes(new int[]{colorAttr});
@ColorInt int color = array.getColor(0, 0);
array.recycle();
holder.itemView.setBackgroundColor(color);
} else {
holder.itemView.setBackground(null);
}
}
}
@VisibleForTesting
void onBindSuggestionHeader(final DashboardItemHolder holder, DashboardData
.SuggestionHeaderData data) {

View File

@@ -60,8 +60,7 @@ public class DashboardData {
public static final int DEFAULT_SUGGESTION_COUNT = 2;
// id namespace for different type of items.
private static final int NS_HEADER_SPACER = 0;
private static final int NS_SPACER = 1000;
private static final int NS_SPACER = 0;
private static final int NS_ITEMS = 2000;
private static final int NS_CONDITION = 3000;
private static final int NS_SUGGESTION_CONDITION = 4000;
@@ -283,9 +282,6 @@ public class DashboardData {
* and mIsShowingAll, mSuggestionMode flag.
*/
private void buildItemsData() {
// add the view that goes under the search bar
countItem(null, R.layout.dashboard_header_spacer, true, NS_HEADER_SPACER);
resetCount();
final boolean hasSuggestions = sizeOf(mSuggestions) > 0;
if (!mCombineSuggestionAndCondition) {
boolean hasConditions = false;