Merge "Do not unnecessarily re-inflate camera preview" into qt-dev

This commit is contained in:
Lucas Dupin
2019-04-20 00:33:37 +00:00
committed by Android (Google) Code Review
3 changed files with 18 additions and 8 deletions

View File

@@ -149,6 +149,13 @@ public class KeyguardAffordanceView extends ImageView {
updateIconColor();
}
/**
* If current drawable should be tinted.
*/
public boolean shouldTint() {
return mShouldTint;
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
@@ -168,6 +175,9 @@ public class KeyguardAffordanceView extends ImageView {
}
public void setPreviewView(View v) {
if (mPreviewView == v) {
return;
}
View oldPreviewView = mPreviewView;
mPreviewView = v;
if (mPreviewView != null) {

View File

@@ -337,7 +337,10 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
private void updateRightAffordanceIcon() {
IconState state = mRightButton.getIcon();
mRightAffordanceView.setVisibility(!mDozing && state.isVisible ? View.VISIBLE : View.GONE);
mRightAffordanceView.setImageDrawable(state.drawable, state.tint);
if (state.drawable != mRightAffordanceView.getDrawable()
|| state.tint != mRightAffordanceView.shouldTint()) {
mRightAffordanceView.setImageDrawable(state.drawable, state.tint);
}
mRightAffordanceView.setContentDescription(state.contentDescription);
}
@@ -389,7 +392,10 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
private void updateLeftAffordanceIcon() {
IconState state = mLeftButton.getIcon();
mLeftAffordanceView.setVisibility(!mDozing && state.isVisible ? View.VISIBLE : View.GONE);
mLeftAffordanceView.setImageDrawable(state.drawable, state.tint);
if (state.drawable != mLeftAffordanceView.getDrawable()
|| state.tint != mLeftAffordanceView.shouldTint()) {
mLeftAffordanceView.setImageDrawable(state.drawable, state.tint);
}
mLeftAffordanceView.setContentDescription(state.contentDescription);
}
@@ -715,11 +721,6 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
updateLeftPreview();
}
public void onKeyguardShowingChanged() {
updateLeftAffordance();
inflateCameraPreview();
}
private void setRightButton(IntentButton button) {
mRightButton = button;
updateRightAffordanceIcon();

View File

@@ -1304,7 +1304,6 @@ public class NotificationPanelView extends PanelView implements
mKeyguardStatusBar.setAlpha(1f);
mKeyguardStatusBar.setVisibility(keyguardShowing ? View.VISIBLE : View.INVISIBLE);
if (keyguardShowing && oldState != mBarState) {
mKeyguardBottomArea.onKeyguardShowingChanged();
if (mQs != null) {
mQs.hideImmediately();
}