diff --git a/Android.mk b/Android.mk
index 349b79ce046..eeaad0c936a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -22,9 +22,10 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_STATIC_ANDROID_LIBRARIES := \
android-support-v4 \
android-support-v13 \
- android-support-v7-recyclerview \
- android-support-v7-preference \
android-support-v7-appcompat \
+ android-support-v7-cardview \
+ android-support-v7-preference \
+ android-support-v7-recyclerview \
android-support-v14-preference
LOCAL_JAVA_LIBRARIES := \
diff --git a/res/layout/dashboard_header_spacer.xml b/res/layout/dashboard_header_spacer.xml
new file mode 100644
index 00000000000..442ae48b54c
--- /dev/null
+++ b/res/layout/dashboard_header_spacer.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
diff --git a/res/layout/settings_main_dashboard.xml b/res/layout/settings_main_dashboard.xml
index c10193cda90..1a3b1335dd8 100644
--- a/res/layout/settings_main_dashboard.xml
+++ b/res/layout/settings_main_dashboard.xml
@@ -18,7 +18,31 @@
-->
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent">
+
+
+
+
+
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 5c6796c2de3..ad55b6244ce 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -139,6 +139,12 @@
32dp
32dp
+
+ 8dp
+ -8dp
+
16dp
16dp
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index daa23d6d2e6..ca39b58d244 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -50,6 +50,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.Toolbar;
import com.android.internal.util.ArrayUtils;
import com.android.settings.Settings.WifiSettingsActivity;
@@ -62,6 +63,7 @@ import com.android.settings.dashboard.DashboardSummary;
import com.android.settings.development.DevelopmentSettings;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.DynamicIndexableContentMonitor;
+import com.android.settings.search.SearchActivity;
import com.android.settings.search.SearchFeatureProvider;
import com.android.settings.wfd.WifiDisplaySettings;
import com.android.settings.widget.SwitchBar;
@@ -75,7 +77,7 @@ import java.util.Set;
public class SettingsActivity extends SettingsDrawerActivity
implements PreferenceManager.OnPreferenceTreeClickListener,
PreferenceFragment.OnPreferenceStartFragmentCallback,
- ButtonBarHandler, FragmentManager.OnBackStackChangedListener {
+ ButtonBarHandler, FragmentManager.OnBackStackChangedListener, OnClickListener {
private static final String LOG_TAG = "Settings";
@@ -345,6 +347,14 @@ public class SettingsActivity extends SettingsDrawerActivity
launchSettingFragment(initialFragmentName, isSubSettings, intent);
}
+ if (mIsShowingDashboard) {
+ findViewById(R.id.search_bar).setVisibility(View.VISIBLE);
+ findViewById(R.id.action_bar).setVisibility(View.GONE);
+ Toolbar toolbar = findViewById(R.id.search_action_bar);
+ toolbar.setOnClickListener(this);
+ setActionBar(toolbar);
+ }
+
mActionBar = getActionBar();
if (mActionBar != null) {
mActionBar.setDisplayHomeAsUpEnabled(mDisplayHomeAsUpEnabled);
@@ -432,10 +442,10 @@ public class SettingsActivity extends SettingsDrawerActivity
switchToFragment(initialFragmentName, initialArguments, true, false,
mInitialTitleResId, mInitialTitle, false);
} else {
- // No UP affordance if we are displaying the main Dashboard
- mDisplayHomeAsUpEnabled = false;
- // Show Search affordance
- mDisplaySearch = true;
+ // Show search icon as up affordance if we are displaying the main Dashboard
+ mDisplayHomeAsUpEnabled = true;
+ // toolbar is search affordance so don't show search
+ mDisplaySearch = false;
mInitialTitleResId = R.string.dashboard_title;
switchToFragment(DashboardSummary.class.getName(), null /* args */, false, false,
@@ -940,4 +950,10 @@ public class SettingsActivity extends SettingsDrawerActivity
return bitmap;
}
-}
\ No newline at end of file
+
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(this, SearchActivity.class);
+ startActivity(intent);
+ }
+}
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index 2e7b8618def..eb746903244 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -15,6 +15,8 @@
*/
package com.android.settings.dashboard;
+import android.annotation.AttrRes;
+import android.annotation.ColorInt;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
@@ -54,6 +56,7 @@ public class DashboardAdapter extends RecyclerView.Adapter (position + 1)) {
+ // The spacer that goes underneath the search bar needs to match the
+ // background of the first real view. That view is either a condition,
+ // a suggestion, or the dashboard item.
+ //
+ // If it's a dashboard item, set null background so it uses the parent's
+ // background like the other views. Otherwise, match the colors.
+ int nextType = mDashboardData.getItemTypeByPosition(position + 1);
+ int colorAttr = nextType == R.layout.suggestion_header
+ ? android.R.attr.colorSecondary
+ : nextType == R.layout.condition_card
+ ? android.R.attr.colorAccent
+ : DONT_SET_BACKGROUND_ATTR;
+
+ if (colorAttr != DONT_SET_BACKGROUND_ATTR) {
+ TypedArray array = holder.itemView.getContext()
+ .obtainStyledAttributes(new int[]{colorAttr});
+ @ColorInt int color = array.getColor(0, 0);
+ array.recycle();
+ holder.itemView.setBackgroundColor(color);
+ } else {
+ holder.itemView.setBackground(null);
+ }
+ }
+ }
+
@VisibleForTesting
void onBindSuggestionHeader(final DashboardItemHolder holder, DashboardData
.SuggestionHeaderData data) {
diff --git a/src/com/android/settings/dashboard/DashboardData.java b/src/com/android/settings/dashboard/DashboardData.java
index 0a5ff354725..60d7d8da8b8 100644
--- a/src/com/android/settings/dashboard/DashboardData.java
+++ b/src/com/android/settings/dashboard/DashboardData.java
@@ -45,7 +45,8 @@ public class DashboardData {
public static final int DEFAULT_SUGGESTION_COUNT = 2;
// id namespace for different type of items.
- private static final int NS_SPACER = 0;
+ private static final int NS_HEADER_SPACER = 0;
+ private static final int NS_SPACER = 1000;
private static final int NS_ITEMS = 2000;
private static final int NS_CONDITION = 3000;
@@ -234,6 +235,9 @@ public class DashboardData {
* and mIsShowingAll, mSuggestionMode flag.
*/
private void buildItemsData() {
+ // add the view that goes under the search bar
+ countItem(null, R.layout.dashboard_header_spacer, true, NS_HEADER_SPACER);
+ resetCount();
boolean hasConditions = false;
for (int i = 0; mConditions != null && i < mConditions.size(); i++) {
boolean shouldShow = mConditions.get(i).shouldShow();
diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.java b/src/com/android/settings/search/SearchFeatureProviderImpl.java
index 725a8ee9f66..8bb57c6c3d6 100644
--- a/src/com/android/settings/search/SearchFeatureProviderImpl.java
+++ b/src/com/android/settings/search/SearchFeatureProviderImpl.java
@@ -51,13 +51,10 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider {
String menuTitle = activity.getString(R.string.search_menu);
MenuItem menuItem = menu.add(Menu.NONE, Menu.NONE, Menu.NONE, menuTitle)
.setIcon(R.drawable.ic_search_24dp)
- .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
- @Override
- public boolean onMenuItemClick(MenuItem item) {
- Intent intent = new Intent(activity, SearchActivity.class);
- activity.startActivity(intent);
- return true;
- }
+ .setOnMenuItemClickListener(item -> {
+ Intent intent = new Intent(activity, SearchActivity.class);
+ activity.startActivity(intent);
+ return true;
});
menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
diff --git a/tests/robotests/src/com/android/settings/SettingsActivityTest.java b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
index 2250090c9cf..75080ccb364 100644
--- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
@@ -30,12 +30,14 @@ import android.app.Activity;
import android.app.ActivityManager;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Menu;
+import com.android.settings.search.SearchActivity;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
@@ -46,6 +48,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class)
@@ -140,4 +143,15 @@ public class SettingsActivityTest {
assertThat(mActivity.mDisplaySearch).isTrue();
}
+
+ @Test
+ public void testOnClick() {
+ doReturn("com.android.settings").when(mActivity).getPackageName();
+
+ mActivity.onClick(null);
+
+ Intent intent = ShadowApplication.getInstance().getNextStartedActivity();
+ assertThat(intent.getComponent()).isEqualTo(
+ new ComponentName("com.android.settings", SearchActivity.class.getName()));
+ }
}
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
index 365ba5587a0..8eae8bcd4c9 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
@@ -24,17 +24,19 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import static org.robolectric.RuntimeEnvironment.application;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
+import android.graphics.drawable.ColorDrawable;
import android.view.ContextThemeWrapper;
+import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import android.widget.RemoteViews;
import android.widget.TextView;
@@ -47,6 +49,7 @@ import com.android.settings.dashboard.conditional.Condition;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
+import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile;
import org.junit.Before;
@@ -58,6 +61,7 @@ import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
+import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowApplication;
import java.util.ArrayList;
@@ -112,6 +116,53 @@ public class DashboardAdapterTest {
when(mView.getTag()).thenReturn(mCondition);
}
+ @Test
+ public void testOnBindViewHolder_spacer_noSuggestions_noConditions() {
+ makeCategory();
+ DashboardAdapter.DashboardItemHolder holder = setupSpacer();
+
+ mDashboardAdapter.onBindViewHolder(holder, 0);
+
+ assertThat(holder.itemView.getBackground()).isNull();
+ }
+
+ @Test
+ public void testOnBindViewHolder_spacer_suggestion_noConditions() {
+ setupSuggestions(makeSuggestions("pkg1"));
+ makeCategory();
+ DashboardAdapter.DashboardItemHolder holder = setupSpacer();
+
+ mDashboardAdapter.onBindViewHolder(holder, 0);
+
+ assertThat(holder.itemView.getBackground()).isNotNull();
+ assertThat(holder.itemView.getBackground()).isInstanceOf(ColorDrawable.class);
+ }
+
+ @Test
+ public void testOnBindViewHolder_spacer_noSuggestion_condition() {
+ makeCondition();
+ makeCategory();
+ DashboardAdapter.DashboardItemHolder holder = setupSpacer();
+
+ mDashboardAdapter.onBindViewHolder(holder, 0);
+
+ assertThat(holder.itemView.getBackground()).isNotNull();
+ assertThat(holder.itemView.getBackground()).isInstanceOf(ColorDrawable.class);
+ }
+
+ @Test
+ public void testOnBindViewHolder_spacer_suggestion_condition() {
+ setupSuggestions(makeSuggestions("pkg1"));
+ makeCondition();
+ makeCategory();
+ DashboardAdapter.DashboardItemHolder holder = setupSpacer();
+
+ mDashboardAdapter.onBindViewHolder(holder, 0);
+
+ assertThat(holder.itemView.getBackground()).isNotNull();
+ assertThat(holder.itemView.getBackground()).isInstanceOf(ColorDrawable.class);
+ }
+
@Test
public void testSetConditions_AfterSetConditions_ExpandedConditionNull() {
mDashboardAdapter.onExpandClick(mView);
@@ -122,7 +173,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_NotExpanded() {
- setUpSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
+ setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
verify(mFactory.metricsFeatureProvider, times(2)).action(
any(Context.class), mActionCategoryCaptor.capture(),
mActionPackageCaptor.capture());
@@ -137,7 +188,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_NotExpandedAndPaused() {
- setUpSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
+ setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
mDashboardAdapter.onPause();
verify(mFactory.metricsFeatureProvider, times(4)).action(
any(Context.class), mActionCategoryCaptor.capture(),
@@ -154,7 +205,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_Expanded() {
- setUpSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
+ setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
mDashboardAdapter.onBindSuggestionHeader(
mSuggestionHolder, mSuggestionHeaderData);
mSuggestionHolder.itemView.callOnClick();
@@ -173,7 +224,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_ExpandedAndPaused() {
- setUpSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
+ setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
mDashboardAdapter.onBindSuggestionHeader(
mSuggestionHolder, mSuggestionHeaderData);
mSuggestionHolder.itemView.callOnClick();
@@ -196,7 +247,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_ExpandedAfterPause() {
- setUpSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
+ setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
mDashboardAdapter.onPause();
mDashboardAdapter.onBindSuggestionHeader(
mSuggestionHolder, mSuggestionHeaderData);
@@ -221,7 +272,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_ExpandedAfterPauseAndPausedAgain() {
- setUpSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
+ setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3"));
mDashboardAdapter.onPause();
mDashboardAdapter.onBindSuggestionHeader(
mSuggestionHolder, mSuggestionHeaderData);
@@ -250,7 +301,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_ExpandedWithLessThanDefaultShown() {
- setUpSuggestions(makeSuggestions("pkg1"));
+ setupSuggestions(makeSuggestions("pkg1"));
mDashboardAdapter.onBindSuggestionHeader(
mSuggestionHolder, mSuggestionHeaderData);
mSuggestionHolder.itemView.callOnClick();
@@ -267,7 +318,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_ExpandedWithLessThanDefaultShownAndPaused() {
- setUpSuggestions(makeSuggestions("pkg1"));
+ setupSuggestions(makeSuggestions("pkg1"));
mDashboardAdapter.onBindSuggestionHeader(
mSuggestionHolder, mSuggestionHeaderData);
mSuggestionHolder.itemView.callOnClick();
@@ -286,7 +337,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_ExpandedWithLessThanDefaultShownAfterPause() {
- setUpSuggestions(makeSuggestions("pkg1"));
+ setupSuggestions(makeSuggestions("pkg1"));
mDashboardAdapter.onPause();
mDashboardAdapter.onBindSuggestionHeader(
mSuggestionHolder, mSuggestionHeaderData);
@@ -306,7 +357,7 @@ public class DashboardAdapterTest {
@Test
public void testSuggestionsLogs_ExpandedWithLessThanDefaultShownAfterPauseAndPausedAgain() {
- setUpSuggestions(makeSuggestions("pkg1"));
+ setupSuggestions(makeSuggestions("pkg1"));
mDashboardAdapter.onPause();
mDashboardAdapter.onBindSuggestionHeader(
mSuggestionHolder, mSuggestionHeaderData);
@@ -330,15 +381,15 @@ public class DashboardAdapterTest {
public void testBindViewHolder_inflateRemoteView() {
List packages = makeSuggestions("pkg1");
RemoteViews remoteViews = mock(RemoteViews.class);
- TextView textView = new TextView(application);
+ TextView textView = new TextView(RuntimeEnvironment.application);
doReturn(textView).when(remoteViews).apply(any(Context.class), any(ViewGroup.class));
packages.get(0).remoteViews = remoteViews;
mDashboardAdapter.setCategoriesAndSuggestions(Collections.emptyList(), packages);
mSuggestionHolder = mDashboardAdapter.onCreateViewHolder(
- new FrameLayout(application),
+ new FrameLayout(RuntimeEnvironment.application),
R.layout.suggestion_tile_card);
- mDashboardAdapter.onBindViewHolder(mSuggestionHolder, 1);
+ mDashboardAdapter.onBindViewHolder(mSuggestionHolder, 2);
assertThat(textView.getParent()).isSameAs(mSuggestionHolder.itemView);
mSuggestionHolder.itemView.performClick();
@@ -347,7 +398,8 @@ public class DashboardAdapterTest {
@Test
public void testBindViewHolder_primaryViewHandlesClick() {
- Context context = new ContextThemeWrapper(application, R.style.Theme_Settings);
+ Context context =
+ new ContextThemeWrapper(RuntimeEnvironment.application, R.style.Theme_Settings);
List packages = makeSuggestions("pkg1");
RemoteViews remoteViews = mock(RemoteViews.class);
@@ -362,7 +414,7 @@ public class DashboardAdapterTest {
new FrameLayout(context),
R.layout.suggestion_tile_card);
- mDashboardAdapter.onBindViewHolder(mSuggestionHolder, 1);
+ mDashboardAdapter.onBindViewHolder(mSuggestionHolder, 2);
mSuggestionHolder.itemView.performClick();
assertThat(ShadowApplication.getInstance().getNextStartedActivity()).isNull();
@@ -375,7 +427,8 @@ public class DashboardAdapterTest {
@Test
public void testBindViewHolder_viewsClearedOnRebind() {
- Context context = new ContextThemeWrapper(application, R.style.Theme_Settings);
+ Context context =
+ new ContextThemeWrapper(RuntimeEnvironment.application, R.style.Theme_Settings);
List packages = makeSuggestions("pkg1");
RemoteViews remoteViews = mock(RemoteViews.class);
@@ -390,8 +443,8 @@ public class DashboardAdapterTest {
new FrameLayout(context),
R.layout.suggestion_tile_card);
- mDashboardAdapter.onBindViewHolder(mSuggestionHolder, 1);
- mDashboardAdapter.onBindViewHolder(mSuggestionHolder, 1);
+ mDashboardAdapter.onBindViewHolder(mSuggestionHolder, 2);
+ mDashboardAdapter.onBindViewHolder(mSuggestionHolder, 2);
ViewGroup itemView = (ViewGroup) mSuggestionHolder.itemView;
assertThat(itemView.getChildCount()).isEqualTo(1);
@@ -408,11 +461,31 @@ public class DashboardAdapterTest {
return suggestions;
}
- private void setUpSuggestions(List suggestions) {
+ private void setupSuggestions(List suggestions) {
mDashboardAdapter.setCategoriesAndSuggestions(new ArrayList<>(), suggestions);
mSuggestionHolder = mDashboardAdapter.onCreateViewHolder(
- new FrameLayout(application),
- mDashboardAdapter.getItemViewType(0));
+ new FrameLayout(RuntimeEnvironment.application),
+ mDashboardAdapter.getItemViewType(1));
}
+ private void makeCondition() {
+ final List conditions = new ArrayList<>();
+ Condition condition = mock(Condition.class);
+ when(condition.shouldShow()).thenReturn(true);
+ conditions.add(condition);
+ mDashboardAdapter.setConditions(conditions);
+ }
+
+ private void makeCategory() {
+ List categories = new ArrayList<>();
+ categories.add(new DashboardCategory());
+ mDashboardAdapter.setCategory(categories);
+ }
+
+ private DashboardAdapter.DashboardItemHolder setupSpacer() {
+ Context context = RuntimeEnvironment.application;
+ final View view = LayoutInflater.from(context)
+ .inflate(R.layout.dashboard_header_spacer, new LinearLayout(context), false);
+ return new DashboardAdapter.DashboardItemHolder(view);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java
index abea5653482..8bbb15b3ba1 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java
@@ -112,7 +112,7 @@ public class DashboardDataTest {
public void testBuildItemsData_containsAllData() {
final DashboardData.SuggestionHeaderData data =
new DashboardData.SuggestionHeaderData(false, 1, 0);
- final Object[] expectedObjects = {mTestCondition, null, data, mTestSuggestion,
+ final Object[] expectedObjects = {null, mTestCondition, null, data, mTestSuggestion,
mDashboardCategory, mTestCategoryTile};
final int expectedSize = expectedObjects.length;
@@ -171,7 +171,7 @@ public class DashboardDataTest {
@Test
public void testDiffUtil_DataEqual_noResultData() {
List testResultData = new ArrayList<>();
- testDiffUtil(mDashboardDataWithOneConditions,
+ testDiffUtil(mDashboardDataWithOneConditions,
mDashboardDataWithOneConditions, testResultData);
}
@@ -180,7 +180,7 @@ public class DashboardDataTest {
//Build testResultData
final List testResultData = new ArrayList<>();
testResultData.add(new ListUpdateResult.ResultData(
- ListUpdateResult.ResultData.TYPE_OPERATION_INSERT, 1, 1));
+ ListUpdateResult.ResultData.TYPE_OPERATION_INSERT, 2, 1));
testDiffUtil(mDashboardDataWithOneConditions,
mDashboardDataWithTwoConditions, testResultData);
@@ -191,7 +191,7 @@ public class DashboardDataTest {
//Build testResultData
final List testResultData = new ArrayList<>();
testResultData.add(new ListUpdateResult.ResultData(
- ListUpdateResult.ResultData.TYPE_OPERATION_REMOVE, 0, 6));
+ ListUpdateResult.ResultData.TYPE_OPERATION_REMOVE, 1, 6));
testDiffUtil(mDashboardDataWithOneConditions, mDashboardDataWithNoItems, testResultData);
}
@@ -203,8 +203,8 @@ public class DashboardDataTest {
mDashboardDataWithOneConditions.getItemList(),
mDashboardDataWithOneConditions.getItemList());
- // Item in position 0 is condition card, which payload should not be null
- assertThat(callback.getChangePayload(0, 0)).isNotEqualTo(null);
+ // Item in position 1 is condition card, which payload should not be null
+ assertThat(callback.getChangePayload(1, 1)).isNotNull();
}
@Test
@@ -214,9 +214,9 @@ public class DashboardDataTest {
mDashboardDataWithOneConditions.getItemList(),
mDashboardDataWithOneConditions.getItemList());
- // Only item in position 0 is condition card, so others' payload should be null
- for (int i = 1; i < mDashboardDataWithOneConditions.getItemList().size(); i++) {
- assertThat(callback.getChangePayload(i, i)).isEqualTo(null);
+ // Position 0 is spacer, 1 is condition card, so others' payload should be null
+ for (int i = 2; i < mDashboardDataWithOneConditions.getItemList().size(); i++) {
+ assertThat(callback.getChangePayload(i, i)).isNull();
}
}
@@ -356,6 +356,11 @@ public class DashboardDataTest {
return arg2 - resultData.arg2;
}
+
+ @Override
+ public String toString() {
+ return "op:" + operation + ",arg1:" + arg1 + ",arg2:" + arg2;
+ }
}
}
}