Merge "Make sensitive clipboard text preview show asterisks" into tm-dev am: 76fb10f60e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18521524 Change-Id: I1ee198945d16a50eec057f012363a8d0a7d62b71 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -124,13 +124,12 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_height="wrap_content"/>
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/hidden_text_preview"
|
android:id="@+id/hidden_preview"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:textFontWeight="500"
|
android:textFontWeight="500"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:text="@string/clipboard_text_hidden"
|
|
||||||
android:textColor="?attr/overlayButtonTextColor"
|
android:textColor="?attr/overlayButtonTextColor"
|
||||||
android:background="?androidprv:attr/colorAccentSecondary"
|
android:background="?androidprv:attr/colorAccentSecondary"
|
||||||
android:layout_width="@dimen/clipboard_preview_size"
|
android:layout_width="@dimen/clipboard_preview_size"
|
||||||
|
|||||||
@@ -2494,6 +2494,8 @@
|
|||||||
<string name="clipboard_send_nearby_description">Send to nearby device</string>
|
<string name="clipboard_send_nearby_description">Send to nearby device</string>
|
||||||
<!-- Text informing user that copied content is hidden [CHAR LIMIT=NONE] -->
|
<!-- Text informing user that copied content is hidden [CHAR LIMIT=NONE] -->
|
||||||
<string name="clipboard_text_hidden">Tap to view</string>
|
<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] -->
|
<!-- Accessibility announcement informing user that text has been copied [CHAR LIMIT=NONE] -->
|
||||||
<string name="clipboard_text_copied">Text copied</string>
|
<string name="clipboard_text_copied">Text copied</string>
|
||||||
<!-- Accessibility announcement informing user that text has been copied [CHAR LIMIT=NONE] -->
|
<!-- Accessibility announcement informing user that text has been copied [CHAR LIMIT=NONE] -->
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ public class ClipboardOverlayController {
|
|||||||
private final View mClipboardPreview;
|
private final View mClipboardPreview;
|
||||||
private final ImageView mImagePreview;
|
private final ImageView mImagePreview;
|
||||||
private final TextView mTextPreview;
|
private final TextView mTextPreview;
|
||||||
private final TextView mHiddenTextPreview;
|
private final TextView mHiddenPreview;
|
||||||
private final View mPreviewBorder;
|
private final View mPreviewBorder;
|
||||||
private final OverlayActionChip mEditChip;
|
private final OverlayActionChip mEditChip;
|
||||||
private final OverlayActionChip mShareChip;
|
private final OverlayActionChip mShareChip;
|
||||||
@@ -203,7 +203,7 @@ public class ClipboardOverlayController {
|
|||||||
mClipboardPreview = requireNonNull(mView.findViewById(R.id.clipboard_preview));
|
mClipboardPreview = requireNonNull(mView.findViewById(R.id.clipboard_preview));
|
||||||
mImagePreview = requireNonNull(mView.findViewById(R.id.image_preview));
|
mImagePreview = requireNonNull(mView.findViewById(R.id.image_preview));
|
||||||
mTextPreview = requireNonNull(mView.findViewById(R.id.text_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));
|
mPreviewBorder = requireNonNull(mView.findViewById(R.id.preview_border));
|
||||||
mEditChip = requireNonNull(mView.findViewById(R.id.edit_chip));
|
mEditChip = requireNonNull(mView.findViewById(R.id.edit_chip));
|
||||||
mShareChip = requireNonNull(mView.findViewById(R.id.share_chip));
|
mShareChip = requireNonNull(mView.findViewById(R.id.share_chip));
|
||||||
@@ -328,7 +328,7 @@ public class ClipboardOverlayController {
|
|||||||
}
|
}
|
||||||
if (isSensitive) {
|
if (isSensitive) {
|
||||||
showEditableText(
|
showEditableText(
|
||||||
mContext.getResources().getString(R.string.clipboard_text_hidden), true);
|
mContext.getResources().getString(R.string.clipboard_asterisks), true);
|
||||||
} else {
|
} else {
|
||||||
showEditableText(item.getText(), false);
|
showEditableText(item.getText(), false);
|
||||||
}
|
}
|
||||||
@@ -500,7 +500,7 @@ public class ClipboardOverlayController {
|
|||||||
private void showSinglePreview(View v) {
|
private void showSinglePreview(View v) {
|
||||||
mTextPreview.setVisibility(View.GONE);
|
mTextPreview.setVisibility(View.GONE);
|
||||||
mImagePreview.setVisibility(View.GONE);
|
mImagePreview.setVisibility(View.GONE);
|
||||||
mHiddenTextPreview.setVisibility(View.GONE);
|
mHiddenPreview.setVisibility(View.GONE);
|
||||||
v.setVisibility(View.VISIBLE);
|
v.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -511,7 +511,7 @@ public class ClipboardOverlayController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void showEditableText(CharSequence text, boolean hidden) {
|
private void showEditableText(CharSequence text, boolean hidden) {
|
||||||
TextView textView = hidden ? mHiddenTextPreview : mTextPreview;
|
TextView textView = hidden ? mHiddenPreview : mTextPreview;
|
||||||
showTextPreview(text, textView);
|
showTextPreview(text, textView);
|
||||||
View.OnClickListener listener = v -> editText();
|
View.OnClickListener listener = v -> editText();
|
||||||
if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
|
if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
|
||||||
@@ -532,9 +532,10 @@ public class ClipboardOverlayController {
|
|||||||
String mimeType = resolver.getType(uri);
|
String mimeType = resolver.getType(uri);
|
||||||
boolean isEditableImage = mimeType != null && mimeType.startsWith("image");
|
boolean isEditableImage = mimeType != null && mimeType.startsWith("image");
|
||||||
if (isSensitive) {
|
if (isSensitive) {
|
||||||
showSinglePreview(mHiddenTextPreview);
|
mHiddenPreview.setText(mContext.getString(R.string.clipboard_text_hidden));
|
||||||
|
showSinglePreview(mHiddenPreview);
|
||||||
if (isEditableImage) {
|
if (isEditableImage) {
|
||||||
mHiddenTextPreview.setOnClickListener(listener);
|
mHiddenPreview.setOnClickListener(listener);
|
||||||
}
|
}
|
||||||
} else if (isEditableImage) { // if the MIMEtype is image, try to load
|
} else if (isEditableImage) { // if the MIMEtype is image, try to load
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user