diff --git a/res/layout/panel_layout.xml b/res/layout/panel_layout.xml
index 326fee8bf43..895d09b89ad 100644
--- a/res/layout/panel_layout.xml
+++ b/res/layout/panel_layout.xml
@@ -86,6 +86,11 @@
+
+
"1"
+
+ - "9"
+ - "0"
+
+
+
+ - "0"
+ - "1"
+
+
+
+ - "0"
+
+
+
+ - "8"
+ - "4"
+ - "5"
+ - "10"
+
+
+
+ - "4"
+ - "5"
+
+
+
+ - "8"
+ - "10"
+
+
+
+ - "22"
+ - "18"
+ - "1"
+
+
+
+ - "10"
+ - "8"
+ - "9"
+
+
- Home only
diff --git a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
index 017bdb53fdb..43403306cb3 100644
--- a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
+++ b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
@@ -110,9 +110,13 @@ public class EligibleCardChecker implements Callable {
@VisibleForTesting
Slice bindSlice(Uri uri) {
final SliceViewManager manager = SliceViewManager.getInstance(mContext);
- manager.pinSlice(uri);
+ final SliceViewManager.SliceCallback callback = slice -> { };
+
+ // Register a trivial callback to pin the slice
+ manager.registerSliceCallback(uri, callback);
final Slice slice = manager.bindSlice(uri);
- manager.unpinSlice(uri);
+ manager.unregisterSliceCallback(uri, callback);
+
return slice;
}
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 26c206da84a..63273759ba1 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -43,6 +43,7 @@ import com.android.settings.network.telephony.TelephonyConstants.TelephonyManage
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.stream.Stream;
/**
* Preference controller for "Enabled network mode"
@@ -221,71 +222,142 @@ public class EnabledNetworkModePreferenceController extends
void setPreferenceEntries() {
clearAllEntries();
-
+ String[] entryValues;
+ int[] entryValuesInt;
switch (getEnabledNetworkType()) {
case ENABLED_NETWORKS_CDMA_CHOICES:
- add5gEntry(addNrToLteNetworkType(
- TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO));
- addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO);
- add1xEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO);
- addGlobalEntry();
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_cdma_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 4) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_CDMA_CHOICES index error.");
+ }
+ add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
+ addLteEntry(entryValuesInt[0]);
+ add3gEntry(entryValuesInt[1]);
+ add1xEntry(entryValuesInt[2]);
+ addGlobalEntry(entryValuesInt[3]);
break;
case ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES:
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO);
- add1xEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO);
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_cdma_no_lte_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 2) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES index error.");
+ }
+ add3gEntry(entryValuesInt[0]);
+ add1xEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES:
- addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
- addGlobalEntry();
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_cdma_only_lte_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 2) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES index error.");
+ }
+ addLteEntry(entryValuesInt[0]);
+ addGlobalEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_TDSCDMA_CHOICES:
- add5gEntry(addNrToLteNetworkType(
- TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
- addLteEntry(
- TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
- add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_tdscdma_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 3) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_TDSCDMA_CHOICES index error.");
+ }
+ add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
+ addLteEntry(entryValuesInt[0]);
+ add3gEntry(entryValuesInt[1]);
+ add2gEntry(entryValuesInt[2]);
break;
case ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES:
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_except_gsm_lte_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 1) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES index error.");
+ }
+ add3gEntry(entryValuesInt[0]);
break;
case ENABLED_NETWORKS_EXCEPT_GSM_4G_CHOICES:
- add5gEntry(addNrToLteNetworkType(
- TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
- add4gEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_except_gsm_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 2) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_EXCEPT_GSM_4G_CHOICES index error.");
+ }
+ add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
+ add4gEntry(entryValuesInt[0]);
+ add3gEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_EXCEPT_GSM_CHOICES:
- add5gEntry(addNrToLteNetworkType(
- TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
- addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_except_gsm_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 2) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_EXCEPT_GSM_CHOICES index error.");
+ }
+ add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
+ addLteEntry(entryValuesInt[0]);
+ add3gEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_EXCEPT_LTE_CHOICES:
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
- add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_except_lte_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 2) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_EXCEPT_LTE_CHOICES index error.");
+ }
+ add3gEntry(entryValuesInt[0]);
+ add2gEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_4G_CHOICES:
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 3) {
+ throw new IllegalArgumentException(
+ "ENABLED_NETWORKS_4G_CHOICES index error.");
+ }
add5gEntry(addNrToLteNetworkType(
- TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
- add4gEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
- add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+ entryValuesInt[0]));
+ add4gEntry(entryValuesInt[0]);
+ add3gEntry(entryValuesInt[1]);
+ add2gEntry(entryValuesInt[2]);
break;
case ENABLED_NETWORKS_CHOICES:
- add5gEntry(addNrToLteNetworkType(
- TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
- addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
- add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
- add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_values);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 3) {
+ throw new IllegalArgumentException("ENABLED_NETWORKS_CHOICES index error.");
+ }
+ add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
+ addLteEntry(entryValuesInt[0]);
+ add3gEntry(entryValuesInt[1]);
+ add2gEntry(entryValuesInt[2]);
break;
case PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE:
- addGlobalEntry();
+ entryValues = mContext.getResources().getStringArray(
+ R.array.preferred_network_mode_values_world_mode);
+ entryValuesInt = Stream.of(entryValues).mapToInt(Integer::parseInt).toArray();
+ if (entryValuesInt.length < 3) {
+ throw new IllegalArgumentException(
+ "PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE index error.");
+ }
+ addGlobalEntry(entryValuesInt[0]);
addCustomEntry(mContext.getString(R.string.network_world_mode_cdma_lte),
- TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+ entryValuesInt[1]);
addCustomEntry(mContext.getString(R.string.network_world_mode_gsm_lte),
- TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+ entryValuesInt[2]);
break;
default:
throw new IllegalArgumentException("Not supported enabled network types.");
@@ -590,18 +662,15 @@ public class EnabledNetworkModePreferenceController extends
}
}
- private void addGlobalEntry() {
+ private void addGlobalEntry(int value) {
Log.d(LOG_TAG, "addGlobalEntry. "
+ " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily
+ " allowed5GNetworkType: " + mAllowed5gNetworkType);
mEntries.add(mContext.getString(R.string.network_global));
if (showNrList()) {
- mEntriesValue.add(
- TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
- } else {
- mEntriesValue.add(
- TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+ value = addNrToLteNetworkType(value);
}
+ mEntriesValue.add(value);
}
private boolean showNrList() {
diff --git a/src/com/android/settings/panel/PanelFragment.java b/src/com/android/settings/panel/PanelFragment.java
index 1224e1f58d2..9cb626d03a9 100644
--- a/src/com/android/settings/panel/PanelFragment.java
+++ b/src/com/android/settings/panel/PanelFragment.java
@@ -96,6 +96,7 @@ public class PanelFragment extends Fragment {
private TextView mHeaderTitle;
private TextView mHeaderSubtitle;
private int mMaxHeight;
+ private View mFooterDivider;
private final Map> mSliceLiveData = new LinkedHashMap<>();
@@ -187,6 +188,7 @@ public class PanelFragment extends Fragment {
mTitleIcon = mLayoutView.findViewById(R.id.title_icon);
mHeaderTitle = mLayoutView.findViewById(R.id.header_title);
mHeaderSubtitle = mLayoutView.findViewById(R.id.header_subtitle);
+ mFooterDivider = mLayoutView.findViewById(R.id.footer_divider);
// Make the panel layout gone here, to avoid janky animation when updating from old panel.
// We will make it visible once the panel is ready to load.
@@ -241,6 +243,13 @@ public class PanelFragment extends Fragment {
mTitleIcon.setLayoutParams(new LinearLayout.LayoutParams(size, size));
}
}
+
+ if (mPanel.getViewType() == PanelContent.VIEW_TYPE_SLIDER_LARGE_ICON) {
+ mFooterDivider.setVisibility(View.VISIBLE);
+ } else {
+ mFooterDivider.setVisibility(View.GONE);
+ }
+
mSeeMoreButton.setOnClickListener(getSeeMoreListener());
mDoneButton.setOnClickListener(getCloseListener());
diff --git a/src/com/android/settings/panel/PanelSlicesAdapter.java b/src/com/android/settings/panel/PanelSlicesAdapter.java
index 34de834d807..595dc2bb828 100644
--- a/src/com/android/settings/panel/PanelSlicesAdapter.java
+++ b/src/com/android/settings/panel/PanelSlicesAdapter.java
@@ -175,7 +175,7 @@ public class PanelSlicesAdapter
@Override
public boolean isDividerAllowedBelow() {
- return true;
+ return mPanelFragment.getPanelViewType() != PanelContent.VIEW_TYPE_SLIDER_LARGE_ICON;
}
}
}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
index a8188528cd6..e38bd62dc66 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -24,6 +24,7 @@ import static com.android.settings.network.telephony.MobileNetworkUtils.getRafFr
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doReturn;
@@ -44,6 +45,7 @@ import androidx.lifecycle.LifecycleOwner;
import androidx.preference.ListPreference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -337,6 +339,49 @@ public class EnabledNetworkModePreferenceControllerTest {
assertThat(mPreference.getSummary()).isEqualTo("2G");
}
+ @Test
+ public void checkResource_stringArrayLength() {
+ String[] entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_cdma_values);
+ assertEquals(4, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_cdma_no_lte_values);
+ assertEquals(2, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_cdma_only_lte_values);
+ assertEquals(2, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_tdscdma_values);
+ assertEquals(3, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_except_gsm_lte_values);
+ assertEquals(1, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_except_gsm_values);
+ assertEquals(2, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_except_lte_values);
+ assertEquals(2, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_values);
+ assertEquals(3, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.enabled_networks_values);
+ assertEquals(3, entryValues.length);
+
+ entryValues = mContext.getResources().getStringArray(
+ R.array.preferred_network_mode_values_world_mode);
+ assertEquals(3, entryValues.length);
+ }
+
private void mockEnabledNetworkMode(int networkMode) {
if (networkMode == TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA) {
mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
diff --git a/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java b/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
index 25d02ed7d94..405e4c3090e 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
@@ -17,6 +17,9 @@
package com.android.settings.panel;
+import static com.android.settings.panel.PanelContent.VIEW_TYPE_SLIDER;
+import static com.android.settings.panel.PanelContent.VIEW_TYPE_SLIDER_LARGE_ICON;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -209,6 +212,54 @@ public class PanelFragmentTest {
assertThat(titleView.getVisibility()).isEqualTo(View.VISIBLE);
}
+ @Test
+ public void sliderLargeIconPanelType_displayFooterDivider() {
+ mFakePanelContent.setViewType(VIEW_TYPE_SLIDER_LARGE_ICON);
+ final ActivityController activityController =
+ Robolectric.buildActivity(FakeSettingsPanelActivity.class);
+ activityController.setup();
+ final PanelFragment panelFragment = (PanelFragment)
+ Objects.requireNonNull(activityController
+ .get()
+ .getSupportFragmentManager()
+ .findFragmentById(R.id.main_content));
+ final View footerDivider = panelFragment.mLayoutView.findViewById(R.id.footer_divider);
+ // Check visibility
+ assertThat(footerDivider.getVisibility()).isEqualTo(View.VISIBLE);
+ }
+
+ @Test
+ public void sliderPanelType_notDisplayFooterDivider() {
+ mFakePanelContent.setViewType(VIEW_TYPE_SLIDER);
+ final ActivityController activityController =
+ Robolectric.buildActivity(FakeSettingsPanelActivity.class);
+ activityController.setup();
+ final PanelFragment panelFragment = (PanelFragment)
+ Objects.requireNonNull(activityController
+ .get()
+ .getSupportFragmentManager()
+ .findFragmentById(R.id.main_content));
+ final View footerDivider = panelFragment.mLayoutView.findViewById(R.id.footer_divider);
+ // Check visibility
+ assertThat(footerDivider.getVisibility()).isEqualTo(View.GONE);
+ }
+
+ @Test
+ public void defaultPanelType_notDisplayFooterDivider() {
+ mFakePanelContent.setViewType(0 /* viewType */);
+ final ActivityController activityController =
+ Robolectric.buildActivity(FakeSettingsPanelActivity.class);
+ activityController.setup();
+ final PanelFragment panelFragment = (PanelFragment)
+ Objects.requireNonNull(activityController
+ .get()
+ .getSupportFragmentManager()
+ .findFragmentById(R.id.main_content));
+ final View footerDivider = panelFragment.mLayoutView.findViewById(R.id.footer_divider);
+ // Check visibility
+ assertThat(footerDivider.getVisibility()).isEqualTo(View.GONE);
+ }
+
@Test
public void onHeaderChanged_updateHeader_verifyTitle() {
mFakePanelContent.setIcon(IconCompat.createWithResource(mContext, R.drawable.ic_android));
diff --git a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
index f0567c89db9..f8c2f84d564 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
@@ -22,6 +22,7 @@ import static com.android.settings.panel.PanelSlicesAdapter.MAX_NUM_OF_SLICES;
import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_GROUP_SLICE_URI;
import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_SLICE_URI;
+import static com.android.settings.slices.CustomSliceRegistry.VOLUME_MEDIA_URI;
import static com.google.common.truth.Truth.assertThat;
@@ -142,6 +143,53 @@ public class PanelSlicesAdapterTest {
assertThat(viewHolder.isDividerAllowedAbove()).isFalse();
}
+ @Test
+ public void sliderLargeIconPanel_shouldNotAllowDividerBelow() {
+ addTestLiveData(MEDIA_OUTPUT_SLICE_URI);
+ mFakePanelContent.setViewType(PanelContent.VIEW_TYPE_SLIDER_LARGE_ICON);
+
+ final PanelSlicesAdapter adapter =
+ new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
+ final int position = 0;
+ final ViewGroup view = new FrameLayout(mContext);
+ final SliceRowViewHolder viewHolder =
+ adapter.onCreateViewHolder(view, PanelContent.VIEW_TYPE_SLIDER_LARGE_ICON);
+ adapter.onBindViewHolder(viewHolder, position);
+
+ assertThat(viewHolder.isDividerAllowedBelow()).isFalse();
+ }
+
+ @Test
+ public void sliderPanelType_shouldAllowDividerBelow() {
+ addTestLiveData(VOLUME_MEDIA_URI);
+ mFakePanelContent.setViewType(PanelContent.VIEW_TYPE_SLIDER);
+
+ final PanelSlicesAdapter adapter =
+ new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
+ final int position = 0;
+ final ViewGroup view = new FrameLayout(mContext);
+ final SliceRowViewHolder viewHolder =
+ adapter.onCreateViewHolder(view, PanelContent.VIEW_TYPE_SLIDER);
+ adapter.onBindViewHolder(viewHolder, position);
+
+ assertThat(viewHolder.isDividerAllowedBelow()).isTrue();
+ }
+
+ @Test
+ public void defaultPanelType_shouldAllowDividerBelow() {
+ addTestLiveData(VOLUME_MEDIA_URI);
+ mFakePanelContent.setViewType(0 /* viewType */);
+
+ final PanelSlicesAdapter adapter =
+ new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
+ final int position = 0;
+ final ViewGroup view = new FrameLayout(mContext);
+ final SliceRowViewHolder viewHolder = adapter.onCreateViewHolder(view, 0/* viewType */);
+ adapter.onBindViewHolder(viewHolder, position);
+
+ assertThat(viewHolder.isDividerAllowedBelow()).isTrue();
+ }
+
@Test
public void outputSwitcherSlice_shouldAddFirstItemPadding() {
addTestLiveData(MEDIA_OUTPUT_SLICE_URI);
@@ -151,7 +199,7 @@ public class PanelSlicesAdapterTest {
final int position = 0;
final ViewGroup view = new FrameLayout(mContext);
final SliceRowViewHolder viewHolder =
- adapter.onCreateViewHolder(view, PanelContent.VIEW_TYPE_SLIDER);
+ adapter.onCreateViewHolder(view, PanelContent.VIEW_TYPE_SLIDER_LARGE_ICON);
adapter.onBindViewHolder(viewHolder, position);
@@ -169,7 +217,7 @@ public class PanelSlicesAdapterTest {
final int position = 0;
final ViewGroup view = new FrameLayout(mContext);
final SliceRowViewHolder viewHolder =
- adapter.onCreateViewHolder(view, PanelContent.VIEW_TYPE_SLIDER);
+ adapter.onCreateViewHolder(view, PanelContent.VIEW_TYPE_SLIDER_LARGE_ICON);
adapter.onBindViewHolder(viewHolder, position);