summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Saunders <tylersaunders@google.com>2023-02-13 12:49:20 +0000
committerTyler Saunders <tylersaunders@google.com>2023-02-13 13:03:59 +0000
commit7ba6cf206d99ea5fc248d8c1bb976097add82e37 (patch)
tree617123aef296ddcd056d7b79f7273d27a164b4eb
parent1f9a8f917df170703135d9ff86fa7767e33a1d3b (diff)
downloadMediaProvider-7ba6cf206d99ea5fc248d8c1bb976097add82e37.tar.gz
fix(photopicker): fix user select button text in preview.
Bug: 268049552 Test: atest PhotoPickerUserSelectActivityTest Change-Id: Ia14da69d3b73c92a6654c4370e4abf5b9d00e680
-rw-r--r--src/com/android/providers/media/photopicker/ui/PreviewFragment.java31
-rw-r--r--tests/src/com/android/providers/media/photopicker/espresso/PhotoPickerUserSelectActivityTest.java4
2 files changed, 26 insertions, 9 deletions
diff --git a/src/com/android/providers/media/photopicker/ui/PreviewFragment.java b/src/com/android/providers/media/photopicker/ui/PreviewFragment.java
index 58bc7810b..57c7e5398 100644
--- a/src/com/android/providers/media/photopicker/ui/PreviewFragment.java
+++ b/src/com/android/providers/media/photopicker/ui/PreviewFragment.java
@@ -69,6 +69,7 @@ public class PreviewFragment extends Fragment {
}
private Selection mSelection;
+ private PickerViewModel mPickerViewModel;
private ViewPager2Wrapper mViewPager2Wrapper;
private boolean mShouldShowGifBadge;
private boolean mShouldShowMotionPhotoBadge;
@@ -100,10 +101,9 @@ public class PreviewFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
- mSelection = new ViewModelProvider(requireActivity()).get(PickerViewModel.class)
- .getSelection();
- mMuteStatus = new ViewModelProvider(requireActivity()).get(PickerViewModel.class)
- .getMuteStatus();
+ mPickerViewModel = new ViewModelProvider(requireActivity()).get(PickerViewModel.class);
+ mSelection = mPickerViewModel.getSelection();
+ mMuteStatus = mPickerViewModel.getMuteStatus();
return inflater.inflate(R.layout.fragment_preview, parent, /* attachToRoot */ false);
}
@@ -232,9 +232,18 @@ public class PreviewFragment extends Fragment {
mViewPager2Wrapper.addOnPageChangeCallback(new OnPageChangeCallback(selectedCheckButton));
// Update add button text to include number of items selected.
- mSelection.getSelectedItemCount().observe(this, selectedItemCount -> {
- viewSelectedAddButton.setText(generateAddButtonString(getContext(), selectedItemCount));
- });
+ mSelection
+ .getSelectedItemCount()
+ .observe(
+ this,
+ selectedItemCount -> {
+ viewSelectedAddButton.setText(
+ generateAddButtonString(
+ /* context= */ getContext(),
+ /* size= */ selectedItemCount,
+ /* isUserSelectForApp= */ mPickerViewModel
+ .isUserSelectForApp()));
+ });
selectedCheckButton.setOnClickListener(
v -> onClickSelectedCheckButton(selectedCheckButton));
@@ -378,9 +387,13 @@ public class PreviewFragment extends Fragment {
}
// TODO: There is a same method in TabFragment. To find a way to reuse it.
- private static String generateAddButtonString(@NonNull Context context, int size) {
+ private static String generateAddButtonString(
+ @NonNull Context context, int size, boolean isUserSelectForApp) {
final String sizeString = NumberFormat.getInstance(Locale.getDefault()).format(size);
- final String template = context.getString(R.string.picker_add_button_multi_select);
+ final String template =
+ isUserSelectForApp
+ ? context.getString(R.string.picker_add_button_multi_select_permissions)
+ : context.getString(R.string.picker_add_button_multi_select);
return TextUtils.expandTemplate(template, sizeString).toString();
}
}
diff --git a/tests/src/com/android/providers/media/photopicker/espresso/PhotoPickerUserSelectActivityTest.java b/tests/src/com/android/providers/media/photopicker/espresso/PhotoPickerUserSelectActivityTest.java
index 0300c7ff6..17e2acb04 100644
--- a/tests/src/com/android/providers/media/photopicker/espresso/PhotoPickerUserSelectActivityTest.java
+++ b/tests/src/com/android/providers/media/photopicker/espresso/PhotoPickerUserSelectActivityTest.java
@@ -126,6 +126,10 @@ public class PhotoPickerUserSelectActivityTest extends PhotoPickerBaseTest {
onView(withId(addButtonId)).check(matches(withText("Allow (1)")));
onView(withId(addButtonId)).check(matches(isDisplayed()));
+
+
+ onView(withId(VIEW_SELECTED_BUTTON_ID)).perform(click());
+ onView(withId(addButtonId)).check(matches(withText("Allow (1)")));
}
@Ignore