Hiding some dividers in Users and accounts page, to give it a "grouped" look.
Bug: 69368377
Change-Id: I40b007180389459c8cbedb56d61e5ca84f9b6431
Test: manually on Mojave.
diff --git a/src/com/android/car/settings/accounts/UserAndAccountSettingsFragment.java b/src/com/android/car/settings/accounts/UserAndAccountSettingsFragment.java
index 0538199..d1f1fd8 100644
--- a/src/com/android/car/settings/accounts/UserAndAccountSettingsFragment.java
+++ b/src/com/android/car/settings/accounts/UserAndAccountSettingsFragment.java
@@ -100,7 +100,8 @@
// Show current user
items.add(createUserItem(currUserInfo,
- getString(R.string.current_user_name, currUserInfo.name)));
+ getString(R.string.current_user_name, currUserInfo.name),
+ false /* withDividerHidden */));
// Add "Account for $User" title for a list of accounts.
items.add(createSubtitleItem(getString(R.string.account_list_title, currUserInfo.name)));
@@ -130,20 +131,26 @@
List<UserInfo> infos = mUserManager.getUsers(true);
for (UserInfo userInfo : infos) {
if (userInfo.id != currUserInfo.id) {
- items.add(createUserItem(userInfo, userInfo.name));
+ items.add(createUserItem(userInfo, userInfo.name, true /* withDividerHidden*/));
}
}
return items;
}
// Creates a line for a user, clicking on it leads to the user details page
- private ListItem createUserItem(UserInfo userInfo, String title) {
- return new ListItem.Builder(mContext)
+ private ListItem createUserItem(UserInfo userInfo, String title, boolean withDividerHidden) {
+ ListItem.Builder listItem = new ListItem.Builder(mContext)
.withPrimaryActionIcon(getUserIcon(userInfo), false /* useLargeIcon */)
.withTitle(title)
.withOnClickListener(view -> mFragmentController.launchFragment(
- UserDetailsSettingsFragment.getInstance(userInfo)))
- .build();
+ UserDetailsSettingsFragment.getInstance(userInfo)));
+
+ if (withDividerHidden) {
+ // Hiding the divider to group the items together visually. All of those without a
+ // divider between them will be part of the same "group".
+ listItem.withDividerHidden();
+ }
+ return listItem.build();
}
// Creates a subtitle line for visual separation in the list
@@ -153,6 +160,8 @@
.withTitle(title)
.withViewBinder(viewHolder ->
viewHolder.getTitle().setTextAppearance(R.style.SettingsListHeader))
+ .withDividerHidden() // Hiding the divider after subtitle, since subtitle is a
+ // header for a group of items.
.build();
}
@@ -165,6 +174,7 @@
.withTitle(account.name)
.withOnClickListener(view -> mFragmentController.launchFragment(
AccountDetailsFragment.newInstance(account, userInfo)))
+ .withDividerHidden()
.build();
}
diff --git a/src/com/android/car/settings/common/ListItemSettingsFragment.java b/src/com/android/car/settings/common/ListItemSettingsFragment.java
index 94858b2..7450ea3 100644
--- a/src/com/android/car/settings/common/ListItemSettingsFragment.java
+++ b/src/com/android/car/settings/common/ListItemSettingsFragment.java
@@ -57,6 +57,7 @@
PagedListView listView = getView().findViewById(R.id.list);
listView.setDayNightStyle(DayNightStyle.FORCE_DAY);
listView.setAdapter(mListAdapter);
+ listView.setDividerVisibilityManager(mListAdapter);
}
/**