Loading packages/SystemUI/animation/src/com/android/systemui/animation/GhostedViewLaunchAnimatorController.kt +15 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import android.graphics.PorterDuffXfermode import android.graphics.Rect import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable import android.graphics.drawable.InsetDrawable import android.graphics.drawable.LayerDrawable import android.view.GhostView import android.view.View Loading Loading @@ -186,6 +187,10 @@ open class GhostedViewLaunchAnimatorController( return drawable } if (drawable is InsetDrawable) { return drawable.drawable?.let { findGradientDrawable(it) } } if (drawable is LayerDrawable) { for (i in 0 until drawable.numberOfLayers) { val maybeGradient = drawable.getDrawable(i) Loading Loading @@ -255,6 +260,11 @@ open class GhostedViewLaunchAnimatorController( } private fun setXfermode(background: Drawable, mode: PorterDuffXfermode?) { if (background is InsetDrawable) { background.drawable?.let { setXfermode(it, mode) } return } if (background !is LayerDrawable) { background.setXfermode(mode) return Loading Loading @@ -323,6 +333,11 @@ open class GhostedViewLaunchAnimatorController( return } if (drawable is InsetDrawable) { drawable.drawable?.let { applyBackgroundRadii(it, radii) } return } if (drawable !is LayerDrawable) { return } Loading packages/SystemUI/plugin/src/com/android/systemui/plugins/ActivityStarter.java +2 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,8 @@ public interface ActivityStarter { */ void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade, int flags); void startActivity(Intent intent, boolean dismissShade); void startActivity(Intent intent, boolean dismissShade, @Nullable ActivityLaunchAnimator.Controller animationController); void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade); void startActivity(Intent intent, boolean dismissShade, Callback callback); void postStartActivityDismissingKeyguard(Intent intent, int delay); Loading packages/SystemUI/res/drawable/qs_footer_action_chip_background.xml +7 −2 Original line number Diff line number Diff line Loading @@ -23,13 +23,18 @@ <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="@android:color/white"/> <corners android:radius="@dimen/screenshot_button_corner_radius"/> </shape> </item> <item> <shape android:shape="rectangle"> <solid android:color="?attr/underSurfaceColor"/> <corners android:radius="@dimen/qs_footer_action_corner_radius"/> </shape> </item> <item> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="@color/qs_footer_action_border"/> <solid android:color="@android:color/transparent"/> <corners android:radius="@dimen/qs_footer_action_corner_radius"/> </shape> </item> Loading packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java +7 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,13 @@ public class ActivityStarterDelegate implements ActivityStarter { mActualStarter.ifPresent(starter -> starter.get().startActivity(intent, dismissShade)); } @Override public void startActivity(Intent intent, boolean dismissShade, @Nullable ActivityLaunchAnimator.Controller animationController) { mActualStarter.ifPresent( starter -> starter.get().startActivity(intent, dismissShade, animationController)); } @Override public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade) { mActualStarter.ifPresent( Loading packages/SystemUI/src/com/android/systemui/qs/QSFooterViewController.java +7 −2 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.R; import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.globalactions.GlobalActionsDialogLite; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.FalsingManager; Loading Loading @@ -65,6 +66,7 @@ public class QSFooterViewController extends ViewController<QSFooterView> impleme private final MetricsLogger mMetricsLogger; private final FalsingManager mFalsingManager; private final SettingsButton mSettingsButton; private final View mSettingsButtonContainer; private final TextView mBuildText; private final View mEdit; private final MultiUserSwitch mMultiUserSwitch; Loading Loading @@ -152,6 +154,7 @@ public class QSFooterViewController extends ViewController<QSFooterView> impleme mFalsingManager = falsingManager; mSettingsButton = mView.findViewById(R.id.settings_button); mSettingsButtonContainer = mView.findViewById(R.id.settings_button_container); mBuildText = mView.findViewById(R.id.build); mEdit = mView.findViewById(android.R.id.edit); mMultiUserSwitch = mView.findViewById(R.id.multi_user_switch); Loading Loading @@ -258,10 +261,12 @@ public class QSFooterViewController extends ViewController<QSFooterView> impleme mView.disable(state2, isTunerEnabled()); } private void startSettingsActivity() { ActivityLaunchAnimator.Controller animationController = mSettingsButtonContainer != null ? ActivityLaunchAnimator.Controller.fromView( mSettingsButtonContainer) : null; mActivityStarter.startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS), true /* dismissShade */); true /* dismissShade */, animationController); } private boolean isTunerEnabled() { Loading Loading
packages/SystemUI/animation/src/com/android/systemui/animation/GhostedViewLaunchAnimatorController.kt +15 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import android.graphics.PorterDuffXfermode import android.graphics.Rect import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable import android.graphics.drawable.InsetDrawable import android.graphics.drawable.LayerDrawable import android.view.GhostView import android.view.View Loading Loading @@ -186,6 +187,10 @@ open class GhostedViewLaunchAnimatorController( return drawable } if (drawable is InsetDrawable) { return drawable.drawable?.let { findGradientDrawable(it) } } if (drawable is LayerDrawable) { for (i in 0 until drawable.numberOfLayers) { val maybeGradient = drawable.getDrawable(i) Loading Loading @@ -255,6 +260,11 @@ open class GhostedViewLaunchAnimatorController( } private fun setXfermode(background: Drawable, mode: PorterDuffXfermode?) { if (background is InsetDrawable) { background.drawable?.let { setXfermode(it, mode) } return } if (background !is LayerDrawable) { background.setXfermode(mode) return Loading Loading @@ -323,6 +333,11 @@ open class GhostedViewLaunchAnimatorController( return } if (drawable is InsetDrawable) { drawable.drawable?.let { applyBackgroundRadii(it, radii) } return } if (drawable !is LayerDrawable) { return } Loading
packages/SystemUI/plugin/src/com/android/systemui/plugins/ActivityStarter.java +2 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,8 @@ public interface ActivityStarter { */ void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade, int flags); void startActivity(Intent intent, boolean dismissShade); void startActivity(Intent intent, boolean dismissShade, @Nullable ActivityLaunchAnimator.Controller animationController); void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade); void startActivity(Intent intent, boolean dismissShade, Callback callback); void postStartActivityDismissingKeyguard(Intent intent, int delay); Loading
packages/SystemUI/res/drawable/qs_footer_action_chip_background.xml +7 −2 Original line number Diff line number Diff line Loading @@ -23,13 +23,18 @@ <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="@android:color/white"/> <corners android:radius="@dimen/screenshot_button_corner_radius"/> </shape> </item> <item> <shape android:shape="rectangle"> <solid android:color="?attr/underSurfaceColor"/> <corners android:radius="@dimen/qs_footer_action_corner_radius"/> </shape> </item> <item> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="@color/qs_footer_action_border"/> <solid android:color="@android:color/transparent"/> <corners android:radius="@dimen/qs_footer_action_corner_radius"/> </shape> </item> Loading
packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java +7 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,13 @@ public class ActivityStarterDelegate implements ActivityStarter { mActualStarter.ifPresent(starter -> starter.get().startActivity(intent, dismissShade)); } @Override public void startActivity(Intent intent, boolean dismissShade, @Nullable ActivityLaunchAnimator.Controller animationController) { mActualStarter.ifPresent( starter -> starter.get().startActivity(intent, dismissShade, animationController)); } @Override public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade) { mActualStarter.ifPresent( Loading
packages/SystemUI/src/com/android/systemui/qs/QSFooterViewController.java +7 −2 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.R; import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.globalactions.GlobalActionsDialogLite; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.FalsingManager; Loading Loading @@ -65,6 +66,7 @@ public class QSFooterViewController extends ViewController<QSFooterView> impleme private final MetricsLogger mMetricsLogger; private final FalsingManager mFalsingManager; private final SettingsButton mSettingsButton; private final View mSettingsButtonContainer; private final TextView mBuildText; private final View mEdit; private final MultiUserSwitch mMultiUserSwitch; Loading Loading @@ -152,6 +154,7 @@ public class QSFooterViewController extends ViewController<QSFooterView> impleme mFalsingManager = falsingManager; mSettingsButton = mView.findViewById(R.id.settings_button); mSettingsButtonContainer = mView.findViewById(R.id.settings_button_container); mBuildText = mView.findViewById(R.id.build); mEdit = mView.findViewById(android.R.id.edit); mMultiUserSwitch = mView.findViewById(R.id.multi_user_switch); Loading Loading @@ -258,10 +261,12 @@ public class QSFooterViewController extends ViewController<QSFooterView> impleme mView.disable(state2, isTunerEnabled()); } private void startSettingsActivity() { ActivityLaunchAnimator.Controller animationController = mSettingsButtonContainer != null ? ActivityLaunchAnimator.Controller.fromView( mSettingsButtonContainer) : null; mActivityStarter.startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS), true /* dismissShade */); true /* dismissShade */, animationController); } private boolean isTunerEnabled() { Loading