From a7463814014691acfd554b7098f9801fd2148915 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Thu, 6 Sep 2018 17:45:50 -0700 Subject: [PATCH] Rename a bunch of stuff. For homepage cards, rename Homepage* to ContextualCard*. Change-Id: I95740f15a1789683fa6c61f03ecf9bc47c367146 Fixes: 113966426 Test: robotests --- .../settings/homepage/CardContentLoader.java | 8 +-- ...{HomepageCard.java => ContextualCard.java} | 16 ++--- ...ler.java => ContextualCardController.java} | 16 ++--- ...le.java => ContextualCardLookupTable.java} | 40 ++++++------ ...anager.java => ContextualCardManager.java} | 62 +++++++++---------- ...derer.java => ContextualCardRenderer.java} | 10 +-- ...java => ContextualCardUpdateListener.java} | 12 ++-- ...apter.java => ContextualCardsAdapter.java} | 36 +++++------ .../homepage/ControllerRendererPool.java | 50 +++++++-------- .../homepage/PersonalSettingsFragment.java | 18 +++--- ...=> ConditionContextualCardController.java} | 53 ++++++++-------- ...a => ConditionContextualCardRenderer.java} | 20 +++--- ...rd.java => ConditionalContextualCard.java} | 16 ++--- ...onditionContextualCardControllerTest.java} | 12 ++-- ... ConditionContextualCardRendererTest.java} | 29 +++++---- 15 files changed, 199 insertions(+), 199 deletions(-) rename src/com/android/settings/homepage/{HomepageCard.java => ContextualCard.java} (95%) rename src/com/android/settings/homepage/{HomepageCardController.java => ContextualCardController.java} (68%) rename src/com/android/settings/homepage/{HomepageCardLookupTable.java => ContextualCardLookupTable.java} (50%) rename src/com/android/settings/homepage/{HomepageManager.java => ContextualCardManager.java} (56%) rename src/com/android/settings/homepage/{HomepageCardRenderer.java => ContextualCardRenderer.java} (76%) rename src/com/android/settings/homepage/{HomepageCardUpdateListener.java => ContextualCardUpdateListener.java} (59%) rename src/com/android/settings/homepage/{HomepageAdapter.java => ContextualCardsAdapter.java} (72%) rename src/com/android/settings/homepage/conditional/{ConditionHomepageCardController.java => ConditionContextualCardController.java} (55%) rename src/com/android/settings/homepage/conditional/{ConditionHomepageCardRenderer.java => ConditionContextualCardRenderer.java} (89%) rename src/com/android/settings/homepage/conditional/{ConditionCard.java => ConditionalContextualCard.java} (81%) rename tests/robotests/src/com/android/settings/homepage/conditional/{ConditionHomepageCardControllerTest.java => ConditionContextualCardControllerTest.java} (91%) rename tests/robotests/src/com/android/settings/homepage/conditional/{ConditionHomepageCardRendererTest.java => ConditionContextualCardRendererTest.java} (79%) diff --git a/src/com/android/settings/homepage/CardContentLoader.java b/src/com/android/settings/homepage/CardContentLoader.java index 4e1e33ef891..47ba59afe8e 100644 --- a/src/com/android/settings/homepage/CardContentLoader.java +++ b/src/com/android/settings/homepage/CardContentLoader.java @@ -32,7 +32,7 @@ public class CardContentLoader { private CardContentLoaderListener mListener; public interface CardContentLoaderListener { - void onFinishCardLoading(List homepageCards); + void onFinishCardLoading(List contextualCards); } public CardContentLoader() { @@ -42,20 +42,20 @@ public class CardContentLoader { mListener = listener; } - private static class CardLoader extends AsyncLoaderCompat> { + private static class CardLoader extends AsyncLoaderCompat> { public CardLoader(Context context) { super(context); } @Override - protected void onDiscardResult(List result) { + protected void onDiscardResult(List result) { } @Nullable @Override - public List loadInBackground() { + public List loadInBackground() { return null; } } diff --git a/src/com/android/settings/homepage/HomepageCard.java b/src/com/android/settings/homepage/ContextualCard.java similarity index 95% rename from src/com/android/settings/homepage/HomepageCard.java rename to src/com/android/settings/homepage/ContextualCard.java index 1469ff1896d..f5083d80e6c 100644 --- a/src/com/android/settings/homepage/HomepageCard.java +++ b/src/com/android/settings/homepage/ContextualCard.java @@ -25,12 +25,12 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** - * Data class representing a {@link HomepageCard}. + * Data class representing a {@link ContextualCard}. */ -public class HomepageCard { +public class ContextualCard { /** - * Flags indicating the type of the HomepageCard. + * Flags indicating the type of the ContextualCard. */ @IntDef({CardType.INVALID, CardType.SLICE, CardType.SUGGESTION, CardType.CONDITIONAL}) @Retention(RetentionPolicy.SOURCE) @@ -137,7 +137,7 @@ public class HomepageCard { return mIsHalfWidth; } - public HomepageCard(Builder builder) { + public ContextualCard(Builder builder) { mName = builder.mName; mCardType = builder.mCardType; mRankingScore = builder.mRankingScore; @@ -171,10 +171,10 @@ public class HomepageCard { if (this == obj) { return true; } - if (!(obj instanceof HomepageCard)) { + if (!(obj instanceof ContextualCard)) { return false; } - final HomepageCard that = (HomepageCard) obj; + final ContextualCard that = (ContextualCard) obj; return TextUtils.equals(mName, that.mName); } @@ -289,8 +289,8 @@ public class HomepageCard { return this; } - public HomepageCard build() { - return new HomepageCard(this); + public ContextualCard build() { + return new ContextualCard(this); } } } diff --git a/src/com/android/settings/homepage/HomepageCardController.java b/src/com/android/settings/homepage/ContextualCardController.java similarity index 68% rename from src/com/android/settings/homepage/HomepageCardController.java rename to src/com/android/settings/homepage/ContextualCardController.java index a7d89afc504..921d72bda8a 100644 --- a/src/com/android/settings/homepage/HomepageCardController.java +++ b/src/com/android/settings/homepage/ContextualCardController.java @@ -19,22 +19,22 @@ package com.android.settings.homepage; import java.util.List; /** - * Data controller for {@link HomepageCard}. + * Data controller for {@link ContextualCard}. */ -public interface HomepageCardController { +public interface ContextualCardController { - @HomepageCard.CardType + @ContextualCard.CardType int getCardType(); /** - * When data is updated or changed, the new data should be passed to HomepageManager for list + * When data is updated or changed, the new data should be passed to ContextualCardManager for list * updating. */ - void onDataUpdated(List cardList); + void onDataUpdated(List cardList); - void onPrimaryClick(HomepageCard card); + void onPrimaryClick(ContextualCard card); - void onActionClick(HomepageCard card); + void onActionClick(ContextualCard card); - void setHomepageCardUpdateListener(HomepageCardUpdateListener listener); + void setCardUpdateListener(ContextualCardUpdateListener listener); } diff --git a/src/com/android/settings/homepage/HomepageCardLookupTable.java b/src/com/android/settings/homepage/ContextualCardLookupTable.java similarity index 50% rename from src/com/android/settings/homepage/HomepageCardLookupTable.java rename to src/com/android/settings/homepage/ContextualCardLookupTable.java index 8d8e52b183e..e70b700fea2 100644 --- a/src/com/android/settings/homepage/HomepageCardLookupTable.java +++ b/src/com/android/settings/homepage/ContextualCardLookupTable.java @@ -16,43 +16,45 @@ package com.android.settings.homepage; -import com.android.settings.homepage.HomepageCard.CardType; -import com.android.settings.homepage.conditional.ConditionHomepageCardController; -import com.android.settings.homepage.conditional.ConditionHomepageCardRenderer; +import com.android.settings.homepage.ContextualCard.CardType; +import com.android.settings.homepage.conditional.ConditionContextualCardController; +import com.android.settings.homepage.conditional.ConditionContextualCardRenderer; import java.util.Set; import java.util.TreeSet; -public class HomepageCardLookupTable { +public class ContextualCardLookupTable { - static class HomepageMapping implements Comparable { + static class ControllerRendererMapping implements Comparable { @CardType private final int mCardType; - private final Class mControllerClass; - private final Class mRendererClass; + private final Class mControllerClass; + private final Class mRendererClass; - private HomepageMapping(@CardType int cardType, - Class controllerClass, - Class rendererClass) { + private ControllerRendererMapping(@CardType int cardType, + Class controllerClass, + Class rendererClass) { mCardType = cardType; mControllerClass = controllerClass; mRendererClass = rendererClass; } @Override - public int compareTo(HomepageMapping other) { + public int compareTo(ControllerRendererMapping other) { return Integer.compare(this.mCardType, other.mCardType); } } - private static final Set LOOKUP_TABLE = new TreeSet() {{ - add(new HomepageMapping(CardType.CONDITIONAL, ConditionHomepageCardController.class, - ConditionHomepageCardRenderer.class)); - }}; + private static final Set LOOKUP_TABLE = + new TreeSet() {{ + add(new ControllerRendererMapping(CardType.CONDITIONAL, + ConditionContextualCardController.class, + ConditionContextualCardRenderer.class)); + }}; - public static Class getCardControllerClass( + public static Class getCardControllerClass( @CardType int cardType) { - for (HomepageMapping mapping : LOOKUP_TABLE) { + for (ControllerRendererMapping mapping : LOOKUP_TABLE) { if (mapping.mCardType == cardType) { return mapping.mControllerClass; } @@ -61,9 +63,9 @@ public class HomepageCardLookupTable { } //TODO(b/112578070): Implement multi renderer cases. - public static Class getCardRendererClasses( + public static Class getCardRendererClasses( @CardType int cardType) { - for (HomepageMapping mapping : LOOKUP_TABLE) { + for (ControllerRendererMapping mapping : LOOKUP_TABLE) { if (mapping.mCardType == cardType) { return mapping.mRendererClass; } diff --git a/src/com/android/settings/homepage/HomepageManager.java b/src/com/android/settings/homepage/ContextualCardManager.java similarity index 56% rename from src/com/android/settings/homepage/HomepageManager.java rename to src/com/android/settings/homepage/ContextualCardManager.java index 61d7ce7c713..255f7a218a6 100644 --- a/src/com/android/settings/homepage/HomepageManager.java +++ b/src/com/android/settings/homepage/ContextualCardManager.java @@ -26,37 +26,37 @@ import java.util.ArrayList; import java.util.List; /** - * This is a centralized manager of multiple {@link HomepageCardController}. + * This is a centralized manager of multiple {@link ContextualCardController}. * - * {@link HomepageManager} first loads data from {@link CardContentLoader} and gets back a list of - * {@link HomepageCard}. All subclasses of {@link HomepageCardController} are loaded here, which - * will then trigger the {@link HomepageCardController} to load its data and listen to - * corresponding changes. When every single {@link HomepageCardController} updates its data, the + * {@link ContextualCardManager} first loads data from {@link CardContentLoader} and gets back a list of + * {@link ContextualCard}. All subclasses of {@link ContextualCardController} are loaded here, which + * will then trigger the {@link ContextualCardController} to load its data and listen to + * corresponding changes. When every single {@link ContextualCardController} updates its data, the * data will be passed here, then going through some sorting mechanisms. The - * {@link HomepageCardController} will end up building a list of {@link HomepageCard} for {@link - * HomepageAdapter} and {@link BaseAdapter#notifyDataSetChanged()} will be called to get the page + * {@link ContextualCardController} will end up building a list of {@link ContextualCard} for {@link + * ContextualCardsAdapter} and {@link BaseAdapter#notifyDataSetChanged()} will be called to get the page * refreshed. */ -public class HomepageManager implements CardContentLoader.CardContentLoaderListener, - HomepageCardUpdateListener { +public class ContextualCardManager implements CardContentLoader.CardContentLoaderListener, + ContextualCardUpdateListener { - private static final String TAG = "HomepageManager"; + private static final String TAG = "ContextualCardManager"; //The list for Settings Custom Card - @HomepageCard.CardType - private static final int[] SETTINGS_CARDS = {HomepageCard.CardType.CONDITIONAL}; + @ContextualCard.CardType + private static final int[] SETTINGS_CARDS = {ContextualCard.CardType.CONDITIONAL}; private final Context mContext; private final ControllerRendererPool mControllerRendererPool; private final Lifecycle mLifecycle; - private List mHomepageCards; - private HomepageCardUpdateListener mListener; + private List mContextualCards; + private ContextualCardUpdateListener mListener; - public HomepageManager(Context context, Lifecycle lifecycle) { + public ContextualCardManager(Context context, Lifecycle lifecycle) { mContext = context; mLifecycle = lifecycle; - mHomepageCards = new ArrayList<>(); + mContextualCards = new ArrayList<>(); mControllerRendererPool = new ControllerRendererPool(); } @@ -66,8 +66,8 @@ public class HomepageManager implements CardContentLoader.CardContentLoaderListe } private void loadCardControllers() { - if (mHomepageCards != null) { - for (HomepageCard card : mHomepageCards) { + if (mContextualCards != null) { + for (ContextualCard card : mContextualCards) { setupController(card.getCardType()); } } @@ -79,10 +79,10 @@ public class HomepageManager implements CardContentLoader.CardContentLoaderListe } private void setupController(int cardType) { - final HomepageCardController controller = mControllerRendererPool.getController(mContext, + final ContextualCardController controller = mControllerRendererPool.getController(mContext, cardType); if (controller != null) { - controller.setHomepageCardUpdateListener(this); + controller.setCardUpdateListener(this); if (controller instanceof LifecycleObserver) { if (mLifecycle != null) { mLifecycle.addObserver((LifecycleObserver) controller); @@ -93,35 +93,35 @@ public class HomepageManager implements CardContentLoader.CardContentLoaderListe //TODO(b/111822376): implement sorting mechanism. private void sortCards() { - //take mHomepageCards as the source and do the ranking based on the rule. + //take mContextualCards as the source and do the ranking based on the rule. } @Override - public void onHomepageCardUpdated(int cardType, List updateList) { + public void onHomepageCardUpdated(int cardType, List updateList) { //TODO(b/112245748): Should implement a DiffCallback. //Keep the old list for comparison. - final List prevCards = mHomepageCards; + final List prevCards = mContextualCards; //Remove the existing data that matches the certain cardType so as to insert the new data. - for (int i = mHomepageCards.size() - 1; i >= 0; i--) { - if (mHomepageCards.get(i).getCardType() == cardType) { - mHomepageCards.remove(i); + for (int i = mContextualCards.size() - 1; i >= 0; i--) { + if (mContextualCards.get(i).getCardType() == cardType) { + mContextualCards.remove(i); } } //Append the new data - mHomepageCards.addAll(updateList); + mContextualCards.addAll(updateList); sortCards(); if (mListener != null) { - mListener.onHomepageCardUpdated(HomepageCard.CardType.INVALID, mHomepageCards); + mListener.onHomepageCardUpdated(ContextualCard.CardType.INVALID, mContextualCards); } } @Override - public void onFinishCardLoading(List homepageCards) { - mHomepageCards = homepageCards; + public void onFinishCardLoading(List contextualCards) { + mContextualCards = contextualCards; //Force card sorting here in case CardControllers of custom view have nothing to update // for the first launch. @@ -130,7 +130,7 @@ public class HomepageManager implements CardContentLoader.CardContentLoaderListe loadCardControllers(); } - void setListener(HomepageCardUpdateListener listener) { + void setListener(ContextualCardUpdateListener listener) { mListener = listener; } diff --git a/src/com/android/settings/homepage/HomepageCardRenderer.java b/src/com/android/settings/homepage/ContextualCardRenderer.java similarity index 76% rename from src/com/android/settings/homepage/HomepageCardRenderer.java rename to src/com/android/settings/homepage/ContextualCardRenderer.java index ffa54e36a69..94fdb438f9e 100644 --- a/src/com/android/settings/homepage/HomepageCardRenderer.java +++ b/src/com/android/settings/homepage/ContextualCardRenderer.java @@ -21,9 +21,9 @@ import android.view.View; import androidx.recyclerview.widget.RecyclerView; /** - * UI renderer for {@link HomepageCard}. + * UI renderer for {@link ContextualCard}. */ -public interface HomepageCardRenderer { +public interface ContextualCardRenderer { /** * The layout type of the controller. @@ -31,16 +31,16 @@ public interface HomepageCardRenderer { int getViewType(); /** - * When {@link HomepageAdapter} calls {@link HomepageAdapter#onCreateViewHolder(ViewGroup, + * When {@link ContextualCardsAdapter} calls {@link ContextualCardsAdapter#onCreateViewHolder(ViewGroup, * int)}, this method will be called to retrieve the corresponding * {@link androidx.recyclerview.widget.RecyclerView.ViewHolder}. */ RecyclerView.ViewHolder createViewHolder(View view); /** - * When {@link HomepageAdapter} calls {@link HomepageAdapter#onBindViewHolder(RecyclerView + * When {@link ContextualCardsAdapter} calls {@link ContextualCardsAdapter#onBindViewHolder(RecyclerView * .ViewHolder, int)}, this method will be called to bind data to the * {@link androidx.recyclerview.widget.RecyclerView.ViewHolder}. */ - void bindView(RecyclerView.ViewHolder holder, HomepageCard card); + void bindView(RecyclerView.ViewHolder holder, ContextualCard card); } \ No newline at end of file diff --git a/src/com/android/settings/homepage/HomepageCardUpdateListener.java b/src/com/android/settings/homepage/ContextualCardUpdateListener.java similarity index 59% rename from src/com/android/settings/homepage/HomepageCardUpdateListener.java rename to src/com/android/settings/homepage/ContextualCardUpdateListener.java index 35bc3a34bf1..0b454260081 100644 --- a/src/com/android/settings/homepage/HomepageCardUpdateListener.java +++ b/src/com/android/settings/homepage/ContextualCardUpdateListener.java @@ -19,13 +19,13 @@ package com.android.settings.homepage; import java.util.List; /** - * When {@link HomepageCardController} detects changes, it will notify the listeners registered. In - * our case, {@link HomepageManager} gets noticed. + * When {@link ContextualCardController} detects changes, it will notify the listeners registered. In + * our case, {@link ContextualCardManager} gets noticed. * - * After the list of {@link HomepageCard} gets updated in{@link HomepageManager}, - * {@link HomepageManager} will notify the listeners registered, {@link HomepageAdapter} in this + * After the list of {@link ContextualCard} gets updated in{@link ContextualCardManager}, + * {@link ContextualCardManager} will notify the listeners registered, {@link ContextualCardsAdapter} in this * case. */ -public interface HomepageCardUpdateListener { - void onHomepageCardUpdated(int cardType, List updateList); +public interface ContextualCardUpdateListener { + void onHomepageCardUpdated(int cardType, List updateList); } \ No newline at end of file diff --git a/src/com/android/settings/homepage/HomepageAdapter.java b/src/com/android/settings/homepage/ContextualCardsAdapter.java similarity index 72% rename from src/com/android/settings/homepage/HomepageAdapter.java rename to src/com/android/settings/homepage/ContextualCardsAdapter.java index bd376012223..254f4a4b440 100644 --- a/src/com/android/settings/homepage/HomepageAdapter.java +++ b/src/com/android/settings/homepage/ContextualCardsAdapter.java @@ -27,39 +27,39 @@ import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; import java.util.List; -public class HomepageAdapter extends RecyclerView.Adapter implements - HomepageCardUpdateListener { +public class ContextualCardsAdapter extends RecyclerView.Adapter implements + ContextualCardUpdateListener { static final int SPAN_COUNT = 2; - private static final String TAG = "HomepageAdapter"; + private static final String TAG = "ContextualCardsAdapter"; private static final int HALF_WIDTH = 1; private static final int FULL_WIDTH = 2; private final Context mContext; private final ControllerRendererPool mControllerRendererPool; - private List mHomepageCards; + private List mContextualCards; - public HomepageAdapter(Context context, HomepageManager manager) { + public ContextualCardsAdapter(Context context, ContextualCardManager manager) { mContext = context; - mHomepageCards = new ArrayList<>(); + mContextualCards = new ArrayList<>(); mControllerRendererPool = manager.getControllerRendererPool(); setHasStableIds(true); } @Override public long getItemId(int position) { - return mHomepageCards.get(position).hashCode(); + return mContextualCards.get(position).hashCode(); } @Override public int getItemViewType(int position) { - return mHomepageCards.get(position).getCardType(); + return mContextualCards.get(position).getCardType(); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int cardType) { - final HomepageCardRenderer renderer = mControllerRendererPool.getRenderer(mContext, + final ContextualCardRenderer renderer = mControllerRendererPool.getRenderer(mContext, cardType); final int viewType = renderer.getViewType(); final View view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false); @@ -69,16 +69,16 @@ public class HomepageAdapter extends RecyclerView.Adapter homepageCards) { + public void onHomepageCardUpdated(int cardType, List contextualCards) { //TODO(b/112245748): Should implement a DiffCallback so we can use notifyItemChanged() // instead. - if (homepageCards == null) { - mHomepageCards.clear(); + if (contextualCards == null) { + mContextualCards.clear(); } else { - mHomepageCards = homepageCards; + mContextualCards = contextualCards; } notifyDataSetChanged(); } diff --git a/src/com/android/settings/homepage/ControllerRendererPool.java b/src/com/android/settings/homepage/ControllerRendererPool.java index ebd63d4ff9b..1e4b37c24e5 100644 --- a/src/com/android/settings/homepage/ControllerRendererPool.java +++ b/src/com/android/settings/homepage/ControllerRendererPool.java @@ -21,77 +21,77 @@ import android.util.Log; import androidx.collection.ArraySet; -import com.android.settings.homepage.conditional.ConditionHomepageCardController; -import com.android.settings.homepage.conditional.ConditionHomepageCardRenderer; +import com.android.settings.homepage.conditional.ConditionContextualCardController; +import com.android.settings.homepage.conditional.ConditionContextualCardRenderer; import java.util.Set; /** - * This is a fragment scoped singleton holding a set of {@link HomepageCardController} and - * {@link HomepageCardRenderer}. + * This is a fragment scoped singleton holding a set of {@link ContextualCardController} and + * {@link ContextualCardRenderer}. */ public class ControllerRendererPool { private static final String TAG = "ControllerRendererPool"; - private final Set mControllers; - private final Set mRenderers; + private final Set mControllers; + private final Set mRenderers; public ControllerRendererPool() { mControllers = new ArraySet<>(); mRenderers = new ArraySet<>(); } - public T getController(Context context, - @HomepageCard.CardType int cardType) { - final Class clz = - HomepageCardLookupTable.getCardControllerClass(cardType); - for (HomepageCardController controller : mControllers) { + public T getController(Context context, + @ContextualCard.CardType int cardType) { + final Class clz = + ContextualCardLookupTable.getCardControllerClass(cardType); + for (ContextualCardController controller : mControllers) { if (controller.getClass() == clz) { Log.d(TAG, "Controller is already there."); return (T) controller; } } - final HomepageCardController controller = createCardController(context, clz); + final ContextualCardController controller = createCardController(context, clz); if (controller != null) { mControllers.add(controller); } return (T) controller; } - public Set getControllers() { + public Set getControllers() { return mControllers; } - public HomepageCardRenderer getRenderer(Context context, @HomepageCard.CardType int cardType) { - final Class clz = - HomepageCardLookupTable.getCardRendererClasses(cardType); - for (HomepageCardRenderer renderer : mRenderers) { + public ContextualCardRenderer getRenderer(Context context, @ContextualCard.CardType int cardType) { + final Class clz = + ContextualCardLookupTable.getCardRendererClasses(cardType); + for (ContextualCardRenderer renderer : mRenderers) { if (renderer.getClass() == clz) { Log.d(TAG, "Renderer is already there."); return renderer; } } - final HomepageCardRenderer renderer = createCardRenderer(context, clz); + final ContextualCardRenderer renderer = createCardRenderer(context, clz); if (renderer != null) { mRenderers.add(renderer); } return renderer; } - private HomepageCardController createCardController(Context context, - Class clz) { - if (ConditionHomepageCardController.class == clz) { - return new ConditionHomepageCardController(context); + private ContextualCardController createCardController(Context context, + Class clz) { + if (ConditionContextualCardController.class == clz) { + return new ConditionContextualCardController(context); } return null; } - private HomepageCardRenderer createCardRenderer(Context context, Class clz) { - if (ConditionHomepageCardRenderer.class == clz) { - return new ConditionHomepageCardRenderer(context, this /*controllerRendererPool*/); + private ContextualCardRenderer createCardRenderer(Context context, Class clz) { + if (ConditionContextualCardRenderer.class == clz) { + return new ConditionContextualCardRenderer(context, this /*controllerRendererPool*/); } return null; } diff --git a/src/com/android/settings/homepage/PersonalSettingsFragment.java b/src/com/android/settings/homepage/PersonalSettingsFragment.java index 1894e5e3696..69af23be2c8 100644 --- a/src/com/android/settings/homepage/PersonalSettingsFragment.java +++ b/src/com/android/settings/homepage/PersonalSettingsFragment.java @@ -16,7 +16,7 @@ package com.android.settings.homepage; -import static com.android.settings.homepage.HomepageAdapter.SPAN_COUNT; +import static com.android.settings.homepage.ContextualCardsAdapter.SPAN_COUNT; import android.os.Bundle; import android.view.LayoutInflater; @@ -36,17 +36,15 @@ public class PersonalSettingsFragment extends InstrumentedFragment { private static final String TAG = "PersonalSettingsFragment"; private RecyclerView mCardsContainer; - //TODO(b/113966426): rename - private HomepageAdapter mHomepageAdapter; private GridLayoutManager mLayoutManager; - //TODO(b/113966426): rename - private HomepageManager mHomepageManager; + private ContextualCardsAdapter mContextualCardsAdapter; + private ContextualCardManager mContextualCardManager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mHomepageManager = new HomepageManager(getContext(), getSettingsLifecycle()); - mHomepageManager.startCardContentLoading(); + mContextualCardManager = new ContextualCardManager(getContext(), getSettingsLifecycle()); + mContextualCardManager.startCardContentLoading(); } @Override @@ -58,9 +56,9 @@ public class PersonalSettingsFragment extends InstrumentedFragment { mLayoutManager = new GridLayoutManager(getActivity(), SPAN_COUNT, LinearLayoutManager.VERTICAL, false /* reverseLayout */); mCardsContainer.setLayoutManager(mLayoutManager); - mHomepageAdapter = new HomepageAdapter(getContext(), mHomepageManager); - mCardsContainer.setAdapter(mHomepageAdapter); - mHomepageManager.setListener(mHomepageAdapter); + mContextualCardsAdapter = new ContextualCardsAdapter(getContext(), mContextualCardManager); + mCardsContainer.setAdapter(mContextualCardsAdapter); + mContextualCardManager.setListener(mContextualCardsAdapter); return rootView; } diff --git a/src/com/android/settings/homepage/conditional/ConditionHomepageCardController.java b/src/com/android/settings/homepage/conditional/ConditionContextualCardController.java similarity index 55% rename from src/com/android/settings/homepage/conditional/ConditionHomepageCardController.java rename to src/com/android/settings/homepage/conditional/ConditionContextualCardController.java index bb7af4b7084..eab6099fff3 100644 --- a/src/com/android/settings/homepage/conditional/ConditionHomepageCardController.java +++ b/src/com/android/settings/homepage/conditional/ConditionContextualCardController.java @@ -18,9 +18,9 @@ package com.android.settings.homepage.conditional; import android.content.Context; -import com.android.settings.homepage.HomepageCard; -import com.android.settings.homepage.HomepageCardController; -import com.android.settings.homepage.HomepageCardUpdateListener; +import com.android.settings.homepage.ContextualCard; +import com.android.settings.homepage.ContextualCardController; +import com.android.settings.homepage.ContextualCardUpdateListener; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; @@ -32,32 +32,32 @@ import java.util.List; * This controller triggers the loading of conditional cards and monitors state changes to * update the homepage. */ -public class ConditionHomepageCardController implements HomepageCardController, ConditionListener, - LifecycleObserver, OnStart, OnStop { +public class ConditionContextualCardController implements ContextualCardController, + ConditionListener, LifecycleObserver, OnStart, OnStop { private final Context mContext; private final ConditionManager mConditionManager; - private HomepageCardUpdateListener mListener; + private ContextualCardUpdateListener mListener; - public ConditionHomepageCardController(Context context) { + public ConditionContextualCardController(Context context) { mContext = context; mConditionManager = new ConditionManager(context.getApplicationContext(), this); mConditionManager.startMonitoringStateChange(); } @Override - public void setHomepageCardUpdateListener(HomepageCardUpdateListener listener) { + public void setCardUpdateListener(ContextualCardUpdateListener listener) { mListener = listener; } @Override public int getCardType() { - return HomepageCard.CardType.CONDITIONAL; + return ContextualCard.CardType.CONDITIONAL; } @Override - public void onDataUpdated(List cardList) { + public void onDataUpdated(List cardList) { mListener.onHomepageCardUpdated(getCardType(), cardList); } @@ -72,34 +72,35 @@ public class ConditionHomepageCardController implements HomepageCardController, } @Override - public void onPrimaryClick(HomepageCard homepageCard) { - final ConditionCard card = (ConditionCard) homepageCard; + public void onPrimaryClick(ContextualCard contextualCard) { + final ConditionalContextualCard card = (ConditionalContextualCard) contextualCard; mConditionManager.onPrimaryClick(mContext, card.getConditionId()); - } @Override - public void onActionClick(HomepageCard homepageCard) { - final ConditionCard card = (ConditionCard) homepageCard; + public void onActionClick(ContextualCard contextualCard) { + final ConditionalContextualCard card = (ConditionalContextualCard) contextualCard; mConditionManager.onActionClick(card.getConditionId()); } @Override public void onConditionsChanged() { - final List conditionCards = new ArrayList<>(); + final List conditionCards = new ArrayList<>(); final List conditionList = mConditionManager.getDisplayableCards(); for (ConditionalCard condition : conditionList) { - final ConditionCard conditionCard = ((ConditionCard.Builder) new ConditionCard.Builder() - .setConditionId(condition.getId()) - .setMetricsConstant(condition.getMetricsConstant()) - .setActionText(condition.getActionText()) - .setName(mContext.getPackageName() + "/" + condition.getTitle().toString()) - .setCardType(HomepageCard.CardType.CONDITIONAL) - .setTitleText(condition.getTitle().toString()) - .setSummaryText(condition.getSummary().toString()) - .setIconDrawable(condition.getIcon())) - .build(); + final ContextualCard conditionCard = + new ConditionalContextualCard.Builder() + .setConditionId(condition.getId()) + .setMetricsConstant(condition.getMetricsConstant()) + .setActionText(condition.getActionText()) + .setName(mContext.getPackageName() + "/" + + condition.getTitle().toString()) + .setCardType(ContextualCard.CardType.CONDITIONAL) + .setTitleText(condition.getTitle().toString()) + .setSummaryText(condition.getSummary().toString()) + .setIconDrawable(condition.getIcon()) + .build(); conditionCards.add(conditionCard); } diff --git a/src/com/android/settings/homepage/conditional/ConditionHomepageCardRenderer.java b/src/com/android/settings/homepage/conditional/ConditionContextualCardRenderer.java similarity index 89% rename from src/com/android/settings/homepage/conditional/ConditionHomepageCardRenderer.java rename to src/com/android/settings/homepage/conditional/ConditionContextualCardRenderer.java index 6aa90ae558c..69988aeabdb 100644 --- a/src/com/android/settings/homepage/conditional/ConditionHomepageCardRenderer.java +++ b/src/com/android/settings/homepage/conditional/ConditionContextualCardRenderer.java @@ -27,21 +27,21 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; +import com.android.settings.homepage.ContextualCard; import com.android.settings.homepage.ControllerRendererPool; -import com.android.settings.homepage.HomepageCard; -import com.android.settings.homepage.HomepageCardRenderer; +import com.android.settings.homepage.ContextualCardRenderer; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; /** - * Card renderer for {@link ConditionCard}. + * Card renderer for {@link ConditionalContextualCard}. */ -public class ConditionHomepageCardRenderer implements HomepageCardRenderer { +public class ConditionContextualCardRenderer implements ContextualCardRenderer { private final Context mContext; private final ControllerRendererPool mControllerRendererPool; - public ConditionHomepageCardRenderer(Context context, + public ConditionContextualCardRenderer(Context context, ControllerRendererPool controllerRendererPool) { mContext = context; mControllerRendererPool = controllerRendererPool; @@ -58,9 +58,9 @@ public class ConditionHomepageCardRenderer implements HomepageCardRenderer { } @Override - public void bindView(RecyclerView.ViewHolder holder, HomepageCard homepageCard) { + public void bindView(RecyclerView.ViewHolder holder, ContextualCard contextualCard) { final ConditionalCardHolder view = (ConditionalCardHolder) holder; - final ConditionCard card = (ConditionCard) homepageCard; + final ConditionalContextualCard card = (ConditionalContextualCard) contextualCard; final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory( mContext).getMetricsFeatureProvider(); @@ -71,7 +71,7 @@ public class ConditionHomepageCardRenderer implements HomepageCardRenderer { initializeActionButton(view, card, metricsFeatureProvider); } - private void initializePrimaryClick(ConditionalCardHolder view, ConditionCard card, + private void initializePrimaryClick(ConditionalCardHolder view, ConditionalContextualCard card, MetricsFeatureProvider metricsFeatureProvider) { view.itemView.findViewById(R.id.content).setOnClickListener( v -> { @@ -83,7 +83,7 @@ public class ConditionHomepageCardRenderer implements HomepageCardRenderer { }); } - private void initializeView(ConditionalCardHolder view, ConditionCard card) { + private void initializeView(ConditionalCardHolder view, ConditionalContextualCard card) { view.icon.setImageDrawable(card.getIconDrawable()); view.title.setText(card.getTitleText()); view.summary.setText(card.getSummaryText()); @@ -91,7 +91,7 @@ public class ConditionHomepageCardRenderer implements HomepageCardRenderer { setViewVisibility(view.itemView, R.id.divider, false); } - private void initializeActionButton(ConditionalCardHolder view, ConditionCard card, + private void initializeActionButton(ConditionalCardHolder view, ConditionalContextualCard card, MetricsFeatureProvider metricsFeatureProvider) { final CharSequence action = card.getActionText(); final boolean hasButtons = !TextUtils.isEmpty(action); diff --git a/src/com/android/settings/homepage/conditional/ConditionCard.java b/src/com/android/settings/homepage/conditional/ConditionalContextualCard.java similarity index 81% rename from src/com/android/settings/homepage/conditional/ConditionCard.java rename to src/com/android/settings/homepage/conditional/ConditionalContextualCard.java index 9f445b2afd6..62a4956efcd 100644 --- a/src/com/android/settings/homepage/conditional/ConditionCard.java +++ b/src/com/android/settings/homepage/conditional/ConditionalContextualCard.java @@ -16,21 +16,21 @@ package com.android.settings.homepage.conditional; -import com.android.settings.homepage.HomepageCard; +import com.android.settings.homepage.ContextualCard; /** - * Data class representing a {@link ConditionCard}. + * Data class representing a conditional {@link ContextualCard}. * - * Use this class to store additional attributes on top of {@link HomepageCard} for + * Use this class to store additional attributes on top of {@link ContextualCard} for * {@link ConditionalCard}. */ -public class ConditionCard extends HomepageCard { +public class ConditionalContextualCard extends ContextualCard { private final long mConditionId; private final int mMetricsConstant; private final CharSequence mActionText; - private ConditionCard(Builder builder) { + private ConditionalContextualCard(Builder builder) { super(builder); mConditionId = builder.mConditionId; @@ -50,7 +50,7 @@ public class ConditionCard extends HomepageCard { return mActionText; } - static class Builder extends HomepageCard.Builder { + static class Builder extends ContextualCard.Builder { private long mConditionId; private int mMetricsConstant; @@ -71,8 +71,8 @@ public class ConditionCard extends HomepageCard { return this; } - public ConditionCard build() { - return new ConditionCard(this); + public ConditionalContextualCard build() { + return new ConditionalContextualCard(this); } } } \ No newline at end of file diff --git a/tests/robotests/src/com/android/settings/homepage/conditional/ConditionHomepageCardControllerTest.java b/tests/robotests/src/com/android/settings/homepage/conditional/ConditionContextualCardControllerTest.java similarity index 91% rename from tests/robotests/src/com/android/settings/homepage/conditional/ConditionHomepageCardControllerTest.java rename to tests/robotests/src/com/android/settings/homepage/conditional/ConditionContextualCardControllerTest.java index 2b8ab00e796..ed45ce7480d 100644 --- a/tests/robotests/src/com/android/settings/homepage/conditional/ConditionHomepageCardControllerTest.java +++ b/tests/robotests/src/com/android/settings/homepage/conditional/ConditionContextualCardControllerTest.java @@ -26,7 +26,7 @@ import android.content.Context; import android.graphics.drawable.Drawable; import com.android.settings.R; -import com.android.settings.homepage.HomepageCardUpdateListener; +import com.android.settings.homepage.ContextualCardUpdateListener; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; @@ -41,20 +41,20 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -public class ConditionHomepageCardControllerTest { +public class ConditionContextualCardControllerTest { @Mock private ConditionManager mConditionManager; @Mock - private HomepageCardUpdateListener mListener; + private ContextualCardUpdateListener mListener; private Context mContext; - private ConditionHomepageCardController mController; + private ConditionContextualCardController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); - mController = spy(new ConditionHomepageCardController(mContext)); + mController = spy(new ConditionContextualCardController(mContext)); ReflectionHelpers.setField(mController, "mConditionManager", mConditionManager); } @@ -78,7 +78,7 @@ public class ConditionHomepageCardControllerTest { final List conditionalCards = new ArrayList<>(); conditionalCards.add(fakeConditionalCard); when(mConditionManager.getDisplayableCards()).thenReturn(conditionalCards); - mController.setHomepageCardUpdateListener(mListener); + mController.setCardUpdateListener(mListener); mController.onConditionsChanged(); diff --git a/tests/robotests/src/com/android/settings/homepage/conditional/ConditionHomepageCardRendererTest.java b/tests/robotests/src/com/android/settings/homepage/conditional/ConditionContextualCardRendererTest.java similarity index 79% rename from tests/robotests/src/com/android/settings/homepage/conditional/ConditionHomepageCardRendererTest.java rename to tests/robotests/src/com/android/settings/homepage/conditional/ConditionContextualCardRendererTest.java index 663931a2eb0..1ee052d20d2 100644 --- a/tests/robotests/src/com/android/settings/homepage/conditional/ConditionHomepageCardRendererTest.java +++ b/tests/robotests/src/com/android/settings/homepage/conditional/ConditionContextualCardRendererTest.java @@ -31,8 +31,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.android.settings.R; +import com.android.settings.homepage.ContextualCard; import com.android.settings.homepage.ControllerRendererPool; -import com.android.settings.homepage.HomepageCard; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; @@ -43,20 +43,20 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; @RunWith(SettingsRobolectricTestRunner.class) -public class ConditionHomepageCardRendererTest { +public class ConditionContextualCardRendererTest { @Mock private ControllerRendererPool mControllerRendererPool; @Mock - private ConditionHomepageCardController mController; + private ConditionContextualCardController mController; private Context mContext; - private ConditionHomepageCardRenderer mRenderer; + private ConditionContextualCardRenderer mRenderer; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); - mRenderer = new ConditionHomepageCardRenderer(mContext, mControllerRendererPool); + mRenderer = new ConditionContextualCardRenderer(mContext, mControllerRendererPool); } @Test @@ -68,9 +68,9 @@ public class ConditionHomepageCardRendererTest { final RecyclerView.ViewHolder viewHolder = mRenderer.createViewHolder(view); final View card = view.findViewById(R.id.content); when(mControllerRendererPool.getController(mContext, - HomepageCard.CardType.CONDITIONAL)).thenReturn(mController); + ContextualCard.CardType.CONDITIONAL)).thenReturn(mController); - mRenderer.bindView(viewHolder, getHomepageCard()); + mRenderer.bindView(viewHolder, buildConditionContextualCard()); assertThat(card).isNotNull(); assertThat(card.hasOnClickListeners()).isTrue(); @@ -85,28 +85,27 @@ public class ConditionHomepageCardRendererTest { final RecyclerView.ViewHolder viewHolder = mRenderer.createViewHolder(view); final View card = view.findViewById(R.id.content); when(mControllerRendererPool.getController(mContext, - HomepageCard.CardType.CONDITIONAL)).thenReturn(mController); + ContextualCard.CardType.CONDITIONAL)).thenReturn(mController); - mRenderer.bindView(viewHolder, getHomepageCard()); + mRenderer.bindView(viewHolder, buildConditionContextualCard()); assertThat(card).isNotNull(); card.performClick(); - verify(mController).onPrimaryClick(any(HomepageCard.class)); + verify(mController).onPrimaryClick(any(ContextualCard.class)); } - private HomepageCard getHomepageCard() { - ConditionCard conditionCard = ((ConditionCard.Builder) new ConditionCard.Builder() + private ContextualCard buildConditionContextualCard() { + return new ConditionalContextualCard.Builder() .setConditionId(123) .setMetricsConstant(1) .setActionText("test_action") .setName("test_name") - .setCardType(HomepageCard.CardType.CONDITIONAL) + .setCardType(ContextualCard.CardType.CONDITIONAL) .setTitleText("test_title") .setSummaryText("test_summary") .setIconDrawable(mContext.getDrawable(R.drawable.ic_do_not_disturb_on_24dp)) - .setIsHalfWidth(true)) + .setIsHalfWidth(true) .build(); - return conditionCard; } }