From a0e816d9d3d11e14d4963a4f1dd8b6adbbad0c2c Mon Sep 17 00:00:00 2001 From: Andrew Sapperstein Date: Tue, 6 Jun 2017 16:33:27 +0000 Subject: [PATCH] Revert "Initial search bar implementation." This reverts commit 14934599dd6008a79c5e0d67f1df9ba5886c5198. Bug: 37477506 Change-Id: I510b9a71dd3f19a3d2194da1f4d8f8060d0a4935 Merged-In: Id7477b90fbaf30eb5cac1ee244c847bddb95b3fd --- Android.mk | 5 +- res/layout/dashboard_header_spacer.xml | 25 ----- res/layout/settings_main_dashboard.xml | 32 +----- res/values/dimens.xml | 6 -- .../android/settings/SettingsActivity.java | 28 ++--- .../settings/dashboard/DashboardAdapter.java | 33 ------ .../settings/dashboard/DashboardData.java | 6 +- .../search2/SearchFeatureProviderImpl.java | 11 +- .../settings/SettingsActivityTest.java | 15 --- .../dashboard/DashboardAdapterTest.java | 101 +++--------------- .../settings/dashboard/DashboardDataTest.java | 23 ++-- 11 files changed, 42 insertions(+), 243 deletions(-) delete mode 100644 res/layout/dashboard_header_spacer.xml diff --git a/Android.mk b/Android.mk index eeaad0c936a..349b79ce046 100644 --- a/Android.mk +++ b/Android.mk @@ -22,10 +22,9 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_STATIC_ANDROID_LIBRARIES := \ android-support-v4 \ android-support-v13 \ - android-support-v7-appcompat \ - android-support-v7-cardview \ - android-support-v7-preference \ android-support-v7-recyclerview \ + android-support-v7-preference \ + android-support-v7-appcompat \ android-support-v14-preference LOCAL_JAVA_LIBRARIES := \ diff --git a/res/layout/dashboard_header_spacer.xml b/res/layout/dashboard_header_spacer.xml deleted file mode 100644 index 442ae48b54c..00000000000 --- a/res/layout/dashboard_header_spacer.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - diff --git a/res/layout/settings_main_dashboard.xml b/res/layout/settings_main_dashboard.xml index 1a3b1335dd8..c10193cda90 100644 --- a/res/layout/settings_main_dashboard.xml +++ b/res/layout/settings_main_dashboard.xml @@ -18,31 +18,7 @@ --> - - - - - + android:id="@+id/main_content" + android:layout_height="match_parent" + android:layout_width="match_parent" + /> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 2c7a2e8ec82..6495ab01d52 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -140,12 +140,6 @@ 32dp 32dp - - 8dp - -8dp - 16dp 16dp diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 6e7f8d740ec..3e45af7eeb9 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -50,7 +50,6 @@ 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; @@ -63,7 +62,6 @@ 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.search2.SearchActivity; import com.android.settings.search2.SearchFeatureProvider; import com.android.settings.wfd.WifiDisplaySettings; import com.android.settings.widget.SwitchBar; @@ -77,7 +75,7 @@ import java.util.Set; public class SettingsActivity extends SettingsDrawerActivity implements PreferenceManager.OnPreferenceTreeClickListener, PreferenceFragment.OnPreferenceStartFragmentCallback, - ButtonBarHandler, FragmentManager.OnBackStackChangedListener, OnClickListener { + ButtonBarHandler, FragmentManager.OnBackStackChangedListener { private static final String LOG_TAG = "Settings"; @@ -347,14 +345,6 @@ 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); @@ -442,10 +432,10 @@ public class SettingsActivity extends SettingsDrawerActivity switchToFragment(initialFragmentName, initialArguments, true, false, mInitialTitleResId, mInitialTitle, false); } else { - // 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; + // No UP affordance if we are displaying the main Dashboard + mDisplayHomeAsUpEnabled = false; + // Show Search affordance + mDisplaySearch = true; mInitialTitleResId = R.string.dashboard_title; switchToFragment(DashboardSummary.class.getName(), null /* args */, false, false, @@ -950,10 +940,4 @@ public class SettingsActivity extends SettingsDrawerActivity return bitmap; } - - @Override - public void onClick(View v) { - Intent intent = new Intent(this, SearchActivity.class); - startActivity(intent); - } -} +} \ No newline at end of file diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java index dc67888733b..e3e95be7f33 100644 --- a/src/com/android/settings/dashboard/DashboardAdapter.java +++ b/src/com/android/settings/dashboard/DashboardAdapter.java @@ -15,8 +15,6 @@ */ 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; @@ -57,7 +55,6 @@ 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 8625790f4ec..4e8c7a0e6c4 100644 --- a/src/com/android/settings/dashboard/DashboardData.java +++ b/src/com/android/settings/dashboard/DashboardData.java @@ -45,8 +45,7 @@ public class DashboardData { public static final int DEFAULT_SUGGESTION_COUNT = 2; // id namespace for different type of items. - private static final int NS_HEADER_SPACER = 0; - private static final int NS_SPACER = 1000; + private static final int NS_SPACER = 0; private static final int NS_ITEMS = 2000; private static final int NS_CONDITION = 3000; @@ -229,9 +228,6 @@ 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/search2/SearchFeatureProviderImpl.java b/src/com/android/settings/search2/SearchFeatureProviderImpl.java index 1179c516a4c..4e47f9db57a 100644 --- a/src/com/android/settings/search2/SearchFeatureProviderImpl.java +++ b/src/com/android/settings/search2/SearchFeatureProviderImpl.java @@ -54,10 +54,13 @@ 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(item -> { - Intent intent = new Intent(activity, SearchActivity.class); - activity.startActivity(intent); - return true; + .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem 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 eecd88aae0e..65e97083957 100644 --- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java +++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java @@ -20,15 +20,12 @@ 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.search2.SearchActivity; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; import org.junit.Test; @@ -38,7 +35,6 @@ 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; import static com.google.common.truth.Truth.assertThat; @@ -142,15 +138,4 @@ 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 3b27cf128a0..d7daa03a1fa 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java @@ -19,23 +19,16 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.res.Resources; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.graphics.drawable.Icon; -import android.view.LayoutInflater; import android.view.View; import android.widget.FrameLayout; -import android.widget.LinearLayout; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; -import com.android.settings.R; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; 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; @@ -54,7 +47,6 @@ import java.util.List; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.any; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -107,53 +99,6 @@ 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); @@ -164,7 +109,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_NotExpanded() { - setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1", "pkg2", "pkg3"})); verify(mFactory.metricsFeatureProvider, times(2)).action( any(Context.class), mActionCategoryCaptor.capture(), mActionPackageCaptor.capture()); @@ -179,7 +124,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_NotExpandedAndPaused() { - setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1", "pkg2", "pkg3"})); mDashboardAdapter.onPause(); verify(mFactory.metricsFeatureProvider, times(4)).action( any(Context.class), mActionCategoryCaptor.capture(), @@ -196,7 +141,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_Expanded() { - setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1", "pkg2", "pkg3"})); mDashboardAdapter.onBindSuggestionHeader( mSuggestionHolder, mSuggestionHeaderData); mSuggestionHolder.itemView.callOnClick(); @@ -215,7 +160,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_ExpandedAndPaused() { - setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1", "pkg2", "pkg3"})); mDashboardAdapter.onBindSuggestionHeader( mSuggestionHolder, mSuggestionHeaderData); mSuggestionHolder.itemView.callOnClick(); @@ -238,7 +183,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_ExpandedAfterPause() { - setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1", "pkg2", "pkg3"})); mDashboardAdapter.onPause(); mDashboardAdapter.onBindSuggestionHeader( mSuggestionHolder, mSuggestionHeaderData); @@ -263,7 +208,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_ExpandedAfterPauseAndPausedAgain() { - setupSuggestions(makeSuggestions("pkg1", "pkg2", "pkg3")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1", "pkg2", "pkg3"})); mDashboardAdapter.onPause(); mDashboardAdapter.onBindSuggestionHeader( mSuggestionHolder, mSuggestionHeaderData); @@ -292,7 +237,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_ExpandedWithLessThanDefaultShown() { - setupSuggestions(makeSuggestions("pkg1")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1"})); mDashboardAdapter.onBindSuggestionHeader( mSuggestionHolder, mSuggestionHeaderData); mSuggestionHolder.itemView.callOnClick(); @@ -309,7 +254,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_ExpandedWithLessThanDefaultShownAndPaused() { - setupSuggestions(makeSuggestions("pkg1")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1"})); mDashboardAdapter.onBindSuggestionHeader( mSuggestionHolder, mSuggestionHeaderData); mSuggestionHolder.itemView.callOnClick(); @@ -328,7 +273,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_ExpandedWithLessThanDefaultShownAfterPause() { - setupSuggestions(makeSuggestions("pkg1")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1"})); mDashboardAdapter.onPause(); mDashboardAdapter.onBindSuggestionHeader( mSuggestionHolder, mSuggestionHeaderData); @@ -348,7 +293,7 @@ public class DashboardAdapterTest { @Test public void testSuggestionsLogs_ExpandedWithLessThanDefaultShownAfterPauseAndPausedAgain() { - setupSuggestions(makeSuggestions("pkg1")); + setUpSuggestions(makeSuggestions(new String[]{"pkg1"})); mDashboardAdapter.onPause(); mDashboardAdapter.onBindSuggestionHeader( mSuggestionHolder, mSuggestionHeaderData); @@ -368,7 +313,7 @@ public class DashboardAdapterTest { assertThat(mActionCategoryCaptor.getAllValues().toArray()).isEqualTo(expectedActions); } - private List makeSuggestions(String... pkgNames) { + private List makeSuggestions(String[] pkgNames) { final List suggestions = new ArrayList<>(); for (String pkgName : pkgNames) { Tile suggestion = new Tile(); @@ -379,31 +324,11 @@ 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(RuntimeEnvironment.application), - mDashboardAdapter.getItemViewType(1)); + mDashboardAdapter.getItemViewType(0)); } - 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 8bbb15b3ba1..abea5653482 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 = {null, mTestCondition, null, data, mTestSuggestion, + final Object[] expectedObjects = {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, 2, 1)); + ListUpdateResult.ResultData.TYPE_OPERATION_INSERT, 1, 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, 1, 6)); + ListUpdateResult.ResultData.TYPE_OPERATION_REMOVE, 0, 6)); testDiffUtil(mDashboardDataWithOneConditions, mDashboardDataWithNoItems, testResultData); } @@ -203,8 +203,8 @@ public class DashboardDataTest { mDashboardDataWithOneConditions.getItemList(), mDashboardDataWithOneConditions.getItemList()); - // Item in position 1 is condition card, which payload should not be null - assertThat(callback.getChangePayload(1, 1)).isNotNull(); + // Item in position 0 is condition card, which payload should not be null + assertThat(callback.getChangePayload(0, 0)).isNotEqualTo(null); } @Test @@ -214,9 +214,9 @@ public class DashboardDataTest { mDashboardDataWithOneConditions.getItemList(), mDashboardDataWithOneConditions.getItemList()); - // 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(); + // 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); } } @@ -356,11 +356,6 @@ public class DashboardDataTest { return arg2 - resultData.arg2; } - - @Override - public String toString() { - return "op:" + operation + ",arg1:" + arg1 + ",arg2:" + arg2; - } } } }