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