Add divider line below "see all apps" preference

Change-Id: I94cbf47fd987a6ff4c4fabcc3124fae1f0438876
Fix: 62040104
Test: make RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-06-15 11:11:00 -07:00
parent 7fe3dfc46d
commit 6cd558e595
3 changed files with 20 additions and 1 deletions

View File

@@ -40,6 +40,11 @@
</Preference>
</PreferenceCategory>
<!-- Empty category to draw divider -->
<PreferenceCategory
android:key="all_app_info_divider"
android:order="-190"/>
<Preference
android:key="manage_perms"
android:title="@string/app_permissions"

View File

@@ -61,6 +61,8 @@ public class RecentAppsPreferenceController extends PreferenceController
private static final String TAG = "RecentAppsCtrl";
private static final String KEY_PREF_CATEGORY = "recent_apps_category";
@VisibleForTesting
static final String KEY_DIVIDER = "all_app_info_divider";
@VisibleForTesting
static final String KEY_SEE_ALL = "all_app_info";
private static final int SHOW_RECENT_APP_COUNT = 5;
private static final Set<String> SKIP_SYSTEM_PACKAGES = new ArraySet<>();
@@ -77,6 +79,7 @@ public class RecentAppsPreferenceController extends PreferenceController
private PreferenceCategory mCategory;
private Preference mSeeAllPref;
private Preference mDivider;
private boolean mHasRecentApps;
static {
@@ -121,12 +124,14 @@ public class RecentAppsPreferenceController extends PreferenceController
super.updateNonIndexableKeys(keys);
// Don't index category name into search. It's not actionable.
keys.add(KEY_PREF_CATEGORY);
keys.add(KEY_DIVIDER);
}
@Override
public void displayPreference(PreferenceScreen screen) {
mCategory = (PreferenceCategory) screen.findPreference(getPreferenceKey());
mSeeAllPref = screen.findPreference(KEY_SEE_ALL);
mDivider = screen.findPreference(KEY_DIVIDER);
super.displayPreference(screen);
refreshUi(mCategory.getContext());
}
@@ -180,6 +185,7 @@ public class RecentAppsPreferenceController extends PreferenceController
private void displayOnlyAppInfo() {
mCategory.setTitle(null);
mDivider.setVisible(false);
mSeeAllPref.setTitle(R.string.applications_settings);
mSeeAllPref.setIcon(null);
int prefCount = mCategory.getPreferenceCount();
@@ -193,6 +199,7 @@ public class RecentAppsPreferenceController extends PreferenceController
private void displayRecentApps(Context prefContext, List<UsageStats> recentApps) {
mCategory.setTitle(R.string.recent_app_category_title);
mDivider.setVisible(true);
mSeeAllPref.setSummary(null);
mSeeAllPref.setIcon(R.drawable.ic_chevron_right_24dp);

View File

@@ -68,6 +68,8 @@ public class RecentAppsPreferenceControllerTest {
private PreferenceCategory mCategory;
@Mock
private Preference mSeeAllPref;
@Mock
private PreferenceCategory mDivider;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mMockContext;
@Mock
@@ -94,6 +96,8 @@ public class RecentAppsPreferenceControllerTest {
when(mScreen.findPreference(RecentAppsPreferenceController.KEY_SEE_ALL))
.thenReturn(mSeeAllPref);
when(mScreen.findPreference(RecentAppsPreferenceController.KEY_DIVIDER))
.thenReturn(mDivider);
when(mCategory.getContext()).thenReturn(mContext);
}
@@ -108,7 +112,8 @@ public class RecentAppsPreferenceControllerTest {
mController.updateNonIndexableKeys(nonIndexable);
assertThat(nonIndexable).containsExactly(mController.getPreferenceKey());
assertThat(nonIndexable).containsAllOf(mController.getPreferenceKey(),
RecentAppsPreferenceController.KEY_DIVIDER);
}
@Test
@@ -136,6 +141,7 @@ public class RecentAppsPreferenceControllerTest {
verify(mCategory).setTitle(null);
verify(mSeeAllPref).setTitle(R.string.applications_settings);
verify(mSeeAllPref).setIcon(null);
verify(mDivider).setVisible(false);
}
@Test
@@ -180,6 +186,7 @@ public class RecentAppsPreferenceControllerTest {
verify(mSeeAllPref).setSummary(null);
verify(mSeeAllPref).setIcon(R.drawable.ic_chevron_right_24dp);
verify(mDivider).setVisible(true);
}
@Test