Loading src/com/android/settings/homepage/ContextualCardManager.java +13 −12 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static com.android.settings.homepage.CardContentLoader.CARD_CONTENT_LOADE import android.content.Context; import android.os.Bundle; import android.util.Log; import android.widget.BaseAdapter; import androidx.annotation.NonNull; Loading Loading @@ -60,12 +61,15 @@ public class ContextualCardManager implements CardContentLoader.CardContentLoade private ContextualCardUpdateListener mListener; public ContextualCardManager(Context context, Lifecycle lifecycle) { mContext = context; mLifecycle = lifecycle; mContextualCards = new ArrayList<>(); mControllerRendererPool = new ControllerRendererPool(); //for data provided by Settings for (int cardType : SETTINGS_CARDS) { setupController(cardType); } } void loadContextualCards(PersonalSettingsFragment fragment) { Loading @@ -82,17 +86,15 @@ public class ContextualCardManager implements CardContentLoader.CardContentLoade setupController(card.getCardType()); } } //for data provided by Settings for (int cardType : SETTINGS_CARDS) { setupController(cardType); } } private void setupController(int cardType) { final ContextualCardController controller = mControllerRendererPool.getController(mContext, cardType); if (controller != null) { if (controller == null) { Log.w(TAG, "Cannot find ContextualCardController for type " + cardType); return; } controller.setCardUpdateListener(this); if (controller instanceof LifecycleObserver) { if (mLifecycle != null) { Loading @@ -100,7 +102,6 @@ public class ContextualCardManager implements CardContentLoader.CardContentLoade } } } } //TODO(b/111822376): implement sorting mechanism. private void sortCards() { Loading src/com/android/settings/homepage/conditional/ConditionContextualCardController.java +0 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,6 @@ public class ConditionContextualCardController implements ContextualCardControll .setActionText(condition.getActionText()) .setName(mContext.getPackageName() + "/" + condition.getTitle().toString()) .setCardType(ContextualCard.CardType.CONDITIONAL) .setTitleText(condition.getTitle().toString()) .setSummaryText(condition.getSummary().toString()) .setIconDrawable(condition.getIcon()) Loading src/com/android/settings/homepage/conditional/ConditionalContextualCard.java +14 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.homepage.conditional; import androidx.annotation.VisibleForTesting; import com.android.settings.homepage.ContextualCard; /** Loading @@ -38,6 +40,11 @@ public class ConditionalContextualCard extends ContextualCard { mActionText = builder.mActionText; } @Override public int getCardType() { return CardType.CONDITIONAL; } public long getConditionId() { return mConditionId; } Loading @@ -50,7 +57,7 @@ public class ConditionalContextualCard extends ContextualCard { return mActionText; } static class Builder extends ContextualCard.Builder { public static class Builder extends ContextualCard.Builder { private long mConditionId; private int mMetricsConstant; Loading @@ -71,6 +78,12 @@ public class ConditionalContextualCard extends ContextualCard { return this; } @Override public Builder setCardType(int cardType) { throw new IllegalArgumentException( "Cannot change card type for " + getClass().getName()); } public ConditionalContextualCard build() { return new ConditionalContextualCard(this); } Loading tests/robotests/src/com/android/settings/homepage/ConditionalContextualCardTest.java 0 → 100644 +42 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.homepage; import static com.google.common.truth.Truth.assertThat; import com.android.settings.homepage.conditional.ConditionalContextualCard; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(SettingsRobolectricTestRunner.class) public class ConditionalContextualCardTest { @Test(expected = IllegalArgumentException.class) public void newInstance_changeCardType_shouldCrash() { new ConditionalContextualCard.Builder() .setCardType(ContextualCard.CardType.SUGGESTION) .build(); } @Test public void getCardType_shouldAlwaysBeConditional() { assertThat(new ConditionalContextualCard.Builder().build().getCardType()) .isEqualTo(ContextualCard.CardType.CONDITIONAL); } } tests/robotests/src/com/android/settings/homepage/conditional/ConditionContextualCardRendererTest.java +0 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,6 @@ public class ConditionContextualCardRendererTest { .setMetricsConstant(1) .setActionText("test_action") .setName("test_name") .setCardType(ContextualCard.CardType.CONDITIONAL) .setTitleText("test_title") .setSummaryText("test_summary") .setIconDrawable(mContext.getDrawable(R.drawable.ic_do_not_disturb_on_24dp)) Loading Loading
src/com/android/settings/homepage/ContextualCardManager.java +13 −12 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static com.android.settings.homepage.CardContentLoader.CARD_CONTENT_LOADE import android.content.Context; import android.os.Bundle; import android.util.Log; import android.widget.BaseAdapter; import androidx.annotation.NonNull; Loading Loading @@ -60,12 +61,15 @@ public class ContextualCardManager implements CardContentLoader.CardContentLoade private ContextualCardUpdateListener mListener; public ContextualCardManager(Context context, Lifecycle lifecycle) { mContext = context; mLifecycle = lifecycle; mContextualCards = new ArrayList<>(); mControllerRendererPool = new ControllerRendererPool(); //for data provided by Settings for (int cardType : SETTINGS_CARDS) { setupController(cardType); } } void loadContextualCards(PersonalSettingsFragment fragment) { Loading @@ -82,17 +86,15 @@ public class ContextualCardManager implements CardContentLoader.CardContentLoade setupController(card.getCardType()); } } //for data provided by Settings for (int cardType : SETTINGS_CARDS) { setupController(cardType); } } private void setupController(int cardType) { final ContextualCardController controller = mControllerRendererPool.getController(mContext, cardType); if (controller != null) { if (controller == null) { Log.w(TAG, "Cannot find ContextualCardController for type " + cardType); return; } controller.setCardUpdateListener(this); if (controller instanceof LifecycleObserver) { if (mLifecycle != null) { Loading @@ -100,7 +102,6 @@ public class ContextualCardManager implements CardContentLoader.CardContentLoade } } } } //TODO(b/111822376): implement sorting mechanism. private void sortCards() { Loading
src/com/android/settings/homepage/conditional/ConditionContextualCardController.java +0 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,6 @@ public class ConditionContextualCardController implements ContextualCardControll .setActionText(condition.getActionText()) .setName(mContext.getPackageName() + "/" + condition.getTitle().toString()) .setCardType(ContextualCard.CardType.CONDITIONAL) .setTitleText(condition.getTitle().toString()) .setSummaryText(condition.getSummary().toString()) .setIconDrawable(condition.getIcon()) Loading
src/com/android/settings/homepage/conditional/ConditionalContextualCard.java +14 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.homepage.conditional; import androidx.annotation.VisibleForTesting; import com.android.settings.homepage.ContextualCard; /** Loading @@ -38,6 +40,11 @@ public class ConditionalContextualCard extends ContextualCard { mActionText = builder.mActionText; } @Override public int getCardType() { return CardType.CONDITIONAL; } public long getConditionId() { return mConditionId; } Loading @@ -50,7 +57,7 @@ public class ConditionalContextualCard extends ContextualCard { return mActionText; } static class Builder extends ContextualCard.Builder { public static class Builder extends ContextualCard.Builder { private long mConditionId; private int mMetricsConstant; Loading @@ -71,6 +78,12 @@ public class ConditionalContextualCard extends ContextualCard { return this; } @Override public Builder setCardType(int cardType) { throw new IllegalArgumentException( "Cannot change card type for " + getClass().getName()); } public ConditionalContextualCard build() { return new ConditionalContextualCard(this); } Loading
tests/robotests/src/com/android/settings/homepage/ConditionalContextualCardTest.java 0 → 100644 +42 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.homepage; import static com.google.common.truth.Truth.assertThat; import com.android.settings.homepage.conditional.ConditionalContextualCard; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(SettingsRobolectricTestRunner.class) public class ConditionalContextualCardTest { @Test(expected = IllegalArgumentException.class) public void newInstance_changeCardType_shouldCrash() { new ConditionalContextualCard.Builder() .setCardType(ContextualCard.CardType.SUGGESTION) .build(); } @Test public void getCardType_shouldAlwaysBeConditional() { assertThat(new ConditionalContextualCard.Builder().build().getCardType()) .isEqualTo(ContextualCard.CardType.CONDITIONAL); } }
tests/robotests/src/com/android/settings/homepage/conditional/ConditionContextualCardRendererTest.java +0 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,6 @@ public class ConditionContextualCardRendererTest { .setMetricsConstant(1) .setActionText("test_action") .setName("test_name") .setCardType(ContextualCard.CardType.CONDITIONAL) .setTitleText("test_title") .setSummaryText("test_summary") .setIconDrawable(mContext.getDrawable(R.drawable.ic_do_not_disturb_on_24dp)) Loading