Do not allow ScrimView backgrounds

An external agent is setting the background of the ScrimView.
This causes washed out lock screen and AOD flickering.

It's not clear what's doing this so I'm adding a Log.wtf and keeping the
backbround from being set.

PS: also formatted the xml and removed an unused method

Change-Id: I65dce9ce2b097b572c78605e0524b3854f46457f
Fixes: 71527665
Fixes: 68877998
Test: manually add a ripple to packages/SystemUI/res/layout/super_status_bar.xml
(cherry picked from commit c2aa8d2a2d)
This commit is contained in:
Lucas Dupin
2018-03-02 16:01:10 -08:00
parent 2cb0244ade
commit cfcf1aede6
2 changed files with 9 additions and 14 deletions

View File

@@ -43,7 +43,8 @@
android:visibility="invisible" />
</com.android.systemui.statusbar.BackDropView>
<com.android.systemui.statusbar.ScrimView android:id="@+id/scrim_behind"
<com.android.systemui.statusbar.ScrimView
android:id="@+id/scrim_behind"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:importantForAccessibility="no"
@@ -75,7 +76,8 @@
android:layout_height="match_parent"
android:visibility="invisible" />
<com.android.systemui.statusbar.ScrimView android:id="@+id/scrim_in_front"
<com.android.systemui.statusbar.ScrimView
android:id="@+id/scrim_in_front"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:importantForAccessibility="no"

View File

@@ -106,6 +106,11 @@ public class ScrimView extends View implements ConfigurationController.Configura
Utils.getThemeAttr(mContext, android.R.attr.dialogCornerRadius));
}
@Override
public void setBackground(Drawable background) {
Log.wtfStack(TAG, "ScrimView should never have a background.");
}
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
@@ -321,18 +326,6 @@ public class ScrimView extends View implements ConfigurationController.Configura
return mViewAlpha;
}
public void animateViewAlpha(float alpha, long durationOut, Interpolator interpolator) {
if (mAlphaAnimator != null) {
mAlphaAnimator.cancel();
}
mAlphaAnimator = ValueAnimator.ofFloat(getViewAlpha(), alpha);
mAlphaAnimator.addUpdateListener(mAlphaUpdateListener);
mAlphaAnimator.addListener(mClearAnimatorListener);
mAlphaAnimator.setInterpolator(interpolator);
mAlphaAnimator.setDuration(durationOut);
mAlphaAnimator.start();
}
public void setExcludedArea(Rect area) {
if (area == null) {
mHasExcludedArea = false;