Loading packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml +3 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ android:layout_width="@dimen/dream_overlay_status_bar_icon_size" android:layout_height="match_parent" android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:layout_marginTop="@dimen/dream_overlay_status_bar_marginTop" android:src="@drawable/ic_alarm" android:tint="@android:color/white" android:visibility="gone" Loading @@ -67,6 +68,7 @@ android:layout_width="@dimen/dream_overlay_status_bar_icon_size" android:layout_height="match_parent" android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:layout_marginTop="@dimen/dream_overlay_status_bar_marginTop" android:src="@drawable/ic_qs_dnd_on" android:tint="@android:color/white" android:visibility="gone" Loading @@ -77,6 +79,7 @@ android:layout_width="@dimen/dream_overlay_status_bar_icon_size" android:layout_height="match_parent" android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:layout_marginTop="@dimen/dream_overlay_status_bar_marginTop" android:src="@drawable/ic_signal_wifi_off" android:visibility="gone" android:contentDescription="@string/dream_overlay_status_bar_wifi_off" /> Loading packages/SystemUI/res/values/dimens.xml +2 −0 Original line number Diff line number Diff line Loading @@ -1623,6 +1623,8 @@ <dimen name="dream_overlay_status_bar_ambient_text_shadow_dx">0.5dp</dimen> <dimen name="dream_overlay_status_bar_ambient_text_shadow_dy">0.5dp</dimen> <dimen name="dream_overlay_status_bar_ambient_text_shadow_radius">2dp</dimen> <dimen name="dream_overlay_icon_inset_dimen">0dp</dimen> <dimen name="dream_overlay_status_bar_marginTop">22dp</dimen> <!-- Default device corner radius, used for assist UI --> <dimen name="config_rounded_mask_size">0px</dimen> Loading packages/SystemUI/shared/src/com/android/systemui/shared/shadow/DoubleShadowTextView.kt +10 −30 Original line number Diff line number Diff line Loading @@ -48,48 +48,28 @@ constructor( val drawableInsetSize: Int try { val keyShadowBlur = attributes.getDimensionPixelSize(R.styleable.DoubleShadowTextView_keyShadowBlur, 0) attributes.getDimension(R.styleable.DoubleShadowTextView_keyShadowBlur, 0f) val keyShadowOffsetX = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_keyShadowOffsetX, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_keyShadowOffsetX, 0f) val keyShadowOffsetY = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_keyShadowOffsetY, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_keyShadowOffsetY, 0f) val keyShadowAlpha = attributes.getFloat(R.styleable.DoubleShadowTextView_keyShadowAlpha, 0f) mKeyShadowInfo = ShadowInfo( keyShadowBlur.toFloat(), keyShadowOffsetX.toFloat(), keyShadowOffsetY.toFloat(), keyShadowAlpha ) ShadowInfo(keyShadowBlur, keyShadowOffsetX, keyShadowOffsetY, keyShadowAlpha) val ambientShadowBlur = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_ambientShadowBlur, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_ambientShadowBlur, 0f) val ambientShadowOffsetX = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_ambientShadowOffsetX, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_ambientShadowOffsetX, 0f) val ambientShadowOffsetY = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_ambientShadowOffsetY, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_ambientShadowOffsetY, 0f) val ambientShadowAlpha = attributes.getFloat(R.styleable.DoubleShadowTextView_ambientShadowAlpha, 0f) mAmbientShadowInfo = ShadowInfo( ambientShadowBlur.toFloat(), ambientShadowOffsetX.toFloat(), ambientShadowOffsetY.toFloat(), ambientShadowBlur, ambientShadowOffsetX, ambientShadowOffsetY, ambientShadowAlpha ) drawableSize = Loading packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java +67 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.dreams; import android.annotation.IntDef; import android.annotation.Nullable; import android.content.Context; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; Loading @@ -26,6 +27,9 @@ import android.view.ViewGroup; import androidx.constraintlayout.widget.ConstraintLayout; import com.android.systemui.R; import com.android.systemui.shared.shadow.DoubleShadowIconDrawable; import com.android.systemui.shared.shadow.DoubleShadowTextHelper.ShadowInfo; import com.android.systemui.statusbar.AlphaOptimizedImageView; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -60,8 +64,15 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { public static final int STATUS_ICON_PRIORITY_MODE_ON = 6; private final Map<Integer, View> mStatusIcons = new HashMap<>(); private Context mContext; private ViewGroup mSystemStatusViewGroup; private ViewGroup mExtraSystemStatusViewGroup; private ShadowInfo mKeyShadowInfo; private ShadowInfo mAmbientShadowInfo; private int mDrawableSize; private int mDrawableInsetSize; private static final float KEY_SHADOW_ALPHA = 0.35f; private static final float AMBIENT_SHADOW_ALPHA = 0.4f; public DreamOverlayStatusBarView(Context context) { this(context, null); Loading @@ -73,6 +84,7 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { public DreamOverlayStatusBarView(Context context, AttributeSet attrs, int defStyleAttr) { this(context, attrs, defStyleAttr, 0); mContext = context; } public DreamOverlayStatusBarView( Loading @@ -80,14 +92,36 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { super(context, attrs, defStyleAttr, defStyleRes); } @Override protected void onFinishInflate() { super.onFinishInflate(); mKeyShadowInfo = createShadowInfo( R.dimen.dream_overlay_status_bar_key_text_shadow_radius, R.dimen.dream_overlay_status_bar_key_text_shadow_dx, R.dimen.dream_overlay_status_bar_key_text_shadow_dy, KEY_SHADOW_ALPHA ); mAmbientShadowInfo = createShadowInfo( R.dimen.dream_overlay_status_bar_ambient_text_shadow_radius, R.dimen.dream_overlay_status_bar_ambient_text_shadow_dx, R.dimen.dream_overlay_status_bar_ambient_text_shadow_dy, AMBIENT_SHADOW_ALPHA ); mDrawableSize = mContext .getResources() .getDimensionPixelSize(R.dimen.dream_overlay_status_bar_icon_size); mDrawableInsetSize = mContext .getResources() .getDimensionPixelSize(R.dimen.dream_overlay_icon_inset_dimen); mStatusIcons.put(STATUS_ICON_WIFI_UNAVAILABLE, fetchStatusIconForResId(R.id.dream_overlay_wifi_status)); addDoubleShadow(fetchStatusIconForResId(R.id.dream_overlay_wifi_status))); mStatusIcons.put(STATUS_ICON_ALARM_SET, fetchStatusIconForResId(R.id.dream_overlay_alarm_set)); addDoubleShadow(fetchStatusIconForResId(R.id.dream_overlay_alarm_set))); mStatusIcons.put(STATUS_ICON_CAMERA_DISABLED, fetchStatusIconForResId(R.id.dream_overlay_camera_off)); mStatusIcons.put(STATUS_ICON_MIC_DISABLED, Loading @@ -97,7 +131,7 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { mStatusIcons.put(STATUS_ICON_NOTIFICATIONS, fetchStatusIconForResId(R.id.dream_overlay_notification_indicator)); mStatusIcons.put(STATUS_ICON_PRIORITY_MODE_ON, fetchStatusIconForResId(R.id.dream_overlay_priority_mode)); addDoubleShadow(fetchStatusIconForResId(R.id.dream_overlay_priority_mode))); mSystemStatusViewGroup = findViewById(R.id.dream_overlay_system_status); mExtraSystemStatusViewGroup = findViewById(R.id.dream_overlay_extra_items); Loading Loading @@ -137,4 +171,34 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { } return false; } private View addDoubleShadow(View icon) { if (icon instanceof AlphaOptimizedImageView) { AlphaOptimizedImageView i = (AlphaOptimizedImageView) icon; Drawable drawableIcon = i.getDrawable(); i.setImageDrawable(new DoubleShadowIconDrawable( mKeyShadowInfo, mAmbientShadowInfo, drawableIcon, mDrawableSize, mDrawableInsetSize )); } return icon; } private ShadowInfo createShadowInfo(int blurId, int offsetXId, int offsetYId, float alpha) { return new ShadowInfo( fetchDimensionForResId(blurId), fetchDimensionForResId(offsetXId), fetchDimensionForResId(offsetYId), alpha ); } private Float fetchDimensionForResId(int resId) { return mContext .getResources() .getDimension(resId); } } Loading
packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml +3 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ android:layout_width="@dimen/dream_overlay_status_bar_icon_size" android:layout_height="match_parent" android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:layout_marginTop="@dimen/dream_overlay_status_bar_marginTop" android:src="@drawable/ic_alarm" android:tint="@android:color/white" android:visibility="gone" Loading @@ -67,6 +68,7 @@ android:layout_width="@dimen/dream_overlay_status_bar_icon_size" android:layout_height="match_parent" android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:layout_marginTop="@dimen/dream_overlay_status_bar_marginTop" android:src="@drawable/ic_qs_dnd_on" android:tint="@android:color/white" android:visibility="gone" Loading @@ -77,6 +79,7 @@ android:layout_width="@dimen/dream_overlay_status_bar_icon_size" android:layout_height="match_parent" android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:layout_marginTop="@dimen/dream_overlay_status_bar_marginTop" android:src="@drawable/ic_signal_wifi_off" android:visibility="gone" android:contentDescription="@string/dream_overlay_status_bar_wifi_off" /> Loading
packages/SystemUI/res/values/dimens.xml +2 −0 Original line number Diff line number Diff line Loading @@ -1623,6 +1623,8 @@ <dimen name="dream_overlay_status_bar_ambient_text_shadow_dx">0.5dp</dimen> <dimen name="dream_overlay_status_bar_ambient_text_shadow_dy">0.5dp</dimen> <dimen name="dream_overlay_status_bar_ambient_text_shadow_radius">2dp</dimen> <dimen name="dream_overlay_icon_inset_dimen">0dp</dimen> <dimen name="dream_overlay_status_bar_marginTop">22dp</dimen> <!-- Default device corner radius, used for assist UI --> <dimen name="config_rounded_mask_size">0px</dimen> Loading
packages/SystemUI/shared/src/com/android/systemui/shared/shadow/DoubleShadowTextView.kt +10 −30 Original line number Diff line number Diff line Loading @@ -48,48 +48,28 @@ constructor( val drawableInsetSize: Int try { val keyShadowBlur = attributes.getDimensionPixelSize(R.styleable.DoubleShadowTextView_keyShadowBlur, 0) attributes.getDimension(R.styleable.DoubleShadowTextView_keyShadowBlur, 0f) val keyShadowOffsetX = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_keyShadowOffsetX, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_keyShadowOffsetX, 0f) val keyShadowOffsetY = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_keyShadowOffsetY, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_keyShadowOffsetY, 0f) val keyShadowAlpha = attributes.getFloat(R.styleable.DoubleShadowTextView_keyShadowAlpha, 0f) mKeyShadowInfo = ShadowInfo( keyShadowBlur.toFloat(), keyShadowOffsetX.toFloat(), keyShadowOffsetY.toFloat(), keyShadowAlpha ) ShadowInfo(keyShadowBlur, keyShadowOffsetX, keyShadowOffsetY, keyShadowAlpha) val ambientShadowBlur = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_ambientShadowBlur, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_ambientShadowBlur, 0f) val ambientShadowOffsetX = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_ambientShadowOffsetX, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_ambientShadowOffsetX, 0f) val ambientShadowOffsetY = attributes.getDimensionPixelSize( R.styleable.DoubleShadowTextView_ambientShadowOffsetY, 0 ) attributes.getDimension(R.styleable.DoubleShadowTextView_ambientShadowOffsetY, 0f) val ambientShadowAlpha = attributes.getFloat(R.styleable.DoubleShadowTextView_ambientShadowAlpha, 0f) mAmbientShadowInfo = ShadowInfo( ambientShadowBlur.toFloat(), ambientShadowOffsetX.toFloat(), ambientShadowOffsetY.toFloat(), ambientShadowBlur, ambientShadowOffsetX, ambientShadowOffsetY, ambientShadowAlpha ) drawableSize = Loading
packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayStatusBarView.java +67 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.dreams; import android.annotation.IntDef; import android.annotation.Nullable; import android.content.Context; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; Loading @@ -26,6 +27,9 @@ import android.view.ViewGroup; import androidx.constraintlayout.widget.ConstraintLayout; import com.android.systemui.R; import com.android.systemui.shared.shadow.DoubleShadowIconDrawable; import com.android.systemui.shared.shadow.DoubleShadowTextHelper.ShadowInfo; import com.android.systemui.statusbar.AlphaOptimizedImageView; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -60,8 +64,15 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { public static final int STATUS_ICON_PRIORITY_MODE_ON = 6; private final Map<Integer, View> mStatusIcons = new HashMap<>(); private Context mContext; private ViewGroup mSystemStatusViewGroup; private ViewGroup mExtraSystemStatusViewGroup; private ShadowInfo mKeyShadowInfo; private ShadowInfo mAmbientShadowInfo; private int mDrawableSize; private int mDrawableInsetSize; private static final float KEY_SHADOW_ALPHA = 0.35f; private static final float AMBIENT_SHADOW_ALPHA = 0.4f; public DreamOverlayStatusBarView(Context context) { this(context, null); Loading @@ -73,6 +84,7 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { public DreamOverlayStatusBarView(Context context, AttributeSet attrs, int defStyleAttr) { this(context, attrs, defStyleAttr, 0); mContext = context; } public DreamOverlayStatusBarView( Loading @@ -80,14 +92,36 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { super(context, attrs, defStyleAttr, defStyleRes); } @Override protected void onFinishInflate() { super.onFinishInflate(); mKeyShadowInfo = createShadowInfo( R.dimen.dream_overlay_status_bar_key_text_shadow_radius, R.dimen.dream_overlay_status_bar_key_text_shadow_dx, R.dimen.dream_overlay_status_bar_key_text_shadow_dy, KEY_SHADOW_ALPHA ); mAmbientShadowInfo = createShadowInfo( R.dimen.dream_overlay_status_bar_ambient_text_shadow_radius, R.dimen.dream_overlay_status_bar_ambient_text_shadow_dx, R.dimen.dream_overlay_status_bar_ambient_text_shadow_dy, AMBIENT_SHADOW_ALPHA ); mDrawableSize = mContext .getResources() .getDimensionPixelSize(R.dimen.dream_overlay_status_bar_icon_size); mDrawableInsetSize = mContext .getResources() .getDimensionPixelSize(R.dimen.dream_overlay_icon_inset_dimen); mStatusIcons.put(STATUS_ICON_WIFI_UNAVAILABLE, fetchStatusIconForResId(R.id.dream_overlay_wifi_status)); addDoubleShadow(fetchStatusIconForResId(R.id.dream_overlay_wifi_status))); mStatusIcons.put(STATUS_ICON_ALARM_SET, fetchStatusIconForResId(R.id.dream_overlay_alarm_set)); addDoubleShadow(fetchStatusIconForResId(R.id.dream_overlay_alarm_set))); mStatusIcons.put(STATUS_ICON_CAMERA_DISABLED, fetchStatusIconForResId(R.id.dream_overlay_camera_off)); mStatusIcons.put(STATUS_ICON_MIC_DISABLED, Loading @@ -97,7 +131,7 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { mStatusIcons.put(STATUS_ICON_NOTIFICATIONS, fetchStatusIconForResId(R.id.dream_overlay_notification_indicator)); mStatusIcons.put(STATUS_ICON_PRIORITY_MODE_ON, fetchStatusIconForResId(R.id.dream_overlay_priority_mode)); addDoubleShadow(fetchStatusIconForResId(R.id.dream_overlay_priority_mode))); mSystemStatusViewGroup = findViewById(R.id.dream_overlay_system_status); mExtraSystemStatusViewGroup = findViewById(R.id.dream_overlay_extra_items); Loading Loading @@ -137,4 +171,34 @@ public class DreamOverlayStatusBarView extends ConstraintLayout { } return false; } private View addDoubleShadow(View icon) { if (icon instanceof AlphaOptimizedImageView) { AlphaOptimizedImageView i = (AlphaOptimizedImageView) icon; Drawable drawableIcon = i.getDrawable(); i.setImageDrawable(new DoubleShadowIconDrawable( mKeyShadowInfo, mAmbientShadowInfo, drawableIcon, mDrawableSize, mDrawableInsetSize )); } return icon; } private ShadowInfo createShadowInfo(int blurId, int offsetXId, int offsetYId, float alpha) { return new ShadowInfo( fetchDimensionForResId(blurId), fetchDimensionForResId(offsetXId), fetchDimensionForResId(offsetYId), alpha ); } private Float fetchDimensionForResId(int resId) { return mContext .getResources() .getDimension(resId); } }