From c74648831207df9495dcb13bf08afdecdf30fa93 Mon Sep 17 00:00:00 2001 From: 1 Date: Tue, 25 Apr 2023 19:17:58 +0000 Subject: Update file+share to align toggled text with mock. When text is toggled off, it should say e.g. "Image only". Mock: https://www.figma.com/file/JVIcmg4OhWuO5Vc1UdPVxe/Sharesheet-(U)?node-id=66-5067&t=Wj5ulJXOpvpOPlYY-0 Bug: 279599021 Test: atest UnbundledChooserActivityTest Test: Manual test with ShareTest Change-Id: I85eecae3c24f348e355717b78b2cf23aa748f91a --- .../FilesPlusTextContentPreviewUi.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'java/src') diff --git a/java/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUi.java index e15d53c4..5c42b4b7 100644 --- a/java/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUi.java @@ -21,6 +21,7 @@ import static com.android.intentresolver.contentpreview.ContentPreviewType.CONTE import android.content.res.Resources; import android.text.util.Linkify; +import android.util.PluralsMessageFormatter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -33,6 +34,7 @@ import com.android.intentresolver.widget.ActionRow; import com.android.intentresolver.widget.ScrollableImagePreviewView; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.function.Consumer; @@ -175,9 +177,35 @@ class FilesPlusTextContentPreviewUi extends ContentPreviewUi { shareTextAction.accept(false); includeText.setOnCheckedChangeListener((view, isChecked) -> { textView.setEnabled(isChecked); + if (isChecked) { + textView.setText(mText); + } else { + textView.setText(getNoTextString(contentPreview.getResources())); + } shareTextAction.accept(!isChecked); updateHeadline(contentPreview); }); includeText.setVisibility(View.VISIBLE); } + + private String getNoTextString(Resources resources) { + int stringResource; + + if (mAllImages) { + stringResource = R.string.sharing_images_only; + } else if (mAllVideos) { + stringResource = R.string.sharing_videos_only; + } else { + stringResource = R.string.sharing_files_only; + } + + HashMap params = new HashMap<>(); + params.put("count", mFiles.size()); + + return PluralsMessageFormatter.format( + resources, + params, + stringResource + ); + } } -- cgit v1.2.3-59-g8ed1b