Loading packages/SystemUI/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -788,6 +788,7 @@ android:theme="@style/EditTextActivity" android:exported="false" android:excludeFromRecents="true" android:label="@string/clipboard_editor" /> <activity android:name=".controls.management.ControlsProviderSelectorActivity" Loading packages/SystemUI/res/layout/clipboard_overlay.xml +3 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,8 @@ android:theme="@style/FloatingOverlay" android:alpha="0" android:layout_width="match_parent" android:layout_height="match_parent"> android:layout_height="match_parent" android:contentDescription="@string/clipboard_overlay_window_name"> <ImageView android:id="@+id/actions_container_background" android:visibility="gone" Loading Loading @@ -121,6 +122,7 @@ android:id="@+id/image_preview" android:scaleType="fitCenter" android:adjustViewBounds="true" android:contentDescription="@string/clipboard_image_preview" android:layout_width="match_parent" android:layout_height="wrap_content"/> <TextView Loading packages/SystemUI/res/values/strings.xml +8 −0 Original line number Diff line number Diff line Loading @@ -2507,6 +2507,14 @@ <string name="clipboard_image_copied">Image copied</string> <!-- Accessibility announcement informing user that something has been copied [CHAR LIMIT=NONE] --> <string name="clipboard_content_copied">Content copied</string> <!-- Name of the screen that lets the user edit the context of the clipboard (copy/paste) [CHAR LIMIT=NONE] --> <string name="clipboard_editor">Clipboard Editor</string> <!-- Name for the window showing the clipboard (copy/paste) preview and controls [CHAR LIMIT=NONE] --> <string name="clipboard_overlay_window_name">Clipboard</string> <!-- Accessibility label for an image preview [CHAR LIMIT=NONE] --> <string name="clipboard_image_preview">Image preview</string> <!-- Accessibility string describing what will happen when the user selects the clipboard preview. Completing the sentence "Double tap to ..." [CHAR LIMIT=NONE] --> <string name="clipboard_edit">edit</string> <!-- Generic "add" string [CHAR LIMIT=NONE] --> <string name="add">Add</string> Loading packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java +15 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,9 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import androidx.core.view.ViewCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.android.internal.logging.UiEventLogger; import com.android.internal.policy.PhoneWindow; import com.android.systemui.R; Loading Loading @@ -218,6 +221,7 @@ public class ClipboardOverlayController { mRemoteCopyChip.setAlpha(1); mDismissButton = requireNonNull(mView.findViewById(R.id.dismiss_button)); mShareChip.setContentDescription(mContext.getString(com.android.internal.R.string.share)); mView.setCallbacks(new DraggableConstraintLayout.SwipeDismissCallbacks() { @Override public void onInteraction() { Loading Loading @@ -367,6 +371,8 @@ public class ClipboardOverlayController { PackageManager packageManager = mContext.getPackageManager(); if (packageManager.resolveActivity( remoteCopyIntent, PackageManager.ResolveInfoFlags.of(0)) != null) { mRemoteCopyChip.setContentDescription( mContext.getString(R.string.clipboard_send_nearby_description)); mRemoteCopyChip.setVisibility(View.VISIBLE); mRemoteCopyChip.setOnClickListener((v) -> { mUiEventLogger.log(CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED); Loading Loading @@ -581,6 +587,7 @@ public class ClipboardOverlayController { TextView textView = hidden ? mHiddenPreview : mTextPreview; showTextPreview(text, textView); View.OnClickListener listener = v -> editText(); setAccessibilityActionToEdit(textView); if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, CLIPBOARD_OVERLAY_SHOW_EDIT_BUTTON, false)) { mEditChip.setVisibility(View.VISIBLE); Loading @@ -602,6 +609,7 @@ public class ClipboardOverlayController { showSinglePreview(mHiddenPreview); if (isEditableImage) { mHiddenPreview.setOnClickListener(listener); setAccessibilityActionToEdit(mHiddenPreview); } } else if (isEditableImage) { // if the MIMEtype is image, try to load try { Loading @@ -612,6 +620,7 @@ public class ClipboardOverlayController { showSinglePreview(mImagePreview); mImagePreview.setImageBitmap(thumbnail); mImagePreview.setOnClickListener(listener); setAccessibilityActionToEdit(mImagePreview); } catch (IOException e) { Log.e(TAG, "Thumbnail loading failed", e); showTextPreview( Loading @@ -635,6 +644,12 @@ public class ClipboardOverlayController { return isEditableImage; } private void setAccessibilityActionToEdit(View view) { ViewCompat.replaceAccessibilityAction(view, AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK, mContext.getString(R.string.clipboard_edit), null); } private Intent getRemoteCopyIntent(ClipData clipData) { Intent nearbyIntent = new Intent(REMOTE_COPY_ACTION); Loading packages/SystemUI/src/com/android/systemui/screenshot/DraggableConstraintLayout.java +8 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,14 @@ public class DraggableConstraintLayout extends ConstraintLayout mCallbacks = callbacks; } @Override public boolean onInterceptHoverEvent(MotionEvent event) { if (mCallbacks != null) { mCallbacks.onInteraction(); } return super.onInterceptHoverEvent(event); } @Override // View protected void onFinishInflate() { mActionsContainer = findViewById(R.id.actions_container); Loading Loading
packages/SystemUI/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -788,6 +788,7 @@ android:theme="@style/EditTextActivity" android:exported="false" android:excludeFromRecents="true" android:label="@string/clipboard_editor" /> <activity android:name=".controls.management.ControlsProviderSelectorActivity" Loading
packages/SystemUI/res/layout/clipboard_overlay.xml +3 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,8 @@ android:theme="@style/FloatingOverlay" android:alpha="0" android:layout_width="match_parent" android:layout_height="match_parent"> android:layout_height="match_parent" android:contentDescription="@string/clipboard_overlay_window_name"> <ImageView android:id="@+id/actions_container_background" android:visibility="gone" Loading Loading @@ -121,6 +122,7 @@ android:id="@+id/image_preview" android:scaleType="fitCenter" android:adjustViewBounds="true" android:contentDescription="@string/clipboard_image_preview" android:layout_width="match_parent" android:layout_height="wrap_content"/> <TextView Loading
packages/SystemUI/res/values/strings.xml +8 −0 Original line number Diff line number Diff line Loading @@ -2507,6 +2507,14 @@ <string name="clipboard_image_copied">Image copied</string> <!-- Accessibility announcement informing user that something has been copied [CHAR LIMIT=NONE] --> <string name="clipboard_content_copied">Content copied</string> <!-- Name of the screen that lets the user edit the context of the clipboard (copy/paste) [CHAR LIMIT=NONE] --> <string name="clipboard_editor">Clipboard Editor</string> <!-- Name for the window showing the clipboard (copy/paste) preview and controls [CHAR LIMIT=NONE] --> <string name="clipboard_overlay_window_name">Clipboard</string> <!-- Accessibility label for an image preview [CHAR LIMIT=NONE] --> <string name="clipboard_image_preview">Image preview</string> <!-- Accessibility string describing what will happen when the user selects the clipboard preview. Completing the sentence "Double tap to ..." [CHAR LIMIT=NONE] --> <string name="clipboard_edit">edit</string> <!-- Generic "add" string [CHAR LIMIT=NONE] --> <string name="add">Add</string> Loading
packages/SystemUI/src/com/android/systemui/clipboardoverlay/ClipboardOverlayController.java +15 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,9 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import androidx.core.view.ViewCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.android.internal.logging.UiEventLogger; import com.android.internal.policy.PhoneWindow; import com.android.systemui.R; Loading Loading @@ -218,6 +221,7 @@ public class ClipboardOverlayController { mRemoteCopyChip.setAlpha(1); mDismissButton = requireNonNull(mView.findViewById(R.id.dismiss_button)); mShareChip.setContentDescription(mContext.getString(com.android.internal.R.string.share)); mView.setCallbacks(new DraggableConstraintLayout.SwipeDismissCallbacks() { @Override public void onInteraction() { Loading Loading @@ -367,6 +371,8 @@ public class ClipboardOverlayController { PackageManager packageManager = mContext.getPackageManager(); if (packageManager.resolveActivity( remoteCopyIntent, PackageManager.ResolveInfoFlags.of(0)) != null) { mRemoteCopyChip.setContentDescription( mContext.getString(R.string.clipboard_send_nearby_description)); mRemoteCopyChip.setVisibility(View.VISIBLE); mRemoteCopyChip.setOnClickListener((v) -> { mUiEventLogger.log(CLIPBOARD_OVERLAY_REMOTE_COPY_TAPPED); Loading Loading @@ -581,6 +587,7 @@ public class ClipboardOverlayController { TextView textView = hidden ? mHiddenPreview : mTextPreview; showTextPreview(text, textView); View.OnClickListener listener = v -> editText(); setAccessibilityActionToEdit(textView); if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, CLIPBOARD_OVERLAY_SHOW_EDIT_BUTTON, false)) { mEditChip.setVisibility(View.VISIBLE); Loading @@ -602,6 +609,7 @@ public class ClipboardOverlayController { showSinglePreview(mHiddenPreview); if (isEditableImage) { mHiddenPreview.setOnClickListener(listener); setAccessibilityActionToEdit(mHiddenPreview); } } else if (isEditableImage) { // if the MIMEtype is image, try to load try { Loading @@ -612,6 +620,7 @@ public class ClipboardOverlayController { showSinglePreview(mImagePreview); mImagePreview.setImageBitmap(thumbnail); mImagePreview.setOnClickListener(listener); setAccessibilityActionToEdit(mImagePreview); } catch (IOException e) { Log.e(TAG, "Thumbnail loading failed", e); showTextPreview( Loading @@ -635,6 +644,12 @@ public class ClipboardOverlayController { return isEditableImage; } private void setAccessibilityActionToEdit(View view) { ViewCompat.replaceAccessibilityAction(view, AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK, mContext.getString(R.string.clipboard_edit), null); } private Intent getRemoteCopyIntent(ClipData clipData) { Intent nearbyIntent = new Intent(REMOTE_COPY_ACTION); Loading
packages/SystemUI/src/com/android/systemui/screenshot/DraggableConstraintLayout.java +8 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,14 @@ public class DraggableConstraintLayout extends ConstraintLayout mCallbacks = callbacks; } @Override public boolean onInterceptHoverEvent(MotionEvent event) { if (mCallbacks != null) { mCallbacks.onInteraction(); } return super.onInterceptHoverEvent(event); } @Override // View protected void onFinishInflate() { mActionsContainer = findViewById(R.id.actions_container); Loading