Merge "Clean up the main architecture of Contextual Settings Homepage."
This commit is contained in:
committed by
Android (Google) Code Review
commit
f0542f0c25
@@ -56,7 +56,8 @@ public class HomepageAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int cardType) {
|
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int cardType) {
|
||||||
final HomepageCardRenderer renderer = mControllerRendererPool.getRenderer(mContext, cardType);
|
final HomepageCardRenderer renderer = mControllerRendererPool.getRenderer(mContext,
|
||||||
|
cardType);
|
||||||
final int viewType = renderer.getViewType();
|
final int viewType = renderer.getViewType();
|
||||||
final View view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false);
|
final View view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false);
|
||||||
|
|
||||||
@@ -66,7 +67,8 @@ public class HomepageAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
|||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||||
final int cardType = mHomepageCards.get(position).getCardType();
|
final int cardType = mHomepageCards.get(position).getCardType();
|
||||||
final HomepageCardRenderer renderer = mControllerRendererPool.getRenderer(mContext, cardType);
|
final HomepageCardRenderer renderer = mControllerRendererPool.getRenderer(mContext,
|
||||||
|
cardType);
|
||||||
|
|
||||||
renderer.bindView(holder, mHomepageCards.get(position));
|
renderer.bindView(holder, mHomepageCards.get(position));
|
||||||
}
|
}
|
||||||
|
@@ -44,7 +44,7 @@ public class HomepageCard {
|
|||||||
private final String mName;
|
private final String mName;
|
||||||
@CardType
|
@CardType
|
||||||
private final int mCardType;
|
private final int mCardType;
|
||||||
private final double mScore;
|
private final double mRankingScore;
|
||||||
private final String mSliceUri;
|
private final String mSliceUri;
|
||||||
private final int mCategory;
|
private final int mCategory;
|
||||||
private final String mLocalizedToLocale;
|
private final String mLocalizedToLocale;
|
||||||
@@ -58,8 +58,8 @@ public class HomepageCard {
|
|||||||
private final int mIconResId;
|
private final int mIconResId;
|
||||||
private final int mCardAction;
|
private final int mCardAction;
|
||||||
private final long mExpireTimeMS;
|
private final long mExpireTimeMS;
|
||||||
private final Drawable mDrawable;
|
private final Drawable mIconDrawable;
|
||||||
private final boolean mSupportHalfWidth;
|
private final boolean mIsHalfWidth;
|
||||||
|
|
||||||
String getName() {
|
String getName() {
|
||||||
return mName;
|
return mName;
|
||||||
@@ -69,8 +69,8 @@ public class HomepageCard {
|
|||||||
return mCardType;
|
return mCardType;
|
||||||
}
|
}
|
||||||
|
|
||||||
double getScore() {
|
double getRankingScore() {
|
||||||
return mScore;
|
return mRankingScore;
|
||||||
}
|
}
|
||||||
|
|
||||||
String getTextSliceUri() {
|
String getTextSliceUri() {
|
||||||
@@ -129,18 +129,18 @@ public class HomepageCard {
|
|||||||
return mExpireTimeMS;
|
return mExpireTimeMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
Drawable getDrawable() {
|
Drawable getIconDrawable() {
|
||||||
return mDrawable;
|
return mIconDrawable;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean getSupportHalfWidth() {
|
boolean isHalfWidth() {
|
||||||
return mSupportHalfWidth;
|
return mIsHalfWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
HomepageCard(Builder builder) {
|
HomepageCard(Builder builder) {
|
||||||
mName = builder.mName;
|
mName = builder.mName;
|
||||||
mCardType = builder.mCardType;
|
mCardType = builder.mCardType;
|
||||||
mScore = builder.mScore;
|
mRankingScore = builder.mRankingScore;
|
||||||
mSliceUri = builder.mSliceUri;
|
mSliceUri = builder.mSliceUri;
|
||||||
mCategory = builder.mCategory;
|
mCategory = builder.mCategory;
|
||||||
mLocalizedToLocale = builder.mLocalizedToLocale;
|
mLocalizedToLocale = builder.mLocalizedToLocale;
|
||||||
@@ -154,8 +154,8 @@ public class HomepageCard {
|
|||||||
mIconResId = builder.mIconResId;
|
mIconResId = builder.mIconResId;
|
||||||
mCardAction = builder.mCardAction;
|
mCardAction = builder.mCardAction;
|
||||||
mExpireTimeMS = builder.mExpireTimeMS;
|
mExpireTimeMS = builder.mExpireTimeMS;
|
||||||
mDrawable = builder.mDrawable;
|
mIconDrawable = builder.mIconDrawable;
|
||||||
mSupportHalfWidth = builder.mSupportHalfWidth;
|
mIsHalfWidth = builder.mIsHalfWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -182,7 +182,7 @@ public class HomepageCard {
|
|||||||
static class Builder {
|
static class Builder {
|
||||||
private String mName;
|
private String mName;
|
||||||
private int mCardType;
|
private int mCardType;
|
||||||
private double mScore;
|
private double mRankingScore;
|
||||||
private String mSliceUri;
|
private String mSliceUri;
|
||||||
private int mCategory;
|
private int mCategory;
|
||||||
private String mLocalizedToLocale;
|
private String mLocalizedToLocale;
|
||||||
@@ -196,8 +196,8 @@ public class HomepageCard {
|
|||||||
private int mIconResId;
|
private int mIconResId;
|
||||||
private int mCardAction;
|
private int mCardAction;
|
||||||
private long mExpireTimeMS;
|
private long mExpireTimeMS;
|
||||||
private Drawable mDrawable;
|
private Drawable mIconDrawable;
|
||||||
private boolean mSupportHalfWidth;
|
private boolean mIsHalfWidth;
|
||||||
|
|
||||||
public Builder setName(String name) {
|
public Builder setName(String name) {
|
||||||
mName = name;
|
mName = name;
|
||||||
@@ -209,8 +209,8 @@ public class HomepageCard {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setScore(double score) {
|
public Builder setRankingScore(double rankingScore) {
|
||||||
mScore = score;
|
mRankingScore = rankingScore;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,13 +279,13 @@ public class HomepageCard {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setDrawable(Drawable drawable) {
|
public Builder setIconDrawable(Drawable iconDrawable) {
|
||||||
mDrawable = drawable;
|
mIconDrawable = iconDrawable;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setSupportHalfWidth(boolean supportHalfWidth) {
|
public Builder setIsHalfWidth(boolean isHalfWidth) {
|
||||||
mSupportHalfWidth = supportHalfWidth;
|
mIsHalfWidth = isHalfWidth;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,11 +16,10 @@
|
|||||||
|
|
||||||
package com.android.settings.homepage;
|
package com.android.settings.homepage;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
//TODO(b/111821137): add test cases
|
//TODO(b/111821137): add test cases
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data controller for {@link HomepageCard}.
|
* Data controller for {@link HomepageCard}.
|
||||||
*/
|
*/
|
||||||
@@ -39,7 +38,5 @@ public interface HomepageCardController {
|
|||||||
|
|
||||||
void onActionClick(HomepageCard card);
|
void onActionClick(HomepageCard card);
|
||||||
|
|
||||||
void setLifecycle(Lifecycle lifecycle);
|
|
||||||
|
|
||||||
void setHomepageCardUpdateListener(HomepageCardUpdateListener listener);
|
void setHomepageCardUpdateListener(HomepageCardUpdateListener listener);
|
||||||
}
|
}
|
||||||
|
@@ -44,10 +44,8 @@ public class HomepageCardLookupTable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static final Set<HomepageMapping> LOOKUP_TABLE = new TreeSet<HomepageMapping>() {
|
private static final Set<HomepageMapping> LOOKUP_TABLE = new TreeSet<HomepageMapping>() {
|
||||||
{
|
|
||||||
//add(new HomepageMapping(CardType.CONDITIONAL, ConditionHomepageCardController.class,
|
//add(new HomepageMapping(CardType.CONDITIONAL, ConditionHomepageCardController.class,
|
||||||
// ConditionHomepageCardRenderer.class));
|
// ConditionHomepageCardRenderer.class));
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
public static Class<? extends HomepageCardController> getCardControllerClass(
|
public static Class<? extends HomepageCardController> getCardControllerClass(
|
||||||
|
@@ -20,6 +20,7 @@ import android.content.Context;
|
|||||||
import android.widget.BaseAdapter;
|
import android.widget.BaseAdapter;
|
||||||
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -82,7 +83,11 @@ public class HomepageManager implements CardContentLoader.CardContentLoaderListe
|
|||||||
cardType);
|
cardType);
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
controller.setHomepageCardUpdateListener(this);
|
controller.setHomepageCardUpdateListener(this);
|
||||||
controller.setLifecycle(mLifecycle);
|
if (controller instanceof LifecycleObserver) {
|
||||||
|
if (mLifecycle != null) {
|
||||||
|
mLifecycle.addObserver((LifecycleObserver) controller);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user