Revert "Dashboard status cards UI."

This reverts commit d42e233bf0.

Change-Id: I58b4bcb2e153da26fb043bff2ce58d2c474b567b
This commit is contained in:
Fan Zhang
2016-04-11 15:26:54 +00:00
parent a26bb71068
commit dcb2b500d4
7 changed files with 4 additions and 227 deletions

View File

@@ -17,8 +17,6 @@
package com.android.settings.dashboard;
import android.content.Context;
import android.graphics.Rect;
import android.support.annotation.LayoutRes;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
@@ -30,7 +28,6 @@ import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.dashboard.conditional.Condition;
import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
import com.android.settings.dashboard.status.StatusCategory;
import java.util.ArrayList;
import java.util.List;
@@ -45,14 +42,10 @@ public final class DashboardStatusAdapter
public static final int GRID_COLUMN_COUNT = 2;
// Namespaces
private static final int NS_SPACER = 0;
private static final int NS_CONDITION = 1000;
private static final int NS_STATUS = 2000;
private static final int NS_CONDITION = 0;
// Item types
private static final int TYPE_SPACER = R.layout.dashboard_spacer;
private static final int TYPE_CONDITION = R.layout.condition_card;
private static final int TYPE_STATUS = R.layout.dashboard_status_card;
// Multi namespace support.
private final Context mContext;
@@ -63,16 +56,13 @@ public final class DashboardStatusAdapter
// Layout control
private final SpanSizeLookup mSpanSizeLookup;
private final ItemDecoration mItemDecoration;
private List<Condition> mConditions;
private Condition mExpandedCondition = null;
private List<StatusCategory> mStatus;
public DashboardStatusAdapter(Context context) {
mContext = context;
mSpanSizeLookup = new SpanSizeLookup();
mItemDecoration = new ItemDecoration(context);
setHasStableIds(true);
}
@@ -80,7 +70,6 @@ public final class DashboardStatusAdapter
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(
LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false));
}
@Override
@@ -95,11 +84,6 @@ public final class DashboardStatusAdapter
onExpandClick(v);
}
});
break;
case TYPE_STATUS:
final StatusCategory status = (StatusCategory) mItems.get(position);
status.bindToViewHolder(holder);
break;
}
}
@@ -132,10 +116,6 @@ public final class DashboardStatusAdapter
return mSpanSizeLookup;
}
public ItemDecoration getItemDecoration() {
return mItemDecoration;
}
public void setConditions(List<Condition> conditions) {
mConditions = conditions;
recountItems();
@@ -150,7 +130,7 @@ public final class DashboardStatusAdapter
return null;
}
private void countItem(Object object, @LayoutRes int type, boolean add, int nameSpace) {
private void countItem(Object object, int type, boolean add, int nameSpace) {
if (add) {
mItems.add(object);
mTypes.add(type);
@@ -173,16 +153,9 @@ public final class DashboardStatusAdapter
private void recountItems() {
reset();
countItem(null, TYPE_SPACER, true /* add */, NS_SPACER);
boolean hasCondition = false;
for (int i = 0; mConditions != null && i < mConditions.size(); i++) {
boolean shouldShow = mConditions.get(i).shouldShow();
countItem(mConditions.get(i), TYPE_CONDITION, shouldShow, NS_CONDITION);
hasCondition |= shouldShow;
}
countItem(null, TYPE_SPACER, hasCondition, NS_SPACER);
for (int i = 0; mStatus != null && i < mStatus.size(); i++) {
countItem(mStatus.get(i), TYPE_STATUS, true, NS_STATUS);
}
notifyDataSetChanged();
}
@@ -196,16 +169,12 @@ public final class DashboardStatusAdapter
notifyDataSetChanged();
}
/**
* {@link GridLayoutManager.SpanSizeLookup} that assigns column span for different item types.
*/
private final class SpanSizeLookup extends GridLayoutManager.SpanSizeLookup {
@Override
public int getSpanSize(int position) {
final int viewType = getItemViewType(position);
switch (viewType) {
case TYPE_CONDITION:
case TYPE_SPACER:
return 2;
default:
return 1;
@@ -213,66 +182,16 @@ public final class DashboardStatusAdapter
}
}
/**
* {@link ItemDecoration} that adds padding around different types of views during layout.
*/
private static final class ItemDecoration extends RecyclerView.ItemDecoration {
private final int mItemSpacing;
public ItemDecoration(Context context) {
mItemSpacing = context.getResources()
.getDimensionPixelSize(R.dimen.dashboard_status_item_padding);
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
GridLayoutManager.LayoutParams layoutParams
= (GridLayoutManager.LayoutParams) view.getLayoutParams();
final int position = layoutParams.getViewLayoutPosition();
if (position == RecyclerView.NO_POSITION) {
super.getItemOffsets(outRect, view, parent, state);
return;
}
final int viewType = parent.getChildViewHolder(view).getItemViewType();
switch (viewType) {
case TYPE_SPACER:
// No padding for spacer.
super.getItemOffsets(outRect, view, parent, state);
return;
case TYPE_CONDITION:
// Adds padding horizontally.
outRect.left = mItemSpacing;
outRect.right = mItemSpacing;
return;
default:
// Adds padding around status card.
final int spanIndex = layoutParams.getSpanIndex();
outRect.left = spanIndex == 0 ? mItemSpacing : mItemSpacing / 2;
outRect.right = spanIndex + layoutParams.getSpanSize() == GRID_COLUMN_COUNT
? mItemSpacing : mItemSpacing / 2;
outRect.top = mItemSpacing;
outRect.bottom = 0;
break;
}
}
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public final TextView title;
public final ImageView icon;
public final TextView title;
public final TextView summary;
public final ImageView icon2;
public final TextView summary2;
public ViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(android.R.id.title);
icon = (ImageView) itemView.findViewById(android.R.id.icon);
title = (TextView) itemView.findViewById(android.R.id.title);
summary = (TextView) itemView.findViewById(android.R.id.summary);
icon2 = (ImageView) itemView.findViewById(android.R.id.icon2);
summary2 = (TextView) itemView.findViewById(android.R.id.text2);
}
}
}

View File

@@ -71,7 +71,6 @@ public final class DashboardStatusFragment extends InstrumentedFragment
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setListener(this);
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.addItemDecoration(mAdapter.getItemDecoration());
ConditionAdapterUtils.addDismiss(mRecyclerView);
return content;
}

View File

@@ -1,43 +0,0 @@
package com.android.settings.dashboard.status;
import android.annotation.StringRes;
import android.content.Context;
import android.graphics.drawable.Icon;
import com.android.settings.dashboard.DashboardStatusAdapter;
/**
* Data item for status category in dashboard.
*/
public final class StatusCategory {
private final String mTitle;
public StatusCategory(Context context, @StringRes int titleResId) {
mTitle = context.getString(titleResId);
}
public void bindToViewHolder(DashboardStatusAdapter.ViewHolder viewHolder) {
viewHolder.title.setText(mTitle);
viewHolder.icon.setImageIcon(getIcon());
viewHolder.summary.setText(getSummary());
viewHolder.icon2.setImageIcon(getSecondaryIcon());
viewHolder.summary2.setText(getSecondarySummary());
}
private Icon getIcon() {
return null;
}
private String getSummary() {
return null;
}
private Icon getSecondaryIcon() {
return null;
}
private String getSecondarySummary() {
return null;
}
}