Merge "[SystemUI] To plumb down ColorStateList all the way down instead of int colors in KeyguardHostView.java and its collaborative files."
This commit is contained in:
committed by
Android (Google) Code Review
commit
d1339635fe
@@ -20,6 +20,7 @@ import static com.android.internal.util.LatencyTracker.ACTION_CHECK_CREDENTIAL;
|
||||
import static com.android.internal.util.LatencyTracker.ACTION_CHECK_CREDENTIAL_UNLOCKED;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.CountDownTimer;
|
||||
import android.os.SystemClock;
|
||||
@@ -293,8 +294,8 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showMessage(CharSequence message, int color) {
|
||||
mSecurityMessageDisplay.setNextMessageColor(color);
|
||||
public void showMessage(CharSequence message, ColorStateList colorState) {
|
||||
mSecurityMessageDisplay.setNextMessageColor(colorState);
|
||||
mSecurityMessageDisplay.setMessage(message);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Canvas;
|
||||
import android.media.AudioManager;
|
||||
import android.os.SystemClock;
|
||||
@@ -175,12 +176,12 @@ public class KeyguardHostView extends FrameLayout implements SecurityCallback {
|
||||
mSecurityContainer.showPromptReason(reason);
|
||||
}
|
||||
|
||||
public void showMessage(CharSequence message, int color) {
|
||||
mSecurityContainer.showMessage(message, color);
|
||||
public void showMessage(CharSequence message, ColorStateList colorState) {
|
||||
mSecurityContainer.showMessage(message, colorState);
|
||||
}
|
||||
|
||||
public void showErrorMessage(CharSequence message) {
|
||||
showMessage(message, Utils.getColorErrorDefaultColor(mContext));
|
||||
showMessage(message, Utils.getColorError(mContext));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.android.keyguard;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.SystemClock;
|
||||
@@ -42,10 +43,10 @@ class KeyguardMessageArea extends TextView implements SecurityMessageDisplay {
|
||||
private static final int DEFAULT_COLOR = -1;
|
||||
|
||||
private final Handler mHandler;
|
||||
private final int mDefaultColor;
|
||||
private final ColorStateList mDefaultColorState;
|
||||
|
||||
private CharSequence mMessage;
|
||||
private int mNextMessageColor = DEFAULT_COLOR;
|
||||
private ColorStateList mNextMessageColorState = ColorStateList.valueOf(DEFAULT_COLOR);
|
||||
|
||||
private KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() {
|
||||
public void onFinishedGoingToSleep(int why) {
|
||||
@@ -71,13 +72,13 @@ class KeyguardMessageArea extends TextView implements SecurityMessageDisplay {
|
||||
monitor.registerCallback(mInfoCallback);
|
||||
mHandler = new Handler(Looper.myLooper());
|
||||
|
||||
mDefaultColor = getCurrentTextColor();
|
||||
mDefaultColorState = getTextColors();
|
||||
update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNextMessageColor(int color) {
|
||||
mNextMessageColor = color;
|
||||
public void setNextMessageColor(ColorStateList colorState) {
|
||||
mNextMessageColorState = colorState;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -139,12 +140,12 @@ class KeyguardMessageArea extends TextView implements SecurityMessageDisplay {
|
||||
CharSequence status = mMessage;
|
||||
setVisibility(TextUtils.isEmpty(status) ? INVISIBLE : VISIBLE);
|
||||
setText(status);
|
||||
int color = mDefaultColor;
|
||||
if (mNextMessageColor != DEFAULT_COLOR) {
|
||||
color = mNextMessageColor;
|
||||
mNextMessageColor = DEFAULT_COLOR;
|
||||
ColorStateList colorState = mDefaultColorState;
|
||||
if (mNextMessageColorState.getDefaultColor() != DEFAULT_COLOR) {
|
||||
colorState = mNextMessageColorState;
|
||||
mNextMessageColorState = ColorStateList.valueOf(DEFAULT_COLOR);
|
||||
}
|
||||
setTextColor(color);
|
||||
setTextColor(colorState);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ import static com.android.internal.util.LatencyTracker.ACTION_CHECK_CREDENTIAL;
|
||||
import static com.android.internal.util.LatencyTracker.ACTION_CHECK_CREDENTIAL_UNLOCKED;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Rect;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.CountDownTimer;
|
||||
@@ -404,8 +405,8 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showMessage(CharSequence message, int color) {
|
||||
mSecurityMessageDisplay.setNextMessageColor(color);
|
||||
public void showMessage(CharSequence message, ColorStateList colorState) {
|
||||
mSecurityMessageDisplay.setNextMessageColor(colorState);
|
||||
mSecurityMessageDisplay.setMessage(message);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.os.UserHandle;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import android.util.AttributeSet;
|
||||
@@ -537,9 +538,9 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
|
||||
}
|
||||
}
|
||||
|
||||
public void showMessage(CharSequence message, int color) {
|
||||
public void showMessage(CharSequence message, ColorStateList colorState) {
|
||||
if (mCurrentSecuritySelection != SecurityMode.None) {
|
||||
getSecurityView(mCurrentSecuritySelection).showMessage(message, color);
|
||||
getSecurityView(mCurrentSecuritySelection).showMessage(message, colorState);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package com.android.keyguard;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import android.content.res.ColorStateList;
|
||||
|
||||
public interface KeyguardSecurityView {
|
||||
static public final int SCREEN_ON = 1;
|
||||
@@ -104,9 +105,9 @@ public interface KeyguardSecurityView {
|
||||
* Show a message on the security view with a specified color
|
||||
*
|
||||
* @param message the message to show
|
||||
* @param color the color to use
|
||||
* @param colorState the color to use
|
||||
*/
|
||||
void showMessage(CharSequence message, int color);
|
||||
void showMessage(CharSequence message, ColorStateList colorState);
|
||||
|
||||
/**
|
||||
* Instruct the view to show usability hints, if any.
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.keyguard;
|
||||
import android.annotation.NonNull;
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Rect;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
@@ -139,10 +140,10 @@ public class KeyguardSecurityViewFlipper extends ViewFlipper implements Keyguard
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showMessage(CharSequence message, int color) {
|
||||
public void showMessage(CharSequence message, ColorStateList colorState) {
|
||||
KeyguardSecurityView ksv = getSecurityView();
|
||||
if (ksv != null) {
|
||||
ksv.showMessage(message, color);
|
||||
ksv.showMessage(message, colorState);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,9 +16,11 @@
|
||||
|
||||
package com.android.keyguard;
|
||||
|
||||
import android.content.res.ColorStateList;
|
||||
|
||||
public interface SecurityMessageDisplay {
|
||||
|
||||
void setNextMessageColor(int color);
|
||||
void setNextMessageColor(ColorStateList colorState);
|
||||
|
||||
void setMessage(CharSequence msg);
|
||||
|
||||
|
||||
@@ -534,7 +534,7 @@ public class KeyguardIndicationController {
|
||||
ColorStateList errorColorState = Utils.getColorError(mContext);
|
||||
if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
|
||||
mStatusBarKeyguardViewManager.showBouncerMessage(helpString,
|
||||
errorColorState.getDefaultColor());
|
||||
errorColorState);
|
||||
} else if (updateMonitor.isScreenOn()) {
|
||||
mLockIcon.setTransientFpError(true);
|
||||
showTransientIndication(helpString, errorColorState);
|
||||
@@ -564,7 +564,7 @@ public class KeyguardIndicationController {
|
||||
// generic.
|
||||
if (mLastSuccessiveErrorMessage != msgId) {
|
||||
mStatusBarKeyguardViewManager.showBouncerMessage(errString,
|
||||
errorColorState.getDefaultColor());
|
||||
errorColorState);
|
||||
}
|
||||
} else if (updateMonitor.isScreenOn()) {
|
||||
showTransientIndication(errString, errorColorState);
|
||||
|
||||
@@ -20,6 +20,7 @@ import static com.android.keyguard.KeyguardHostView.OnDismissAction;
|
||||
import static com.android.keyguard.KeyguardSecurityModel.SecurityMode;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.os.Handler;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
@@ -247,9 +248,9 @@ public class KeyguardBouncer {
|
||||
}
|
||||
}
|
||||
|
||||
public void showMessage(String message, int color) {
|
||||
public void showMessage(String message, ColorStateList colorState) {
|
||||
if (mKeyguardView != null) {
|
||||
mKeyguardView.showMessage(message, color);
|
||||
mKeyguardView.showMessage(message, colorState);
|
||||
} else {
|
||||
Log.w(TAG, "Trying to show message on empty bouncer");
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import static com.android.systemui.statusbar.phone.FingerprintUnlockController.M
|
||||
|
||||
import android.content.ComponentCallbacks2;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.os.Bundle;
|
||||
import android.os.SystemClock;
|
||||
import android.util.StatsLog;
|
||||
@@ -699,8 +700,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
||||
mBouncer.notifyKeyguardAuthenticated(strongAuth);
|
||||
}
|
||||
|
||||
public void showBouncerMessage(String message, int color) {
|
||||
mBouncer.showMessage(message, color);
|
||||
public void showBouncerMessage(String message, ColorStateList colorState) {
|
||||
mBouncer.showMessage(message, colorState);
|
||||
}
|
||||
|
||||
public ViewRootImpl getViewRootImpl() {
|
||||
|
||||
@@ -35,6 +35,7 @@ import android.testing.TestableLooper;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.FrameLayout;
|
||||
import android.content.res.ColorStateList;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.keyguard.KeyguardHostView;
|
||||
@@ -227,8 +228,8 @@ public class KeyguardBouncerTest extends SysuiTestCase {
|
||||
public void testShowMessage_propagates() {
|
||||
final String message = "a message";
|
||||
mBouncer.ensureView();
|
||||
mBouncer.showMessage(message, Color.GREEN);
|
||||
verify(mKeyguardHostView).showMessage(eq(message), eq(Color.GREEN));
|
||||
mBouncer.showMessage(message, ColorStateList.valueOf(Color.GREEN));
|
||||
verify(mKeyguardHostView).showMessage(eq(message), eq(ColorStateList.valueOf(Color.GREEN)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user