Loading packages/SystemUI/res/drawable/screenshot_cancel.xml +3 −3 Original line number Diff line number Diff line Loading @@ -20,9 +20,9 @@ android:viewportWidth="48.0" android:viewportHeight="48.0"> <path android:pathData="M24,24m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" android:fillColor="@android:color/white"/> android:fillColor="@color/global_screenshot_dismiss_background" android:pathData="M24,24m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0"/> <path android:fillColor="@color/GM2_grey_500" android:fillColor="@color/global_screenshot_dismiss_foreground" android:pathData="M31,18.41L29.59,17 24,22.59 18.41,17 17,18.41 22.59,24 17,29.59 18.41,31 24,25.41 29.59,31 31,29.59 25.41,24z"/> </vector> No newline at end of file packages/SystemUI/res/layout/global_screenshot.xml +1 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ android:visibility="gone" android:contentDescription="@string/screenshot_dismiss_ui_description"> <ImageView android:id="@+id/global_screenshot_dismiss_image" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="@dimen/screenshot_dismiss_button_margin" Loading packages/SystemUI/res/values-night/colors.xml +7 −2 Original line number Diff line number Diff line Loading @@ -72,9 +72,14 @@ <color name="global_actions_alert_text">@color/GM2_red_300</color> <!-- Global screenshot actions --> <color name="global_screenshot_button_background">@color/GM2_grey_900</color> <color name="global_screenshot_button_background">@color/GM2_grey_800</color> <color name="global_screenshot_button_ripple">#42FFFFFF</color> <color name="global_screenshot_button_text">@color/GM2_blue_300</color> <color name="global_screenshot_button_text">#FFFFFF</color> <color name="global_screenshot_button_border">@color/GM2_grey_600</color> <color name="global_screenshot_button_icon">@color/GM2_blue_300</color> <color name="global_screenshot_dismiss_background">@color/GM2_grey_800</color> <color name="global_screenshot_dismiss_foreground">#FFFFFF</color> <!-- Biometric dialog colors --> <color name="biometric_dialog_gray">#ff888888</color> Loading packages/SystemUI/res/values/colors.xml +2 −0 Original line number Diff line number Diff line Loading @@ -198,6 +198,8 @@ <color name="global_screenshot_button_border">@color/GM2_grey_300</color> <color name="global_screenshot_button_ripple">#1f000000</color> <color name="global_screenshot_button_icon">@color/GM2_blue_500</color> <color name="global_screenshot_dismiss_background">#FFFFFF</color> <color name="global_screenshot_dismiss_foreground">@color/GM2_grey_500</color> <!-- GM2 colors --> <color name="GM2_grey_50">#F8F9FA</color> Loading packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java +41 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Insets; Loading Loading @@ -184,9 +185,11 @@ public class GlobalScreenshot implements ViewTreeObserver.OnComputeInternalInset private final LinearLayout mActionsView; private final ImageView mBackgroundProtection; private final FrameLayout mDismissButton; private final ImageView mDismissImage; private Bitmap mScreenBitmap; private Animator mScreenshotAnimation; private boolean mInDarkMode = false; private float mScreenshotOffsetXPx; private float mScreenshotOffsetYPx; Loading Loading @@ -250,6 +253,7 @@ public class GlobalScreenshot implements ViewTreeObserver.OnComputeInternalInset mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_EXPLICIT_DISMISSAL); clearScreenshot("dismiss_button"); }); mDismissImage = mDismissButton.findViewById(R.id.global_screenshot_dismiss_image); mScreenshotFlash = mScreenshotLayout.findViewById(R.id.global_screenshot_flash); mScreenshotSelectorView = mScreenshotLayout.findViewById(R.id.global_screenshot_selector); Loading Loading @@ -356,6 +360,8 @@ public class GlobalScreenshot implements ViewTreeObserver.OnComputeInternalInset mScreenBitmap.setHasAlpha(false); mScreenBitmap.prepareToDraw(); updateDarkTheme(); mWindowManager.addView(mScreenshotLayout, mWindowLayoutParams); mScreenshotLayout.getViewTreeObserver().addOnComputeInternalInsetsListener(this); Loading Loading @@ -453,6 +459,41 @@ public class GlobalScreenshot implements ViewTreeObserver.OnComputeInternalInset mContext.getResources().getString(R.string.screenshot_preview_description)); } /** * Update assets (called when the dark theme status changes). We only need to update the dismiss * button and the actions container background, since the buttons are re-inflated on demand. */ private void reloadAssets() { mDismissImage.setImageDrawable(mContext.getDrawable(R.drawable.screenshot_cancel)); mActionsContainer.setBackground( mContext.getDrawable(R.drawable.action_chip_container_background)); } /** * Checks the current dark theme status and updates if it has changed. */ private void updateDarkTheme() { int currentNightMode = mContext.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; switch (currentNightMode) { case Configuration.UI_MODE_NIGHT_NO: // Night mode is not active, we're using the light theme if (mInDarkMode) { mInDarkMode = false; reloadAssets(); } break; case Configuration.UI_MODE_NIGHT_YES: // Night mode is active, we're using dark theme if (!mInDarkMode) { mInDarkMode = true; reloadAssets(); } break; } } /** * Starts the animation after taking the screenshot */ Loading Loading
packages/SystemUI/res/drawable/screenshot_cancel.xml +3 −3 Original line number Diff line number Diff line Loading @@ -20,9 +20,9 @@ android:viewportWidth="48.0" android:viewportHeight="48.0"> <path android:pathData="M24,24m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" android:fillColor="@android:color/white"/> android:fillColor="@color/global_screenshot_dismiss_background" android:pathData="M24,24m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0"/> <path android:fillColor="@color/GM2_grey_500" android:fillColor="@color/global_screenshot_dismiss_foreground" android:pathData="M31,18.41L29.59,17 24,22.59 18.41,17 17,18.41 22.59,24 17,29.59 18.41,31 24,25.41 29.59,31 31,29.59 25.41,24z"/> </vector> No newline at end of file
packages/SystemUI/res/layout/global_screenshot.xml +1 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ android:visibility="gone" android:contentDescription="@string/screenshot_dismiss_ui_description"> <ImageView android:id="@+id/global_screenshot_dismiss_image" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="@dimen/screenshot_dismiss_button_margin" Loading
packages/SystemUI/res/values-night/colors.xml +7 −2 Original line number Diff line number Diff line Loading @@ -72,9 +72,14 @@ <color name="global_actions_alert_text">@color/GM2_red_300</color> <!-- Global screenshot actions --> <color name="global_screenshot_button_background">@color/GM2_grey_900</color> <color name="global_screenshot_button_background">@color/GM2_grey_800</color> <color name="global_screenshot_button_ripple">#42FFFFFF</color> <color name="global_screenshot_button_text">@color/GM2_blue_300</color> <color name="global_screenshot_button_text">#FFFFFF</color> <color name="global_screenshot_button_border">@color/GM2_grey_600</color> <color name="global_screenshot_button_icon">@color/GM2_blue_300</color> <color name="global_screenshot_dismiss_background">@color/GM2_grey_800</color> <color name="global_screenshot_dismiss_foreground">#FFFFFF</color> <!-- Biometric dialog colors --> <color name="biometric_dialog_gray">#ff888888</color> Loading
packages/SystemUI/res/values/colors.xml +2 −0 Original line number Diff line number Diff line Loading @@ -198,6 +198,8 @@ <color name="global_screenshot_button_border">@color/GM2_grey_300</color> <color name="global_screenshot_button_ripple">#1f000000</color> <color name="global_screenshot_button_icon">@color/GM2_blue_500</color> <color name="global_screenshot_dismiss_background">#FFFFFF</color> <color name="global_screenshot_dismiss_foreground">@color/GM2_grey_500</color> <!-- GM2 colors --> <color name="GM2_grey_50">#F8F9FA</color> Loading
packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java +41 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Insets; Loading Loading @@ -184,9 +185,11 @@ public class GlobalScreenshot implements ViewTreeObserver.OnComputeInternalInset private final LinearLayout mActionsView; private final ImageView mBackgroundProtection; private final FrameLayout mDismissButton; private final ImageView mDismissImage; private Bitmap mScreenBitmap; private Animator mScreenshotAnimation; private boolean mInDarkMode = false; private float mScreenshotOffsetXPx; private float mScreenshotOffsetYPx; Loading Loading @@ -250,6 +253,7 @@ public class GlobalScreenshot implements ViewTreeObserver.OnComputeInternalInset mUiEventLogger.log(ScreenshotEvent.SCREENSHOT_EXPLICIT_DISMISSAL); clearScreenshot("dismiss_button"); }); mDismissImage = mDismissButton.findViewById(R.id.global_screenshot_dismiss_image); mScreenshotFlash = mScreenshotLayout.findViewById(R.id.global_screenshot_flash); mScreenshotSelectorView = mScreenshotLayout.findViewById(R.id.global_screenshot_selector); Loading Loading @@ -356,6 +360,8 @@ public class GlobalScreenshot implements ViewTreeObserver.OnComputeInternalInset mScreenBitmap.setHasAlpha(false); mScreenBitmap.prepareToDraw(); updateDarkTheme(); mWindowManager.addView(mScreenshotLayout, mWindowLayoutParams); mScreenshotLayout.getViewTreeObserver().addOnComputeInternalInsetsListener(this); Loading Loading @@ -453,6 +459,41 @@ public class GlobalScreenshot implements ViewTreeObserver.OnComputeInternalInset mContext.getResources().getString(R.string.screenshot_preview_description)); } /** * Update assets (called when the dark theme status changes). We only need to update the dismiss * button and the actions container background, since the buttons are re-inflated on demand. */ private void reloadAssets() { mDismissImage.setImageDrawable(mContext.getDrawable(R.drawable.screenshot_cancel)); mActionsContainer.setBackground( mContext.getDrawable(R.drawable.action_chip_container_background)); } /** * Checks the current dark theme status and updates if it has changed. */ private void updateDarkTheme() { int currentNightMode = mContext.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; switch (currentNightMode) { case Configuration.UI_MODE_NIGHT_NO: // Night mode is not active, we're using the light theme if (mInDarkMode) { mInDarkMode = false; reloadAssets(); } break; case Configuration.UI_MODE_NIGHT_YES: // Night mode is active, we're using dark theme if (!mInDarkMode) { mInDarkMode = true; reloadAssets(); } break; } } /** * Starts the animation after taking the screenshot */ Loading