Merge "Make sensitive clipboard text preview show asterisks" into tm-dev

This commit is contained in:
Miranda Kephart
2022-05-23 14:03:15 +00:00
committed by Android (Google) Code Review
3 changed files with 11 additions and 9 deletions

View File

@@ -124,13 +124,12 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/hidden_text_preview"
android:id="@+id/hidden_preview"
android:visibility="gone"
android:textFontWeight="500"
android:padding="8dp"
android:gravity="center"
android:textSize="14sp"
android:text="@string/clipboard_text_hidden"
android:textColor="?attr/overlayButtonTextColor"
android:background="?androidprv:attr/colorAccentSecondary"
android:layout_width="@dimen/clipboard_preview_size"

View File

@@ -2494,6 +2494,8 @@
<string name="clipboard_send_nearby_description">Send to nearby device</string>
<!-- Text informing user that copied content is hidden [CHAR LIMIT=NONE] -->
<string name="clipboard_text_hidden">Tap to view</string>
<!-- Asterisks replacing sensitive text content -->
<string name="clipboard_asterisks" translatable="false">••••••</string>
<!-- Accessibility announcement informing user that text has been copied [CHAR LIMIT=NONE] -->
<string name="clipboard_text_copied">Text copied</string>
<!-- Accessibility announcement informing user that text has been copied [CHAR LIMIT=NONE] -->

View File

@@ -138,7 +138,7 @@ public class ClipboardOverlayController {
private final View mClipboardPreview;
private final ImageView mImagePreview;
private final TextView mTextPreview;
private final TextView mHiddenTextPreview;
private final TextView mHiddenPreview;
private final View mPreviewBorder;
private final OverlayActionChip mEditChip;
private final OverlayActionChip mShareChip;
@@ -203,7 +203,7 @@ public class ClipboardOverlayController {
mClipboardPreview = requireNonNull(mView.findViewById(R.id.clipboard_preview));
mImagePreview = requireNonNull(mView.findViewById(R.id.image_preview));
mTextPreview = requireNonNull(mView.findViewById(R.id.text_preview));
mHiddenTextPreview = requireNonNull(mView.findViewById(R.id.hidden_text_preview));
mHiddenPreview = requireNonNull(mView.findViewById(R.id.hidden_preview));
mPreviewBorder = requireNonNull(mView.findViewById(R.id.preview_border));
mEditChip = requireNonNull(mView.findViewById(R.id.edit_chip));
mShareChip = requireNonNull(mView.findViewById(R.id.share_chip));
@@ -328,7 +328,7 @@ public class ClipboardOverlayController {
}
if (isSensitive) {
showEditableText(
mContext.getResources().getString(R.string.clipboard_text_hidden), true);
mContext.getResources().getString(R.string.clipboard_asterisks), true);
} else {
showEditableText(item.getText(), false);
}
@@ -500,7 +500,7 @@ public class ClipboardOverlayController {
private void showSinglePreview(View v) {
mTextPreview.setVisibility(View.GONE);
mImagePreview.setVisibility(View.GONE);
mHiddenTextPreview.setVisibility(View.GONE);
mHiddenPreview.setVisibility(View.GONE);
v.setVisibility(View.VISIBLE);
}
@@ -511,7 +511,7 @@ public class ClipboardOverlayController {
}
private void showEditableText(CharSequence text, boolean hidden) {
TextView textView = hidden ? mHiddenTextPreview : mTextPreview;
TextView textView = hidden ? mHiddenPreview : mTextPreview;
showTextPreview(text, textView);
View.OnClickListener listener = v -> editText();
if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
@@ -532,9 +532,10 @@ public class ClipboardOverlayController {
String mimeType = resolver.getType(uri);
boolean isEditableImage = mimeType != null && mimeType.startsWith("image");
if (isSensitive) {
showSinglePreview(mHiddenTextPreview);
mHiddenPreview.setText(mContext.getString(R.string.clipboard_text_hidden));
showSinglePreview(mHiddenPreview);
if (isEditableImage) {
mHiddenTextPreview.setOnClickListener(listener);
mHiddenPreview.setOnClickListener(listener);
}
} else if (isEditableImage) { // if the MIMEtype is image, try to load
try {