diff options
author | Tyler Saunders <tylersaunders@google.com> | 2023-02-13 12:49:20 +0000 |
---|---|---|
committer | Tyler Saunders <tylersaunders@google.com> | 2023-02-13 13:03:59 +0000 |
commit | 7ba6cf206d99ea5fc248d8c1bb976097add82e37 (patch) | |
tree | 617123aef296ddcd056d7b79f7273d27a164b4eb | |
parent | 1f9a8f917df170703135d9ff86fa7767e33a1d3b (diff) | |
download | MediaProvider-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.java | 31 | ||||
-rw-r--r-- | tests/src/com/android/providers/media/photopicker/espresso/PhotoPickerUserSelectActivityTest.java | 4 |
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 |