Rename attrs/files shared between clipboard and screenshots
The clipboard overlay reuses much of the same UI elements that the screenshot UI does. Rename these from e.g. "screenshot_X" to "overlay_X" to reflect the shared usage. Bug: 195554988 Test: manual Change-Id: Ie3c7a66519b7b8b55e390a512a9ba9e679a8ad0d
This commit is contained in:
@@ -17,11 +17,11 @@
|
||||
<ripple
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
|
||||
android:color="@color/screenshot_button_ripple">
|
||||
android:color="@color/overlay_button_ripple">
|
||||
<item android:id="@android:id/background">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="?androidprv:attr/colorAccentSecondary"/>
|
||||
<corners android:radius="@dimen/screenshot_button_corner_radius"/>
|
||||
<corners android:radius="@dimen/overlay_button_corner_radius"/>
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
||||
@@ -19,5 +19,5 @@
|
||||
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="?androidprv:attr/colorSurface"/>
|
||||
<corners android:radius="@dimen/screenshot_action_container_corner_radius"/>
|
||||
<corners android:radius="@dimen/overlay_action_container_corner_radius"/>
|
||||
</shape>
|
||||
|
||||
@@ -17,6 +17,6 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:startColor="@color/screenshot_background_protection_start"
|
||||
android:startColor="@color/overlay_background_protection_start"
|
||||
android:endColor="#00000000"/>
|
||||
</shape>
|
||||
@@ -17,7 +17,7 @@
|
||||
<com.android.systemui.clipboardoverlay.DraggableConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:theme="@style/Screenshot"
|
||||
android:theme="@style/FloatingOverlay"
|
||||
android:alpha="0"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
@@ -28,7 +28,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:elevation="1dp"
|
||||
android:background="@drawable/action_chip_container_background"
|
||||
android:layout_marginStart="@dimen/screenshot_action_container_margin_horizontal"
|
||||
android:layout_marginStart="@dimen/overlay_action_container_margin_horizontal"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/actions_container"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/actions_container"
|
||||
@@ -37,9 +37,9 @@
|
||||
android:id="@+id/actions_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/screenshot_action_container_margin_horizontal"
|
||||
android:paddingEnd="@dimen/screenshot_action_container_padding_right"
|
||||
android:paddingVertical="@dimen/screenshot_action_container_padding_vertical"
|
||||
android:layout_marginEnd="@dimen/overlay_action_container_margin_horizontal"
|
||||
android:paddingEnd="@dimen/overlay_action_container_padding_right"
|
||||
android:paddingVertical="@dimen/overlay_action_container_padding_vertical"
|
||||
android:elevation="1dp"
|
||||
android:scrollbars="none"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
@@ -53,9 +53,9 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:animateLayoutChanges="true">
|
||||
<include layout="@layout/screenshot_action_chip"
|
||||
<include layout="@layout/overlay_action_chip"
|
||||
android:id="@+id/remote_copy_chip"/>
|
||||
<include layout="@layout/screenshot_action_chip"
|
||||
<include layout="@layout/overlay_action_chip"
|
||||
android:id="@+id/edit_chip"/>
|
||||
</LinearLayout>
|
||||
</HorizontalScrollView>
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
|
||||
android:background="?android:colorBackgroundFloating"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
@@ -32,7 +31,7 @@
|
||||
android:text="@string/save"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="@dimen/long_screenshot_action_bar_top_margin"
|
||||
android:background="@drawable/screenshot_button_background"
|
||||
android:background="@drawable/overlay_button_background"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
@@ -46,7 +45,7 @@
|
||||
android:text="@android:string/cancel"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="@dimen/long_screenshot_action_bar_top_margin"
|
||||
android:background="@drawable/screenshot_button_background"
|
||||
android:background="@drawable/overlay_button_background"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
app:layout_constraintStart_toEndOf="@id/save"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
||||
@@ -14,33 +14,33 @@
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<com.android.systemui.screenshot.ScreenshotActionChip
|
||||
<com.android.systemui.screenshot.OverlayActionChip
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/screenshot_action_chip"
|
||||
android:id="@+id/overlay_action_chip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/screenshot_action_chip_margin_start"
|
||||
android:paddingVertical="@dimen/screenshot_action_chip_margin_vertical"
|
||||
android:layout_marginStart="@dimen/overlay_action_chip_margin_start"
|
||||
android:paddingVertical="@dimen/overlay_action_chip_margin_vertical"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:alpha="0.0">
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingVertical="@dimen/screenshot_action_chip_padding_vertical"
|
||||
android:paddingVertical="@dimen/overlay_action_chip_padding_vertical"
|
||||
android:background="@drawable/action_chip_background"
|
||||
android:gravity="center">
|
||||
<ImageView
|
||||
android:id="@+id/screenshot_action_chip_icon"
|
||||
android:id="@+id/overlay_action_chip_icon"
|
||||
android:tint="?android:attr/textColorPrimary"
|
||||
android:layout_width="@dimen/screenshot_action_chip_icon_size"
|
||||
android:layout_height="@dimen/screenshot_action_chip_icon_size"/>
|
||||
android:layout_width="@dimen/overlay_action_chip_icon_size"
|
||||
android:layout_height="@dimen/overlay_action_chip_icon_size"/>
|
||||
<TextView
|
||||
android:id="@+id/screenshot_action_chip_text"
|
||||
android:id="@+id/overlay_action_chip_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
|
||||
android:textSize="@dimen/screenshot_action_chip_text_size"
|
||||
android:textSize="@dimen/overlay_action_chip_text_size"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
</LinearLayout>
|
||||
</com.android.systemui.screenshot.ScreenshotActionChip>
|
||||
</com.android.systemui.screenshot.OverlayActionChip>
|
||||
@@ -17,7 +17,7 @@
|
||||
<com.android.systemui.screenshot.ScreenshotView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/screenshot_frame"
|
||||
android:theme="@style/Screenshot"
|
||||
android:theme="@style/FloatingOverlay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:importantForAccessibility="no">
|
||||
@@ -30,11 +30,11 @@
|
||||
android:importantForAccessibility="no"/>
|
||||
<ImageView
|
||||
android:id="@+id/screenshot_actions_background"
|
||||
android:layout_height="@dimen/screenshot_bg_protection_height"
|
||||
android:layout_height="@dimen/overlay_bg_protection_height"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_gravity="bottom"
|
||||
android:alpha="0.0"
|
||||
android:src="@drawable/screenshot_actions_background_protection"/>
|
||||
android:src="@drawable/overlay_actions_background_protection"/>
|
||||
<ImageView
|
||||
android:id="@+id/screenshot_flash"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:elevation="1dp"
|
||||
android:background="@drawable/action_chip_container_background"
|
||||
android:layout_marginStart="@dimen/screenshot_action_container_margin_horizontal"
|
||||
android:layout_marginStart="@dimen/overlay_action_container_margin_horizontal"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/screenshot_actions_container"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/screenshot_actions_container"
|
||||
@@ -35,9 +35,9 @@
|
||||
android:id="@+id/screenshot_actions_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/screenshot_action_container_margin_horizontal"
|
||||
android:paddingEnd="@dimen/screenshot_action_container_padding_right"
|
||||
android:paddingVertical="@dimen/screenshot_action_container_padding_vertical"
|
||||
android:layout_marginEnd="@dimen/overlay_action_container_margin_horizontal"
|
||||
android:paddingEnd="@dimen/overlay_action_container_padding_right"
|
||||
android:paddingVertical="@dimen/overlay_action_container_padding_vertical"
|
||||
android:elevation="1dp"
|
||||
android:scrollbars="none"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
@@ -50,11 +50,11 @@
|
||||
android:id="@+id/screenshot_actions"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
<include layout="@layout/screenshot_action_chip"
|
||||
<include layout="@layout/overlay_action_chip"
|
||||
android:id="@+id/screenshot_share_chip"/>
|
||||
<include layout="@layout/screenshot_action_chip"
|
||||
<include layout="@layout/overlay_action_chip"
|
||||
android:id="@+id/screenshot_edit_chip"/>
|
||||
<include layout="@layout/screenshot_action_chip"
|
||||
<include layout="@layout/overlay_action_chip"
|
||||
android:id="@+id/screenshot_scroll_chip"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
@@ -89,7 +89,7 @@
|
||||
<ImageView
|
||||
android:id="@+id/screenshot_preview"
|
||||
android:visibility="invisible"
|
||||
android:layout_width="@dimen/screenshot_x_scale"
|
||||
android:layout_width="@dimen/overlay_x_scale"
|
||||
android:layout_margin="@dimen/overlay_border_width"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
|
||||
@@ -58,9 +58,9 @@
|
||||
<!-- The color of the text in the Global Actions menu -->
|
||||
<color name="global_actions_alert_text">@color/GM2_red_300</color>
|
||||
|
||||
<!-- Global screenshot actions -->
|
||||
<color name="screenshot_button_ripple">#42FFFFFF</color>
|
||||
<color name="screenshot_background_protection_start">#80000000</color> <!-- 50% black -->
|
||||
<!-- Floating overlay actions -->
|
||||
<color name="overlay_button_ripple">#42FFFFFF</color>
|
||||
<color name="overlay_background_protection_start">#80000000</color> <!-- 50% black -->
|
||||
|
||||
<!-- Media -->
|
||||
<color name="media_divider">#85ffffff</color>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<item name="android:textColorSecondary">?android:attr/textColorPrimaryInverse</item>
|
||||
</style>
|
||||
|
||||
<style name="Screenshot" parent="@android:style/Theme.DeviceDefault.DayNight">
|
||||
<style name="FloatingOverlay" parent="@android:style/Theme.DeviceDefault.DayNight">
|
||||
<item name="android:textColorPrimary">?android:attr/textColorPrimaryInverse</item>
|
||||
</style>
|
||||
|
||||
|
||||
@@ -138,9 +138,9 @@
|
||||
<color name="udfps_enroll_progress">#7DA7F1</color>
|
||||
<color name="udfps_enroll_progress_help">#ffEE675C</color>
|
||||
|
||||
<!-- Global screenshot actions -->
|
||||
<color name="screenshot_button_ripple">#1f000000</color>
|
||||
<color name="screenshot_background_protection_start">#40000000</color> <!-- 25% black -->
|
||||
<!-- Floating overlay actions -->
|
||||
<color name="overlay_button_ripple">#1f000000</color>
|
||||
<color name="overlay_background_protection_start">#40000000</color> <!-- 25% black -->
|
||||
|
||||
<!-- GM2 colors -->
|
||||
<color name="GM2_grey_100">#F1F3F4</color>
|
||||
|
||||
@@ -258,36 +258,36 @@
|
||||
|
||||
<!-- Dimensions related to screenshots -->
|
||||
|
||||
<!-- The padding on the global screenshot background image -->
|
||||
<dimen name="screenshot_x_scale">80dp</dimen>
|
||||
<dimen name="screenshot_bg_protection_height">242dp</dimen>
|
||||
<dimen name="screenshot_action_container_corner_radius">18dp</dimen>
|
||||
<dimen name="screenshot_action_container_padding_vertical">4dp</dimen>
|
||||
<dimen name="screenshot_action_container_margin_horizontal">8dp</dimen>
|
||||
<dimen name="screenshot_action_container_padding_right">8dp</dimen>
|
||||
<!-- Radius of the chip background on global screenshot actions -->
|
||||
<dimen name="screenshot_button_corner_radius">8dp</dimen>
|
||||
<!-- Margin between successive chips -->
|
||||
<dimen name="screenshot_action_chip_margin_start">8dp</dimen>
|
||||
<!-- Padding to make tappable chip height 48dp (18+11+11+4+4) -->
|
||||
<dimen name="screenshot_action_chip_margin_vertical">4dp</dimen>
|
||||
<dimen name="screenshot_action_chip_padding_vertical">11dp</dimen>
|
||||
<dimen name="screenshot_action_chip_icon_size">18sp</dimen>
|
||||
<!-- Padding on each side of the icon for icon-only chips -->
|
||||
<dimen name="screenshot_action_chip_icon_only_padding_horizontal">14dp</dimen>
|
||||
<!-- Padding at the edges of the chip for icon-and-text chips -->
|
||||
<dimen name="screenshot_action_chip_padding_horizontal">12dp</dimen>
|
||||
<!-- Spacing between chip icon and chip text -->
|
||||
<dimen name="screenshot_action_chip_spacing">8dp</dimen>
|
||||
<dimen name="screenshot_action_chip_text_size">14sp</dimen>
|
||||
<dimen name="screenshot_dismissal_height_delta">80dp</dimen>
|
||||
|
||||
<dimen name="screenshot_crop_handle_thickness">3dp</dimen>
|
||||
<dimen name="long_screenshot_action_bar_top_margin">8dp</dimen>
|
||||
|
||||
<!-- Dimensions shared between "overlays" (clipboard and screenshot preview UIs) -->
|
||||
<!-- Constrained size of the floating overlay preview -->
|
||||
<dimen name="overlay_x_scale">80dp</dimen>
|
||||
<!-- Radius of the chip background on floating overlay actions -->
|
||||
<dimen name="overlay_button_corner_radius">8dp</dimen>
|
||||
<!-- Margin between successive chips -->
|
||||
<dimen name="overlay_action_chip_margin_start">8dp</dimen>
|
||||
<!-- Padding to make tappable chip height 48dp (18+11+11+4+4) -->
|
||||
<dimen name="overlay_action_chip_margin_vertical">4dp</dimen>
|
||||
<dimen name="overlay_action_chip_padding_vertical">11dp</dimen>
|
||||
<dimen name="overlay_action_chip_icon_size">18sp</dimen>
|
||||
<!-- Padding on each side of the icon for icon-only chips -->
|
||||
<dimen name="overlay_action_chip_icon_only_padding_horizontal">14dp</dimen>
|
||||
<!-- Padding at the edges of the chip for icon-and-text chips -->
|
||||
<dimen name="overlay_action_chip_padding_horizontal">12dp</dimen>
|
||||
<!-- Spacing between chip icon and chip text -->
|
||||
<dimen name="overlay_action_chip_spacing">8dp</dimen>
|
||||
<dimen name="overlay_action_chip_text_size">14sp</dimen>
|
||||
<dimen name="overlay_offset_y">8dp</dimen>
|
||||
<dimen name="overlay_offset_x">16dp</dimen>
|
||||
<dimen name="overlay_preview_elevation">4dp</dimen>
|
||||
<dimen name="overlay_action_container_margin_horizontal">8dp</dimen>
|
||||
<dimen name="overlay_bg_protection_height">242dp</dimen>
|
||||
<dimen name="overlay_action_container_corner_radius">18dp</dimen>
|
||||
<dimen name="overlay_action_container_padding_vertical">4dp</dimen>
|
||||
<dimen name="overlay_action_container_padding_right">8dp</dimen>
|
||||
<dimen name="overlay_dismiss_button_elevation">7dp</dimen>
|
||||
<dimen name="overlay_dismiss_button_tappable_size">48dp</dimen>
|
||||
<dimen name="overlay_dismiss_button_margin">8dp</dimen>
|
||||
@@ -295,7 +295,7 @@
|
||||
<!-- need a negative margin for some of the constraints. should be overlay_border_width * -1 -->
|
||||
<dimen name="overlay_border_width_neg">-4dp</dimen>
|
||||
|
||||
<dimen name="clipboard_preview_size">@dimen/screenshot_x_scale</dimen>
|
||||
<dimen name="clipboard_preview_size">@dimen/overlay_x_scale</dimen>
|
||||
|
||||
|
||||
<!-- The width of the view containing navigation buttons -->
|
||||
|
||||
@@ -664,7 +664,7 @@
|
||||
<item name="android:windowActivityTransitions">true</item>
|
||||
</style>
|
||||
|
||||
<style name="Screenshot" parent="@android:style/Theme.DeviceDefault.DayNight"/>
|
||||
<style name="FloatingOverlay" parent="@android:style/Theme.DeviceDefault.DayNight"/>
|
||||
|
||||
<!-- Clipboard overlay's edit text activity. -->
|
||||
<style name="EditTextActivity" parent="@android:style/Theme.DeviceDefault.DayNight">
|
||||
|
||||
@@ -74,7 +74,7 @@ import android.widget.TextView;
|
||||
import com.android.internal.policy.PhoneWindow;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.screenshot.FloatingWindowUtil;
|
||||
import com.android.systemui.screenshot.ScreenshotActionChip;
|
||||
import com.android.systemui.screenshot.OverlayActionChip;
|
||||
import com.android.systemui.screenshot.TimeoutHandler;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -106,12 +106,12 @@ public class ClipboardOverlayController {
|
||||
private final DraggableConstraintLayout mView;
|
||||
private final ImageView mImagePreview;
|
||||
private final TextView mTextPreview;
|
||||
private final ScreenshotActionChip mEditChip;
|
||||
private final ScreenshotActionChip mRemoteCopyChip;
|
||||
private final OverlayActionChip mEditChip;
|
||||
private final OverlayActionChip mRemoteCopyChip;
|
||||
private final View mActionContainerBackground;
|
||||
private final View mDismissButton;
|
||||
private final LinearLayout mActionContainer;
|
||||
private final ArrayList<ScreenshotActionChip> mActionChips = new ArrayList<>();
|
||||
private final ArrayList<OverlayActionChip> mActionChips = new ArrayList<>();
|
||||
|
||||
private Runnable mOnSessionCompleteListener;
|
||||
|
||||
@@ -251,7 +251,7 @@ public class ClipboardOverlayController {
|
||||
for (RemoteAction action : actions) {
|
||||
Intent targetIntent = action.getActionIntent().getIntent();
|
||||
if (!TextUtils.equals(source, targetIntent.getComponent().getPackageName())) {
|
||||
ScreenshotActionChip chip = constructActionChip(action);
|
||||
OverlayActionChip chip = constructActionChip(action);
|
||||
mActionContainer.addView(chip);
|
||||
mActionChips.add(chip);
|
||||
}
|
||||
@@ -259,9 +259,9 @@ public class ClipboardOverlayController {
|
||||
});
|
||||
}
|
||||
|
||||
private ScreenshotActionChip constructActionChip(RemoteAction action) {
|
||||
ScreenshotActionChip chip = (ScreenshotActionChip) LayoutInflater.from(mContext).inflate(
|
||||
R.layout.screenshot_action_chip, mActionContainer, false);
|
||||
private OverlayActionChip constructActionChip(RemoteAction action) {
|
||||
OverlayActionChip chip = (OverlayActionChip) LayoutInflater.from(mContext).inflate(
|
||||
R.layout.overlay_action_chip, mActionContainer, false);
|
||||
chip.setText(action.getTitle());
|
||||
chip.setIcon(action.getIcon(), false);
|
||||
chip.setPendingIntent(action.getActionIntent(), this::animateOut);
|
||||
@@ -341,7 +341,7 @@ public class ClipboardOverlayController {
|
||||
mEditChip.setAlpha(1f);
|
||||
ContentResolver resolver = mContext.getContentResolver();
|
||||
try {
|
||||
int size = mContext.getResources().getDimensionPixelSize(R.dimen.screenshot_x_scale);
|
||||
int size = mContext.getResources().getDimensionPixelSize(R.dimen.overlay_x_scale);
|
||||
// The width of the view is capped, height maintains aspect ratio, so allow it to be
|
||||
// taller if needed.
|
||||
Bitmap thumbnail = resolver.loadThumbnail(uri, new Size(size, size * 4), null);
|
||||
@@ -453,7 +453,7 @@ public class ClipboardOverlayController {
|
||||
}
|
||||
|
||||
private void resetActionChips() {
|
||||
for (ScreenshotActionChip chip : mActionChips) {
|
||||
for (OverlayActionChip chip : mActionChips) {
|
||||
mActionContainer.removeView(chip);
|
||||
}
|
||||
mActionChips.clear();
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.systemui.screenshot;
|
||||
|
||||
import static java.util.Objects.requireNonNull;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Icon;
|
||||
@@ -28,10 +30,11 @@ import android.widget.TextView;
|
||||
|
||||
import com.android.systemui.R;
|
||||
|
||||
|
||||
/**
|
||||
* View for a chip with an icon and text.
|
||||
*/
|
||||
public class ScreenshotActionChip extends FrameLayout {
|
||||
public class OverlayActionChip extends FrameLayout {
|
||||
|
||||
private static final String TAG = "ScreenshotActionChip";
|
||||
|
||||
@@ -39,27 +42,27 @@ public class ScreenshotActionChip extends FrameLayout {
|
||||
private TextView mTextView;
|
||||
private boolean mIsPending = false;
|
||||
|
||||
public ScreenshotActionChip(Context context) {
|
||||
public OverlayActionChip(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public ScreenshotActionChip(Context context, AttributeSet attrs) {
|
||||
public OverlayActionChip(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public ScreenshotActionChip(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
public OverlayActionChip(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
this(context, attrs, defStyleAttr, 0);
|
||||
}
|
||||
|
||||
public ScreenshotActionChip(
|
||||
public OverlayActionChip(
|
||||
Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onFinishInflate() {
|
||||
mIconView = findViewById(R.id.screenshot_action_chip_icon);
|
||||
mTextView = findViewById(R.id.screenshot_action_chip_text);
|
||||
mIconView = requireNonNull(findViewById(R.id.overlay_action_chip_icon));
|
||||
mTextView = requireNonNull(findViewById(R.id.overlay_action_chip_text));
|
||||
updatePadding(mTextView.getText().length() > 0);
|
||||
}
|
||||
|
||||
@@ -116,15 +119,15 @@ public class ScreenshotActionChip extends FrameLayout {
|
||||
(LinearLayout.LayoutParams) mTextView.getLayoutParams();
|
||||
if (hasText) {
|
||||
int paddingHorizontal = mContext.getResources().getDimensionPixelSize(
|
||||
R.dimen.screenshot_action_chip_padding_horizontal);
|
||||
R.dimen.overlay_action_chip_padding_horizontal);
|
||||
int spacing = mContext.getResources().getDimensionPixelSize(
|
||||
R.dimen.screenshot_action_chip_spacing);
|
||||
R.dimen.overlay_action_chip_spacing);
|
||||
iconParams.setMarginStart(paddingHorizontal);
|
||||
iconParams.setMarginEnd(spacing);
|
||||
textParams.setMarginEnd(paddingHorizontal);
|
||||
} else {
|
||||
int paddingHorizontal = mContext.getResources().getDimensionPixelSize(
|
||||
R.dimen.screenshot_action_chip_icon_only_padding_horizontal);
|
||||
R.dimen.overlay_action_chip_icon_only_padding_horizontal);
|
||||
iconParams.setMarginStart(paddingHorizontal);
|
||||
iconParams.setMarginEnd(paddingHorizontal);
|
||||
}
|
||||
@@ -131,9 +131,9 @@ public class ScreenshotView extends FrameLayout implements
|
||||
private final Resources mResources;
|
||||
private final Interpolator mFastOutSlowIn;
|
||||
private final DisplayMetrics mDisplayMetrics;
|
||||
private final float mCornerSizeX;
|
||||
private final float mDismissDeltaY;
|
||||
private final float mFixedSize;
|
||||
private final AccessibilityManager mAccessibilityManager;
|
||||
private final GestureDetector mSwipeDetector;
|
||||
|
||||
private int mNavMode;
|
||||
private boolean mOrientationPortrait;
|
||||
@@ -151,23 +151,22 @@ public class ScreenshotView extends FrameLayout implements
|
||||
private LinearLayout mActionsView;
|
||||
private ImageView mBackgroundProtection;
|
||||
private FrameLayout mDismissButton;
|
||||
private ScreenshotActionChip mShareChip;
|
||||
private ScreenshotActionChip mEditChip;
|
||||
private ScreenshotActionChip mScrollChip;
|
||||
private ScreenshotActionChip mQuickShareChip;
|
||||
private OverlayActionChip mShareChip;
|
||||
private OverlayActionChip mEditChip;
|
||||
private OverlayActionChip mScrollChip;
|
||||
private OverlayActionChip mQuickShareChip;
|
||||
|
||||
private UiEventLogger mUiEventLogger;
|
||||
private ScreenshotViewCallback mCallbacks;
|
||||
private Animator mDismissAnimation;
|
||||
private boolean mPendingSharedTransition;
|
||||
private GestureDetector mSwipeDetector;
|
||||
private SwipeDismissHandler mSwipeDismissHandler;
|
||||
private InputMonitorCompat mInputMonitor;
|
||||
private InputChannelCompat.InputEventReceiver mInputEventReceiver;
|
||||
private boolean mShowScrollablePreview;
|
||||
private String mPackageName = "";
|
||||
|
||||
private final ArrayList<ScreenshotActionChip> mSmartChips = new ArrayList<>();
|
||||
private final ArrayList<OverlayActionChip> mSmartChips = new ArrayList<>();
|
||||
private PendingInteraction mPendingInteraction;
|
||||
|
||||
private enum PendingInteraction {
|
||||
@@ -194,9 +193,7 @@ public class ScreenshotView extends FrameLayout implements
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
mResources = mContext.getResources();
|
||||
|
||||
mCornerSizeX = mResources.getDimensionPixelSize(R.dimen.screenshot_x_scale);
|
||||
mDismissDeltaY = mResources.getDimensionPixelSize(
|
||||
R.dimen.screenshot_dismissal_height_delta);
|
||||
mFixedSize = mResources.getDimensionPixelSize(R.dimen.overlay_x_scale);
|
||||
|
||||
// standard material ease
|
||||
mFastOutSlowIn =
|
||||
@@ -474,16 +471,14 @@ public class ScreenshotView extends FrameLayout implements
|
||||
int orientation = mContext.getResources().getConfiguration().orientation;
|
||||
mOrientationPortrait = (orientation == ORIENTATION_PORTRAIT);
|
||||
updateInsets(insets);
|
||||
int screenshotFixedSize =
|
||||
mContext.getResources().getDimensionPixelSize(R.dimen.screenshot_x_scale);
|
||||
ViewGroup.LayoutParams params = mScreenshotPreview.getLayoutParams();
|
||||
if (mOrientationPortrait) {
|
||||
params.width = screenshotFixedSize;
|
||||
params.width = (int) mFixedSize;
|
||||
params.height = LayoutParams.WRAP_CONTENT;
|
||||
mScreenshotPreview.setScaleType(ImageView.ScaleType.FIT_START);
|
||||
} else {
|
||||
params.width = LayoutParams.WRAP_CONTENT;
|
||||
params.height = screenshotFixedSize;
|
||||
params.height = (int) mFixedSize;
|
||||
mScreenshotPreview.setScaleType(ImageView.ScaleType.FIT_END);
|
||||
}
|
||||
|
||||
@@ -500,7 +495,7 @@ public class ScreenshotView extends FrameLayout implements
|
||||
|
||||
// ratio of preview width, end vs. start size
|
||||
float cornerScale =
|
||||
mCornerSizeX / (mOrientationPortrait ? bounds.width() : bounds.height());
|
||||
mFixedSize / (mOrientationPortrait ? bounds.width() : bounds.height());
|
||||
final float currentScale = 1 / cornerScale;
|
||||
|
||||
AnimatorSet dropInAnimation = new AnimatorSet();
|
||||
@@ -651,7 +646,7 @@ public class ScreenshotView extends FrameLayout implements
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
|
||||
ArrayList<ScreenshotActionChip> chips = new ArrayList<>();
|
||||
ArrayList<OverlayActionChip> chips = new ArrayList<>();
|
||||
|
||||
mShareChip.setContentDescription(mContext.getString(R.string.screenshot_share_description));
|
||||
mShareChip.setIcon(Icon.createWithResource(mContext, R.drawable.ic_screenshot_share), true);
|
||||
@@ -716,7 +711,7 @@ public class ScreenshotView extends FrameLayout implements
|
||||
+ (t * (1 - SCREENSHOT_ACTIONS_START_SCALE_X));
|
||||
mActionsContainer.setScaleX(containerScale);
|
||||
mActionsContainerBackground.setScaleX(containerScale);
|
||||
for (ScreenshotActionChip chip : chips) {
|
||||
for (OverlayActionChip chip : chips) {
|
||||
chip.setAlpha(t);
|
||||
chip.setScaleX(1 / containerScale); // invert to keep size of children constant
|
||||
}
|
||||
@@ -772,8 +767,8 @@ public class ScreenshotView extends FrameLayout implements
|
||||
LayoutInflater inflater = LayoutInflater.from(mContext);
|
||||
|
||||
for (Notification.Action smartAction : imageData.smartActions) {
|
||||
ScreenshotActionChip actionChip = (ScreenshotActionChip) inflater.inflate(
|
||||
R.layout.screenshot_action_chip, mActionsView, false);
|
||||
OverlayActionChip actionChip = (OverlayActionChip) inflater.inflate(
|
||||
R.layout.overlay_action_chip, mActionsView, false);
|
||||
actionChip.setText(smartAction.title);
|
||||
actionChip.setIcon(smartAction.getIcon(), false);
|
||||
actionChip.setPendingIntent(smartAction.actionIntent,
|
||||
@@ -792,8 +787,8 @@ public class ScreenshotView extends FrameLayout implements
|
||||
void addQuickShareChip(Notification.Action quickShareAction) {
|
||||
if (mPendingInteraction == null) {
|
||||
LayoutInflater inflater = LayoutInflater.from(mContext);
|
||||
mQuickShareChip = (ScreenshotActionChip) inflater.inflate(
|
||||
R.layout.screenshot_action_chip, mActionsView, false);
|
||||
mQuickShareChip = (OverlayActionChip) inflater.inflate(
|
||||
R.layout.overlay_action_chip, mActionsView, false);
|
||||
mQuickShareChip.setText(quickShareAction.title);
|
||||
mQuickShareChip.setIcon(quickShareAction.getIcon(), false);
|
||||
mQuickShareChip.setOnClickListener(v -> {
|
||||
@@ -894,7 +889,7 @@ public class ScreenshotView extends FrameLayout implements
|
||||
if (mShowScrollablePreview) {
|
||||
Rect scrollableArea = scrollableAreaOnScreen(response);
|
||||
|
||||
float scale = mCornerSizeX
|
||||
float scale = mFixedSize
|
||||
/ (mOrientationPortrait ? screenBitmap.getWidth() : screenBitmap.getHeight());
|
||||
ConstraintLayout.LayoutParams params =
|
||||
(ConstraintLayout.LayoutParams) mScrollablePreview.getLayoutParams();
|
||||
@@ -994,7 +989,7 @@ public class ScreenshotView extends FrameLayout implements
|
||||
mShareChip.setIsPending(false);
|
||||
mEditChip.setIsPending(false);
|
||||
mPendingInteraction = null;
|
||||
for (ScreenshotActionChip chip : mSmartChips) {
|
||||
for (OverlayActionChip chip : mSmartChips) {
|
||||
mActionsView.removeView(chip);
|
||||
}
|
||||
mSmartChips.clear();
|
||||
|
||||
Reference in New Issue
Block a user