Add support for a custom left affordance icon

Bug: 32872231
Test: manually tested as described in ag/1627217
Change-Id: I42e50c592ffcc59939971d21ed376fba85c5bb27
This commit is contained in:
Evan Rosky
2016-11-15 13:59:06 -08:00
parent 7c73dd6a20
commit d388c75825

View File

@@ -32,6 +32,7 @@ import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.IBinder;
@@ -141,6 +142,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
private boolean mLeftIsVoiceAssist;
private AssistManager mAssistManager;
private Drawable mLeftAssistIcon;
private IntentButton mRightButton = new DefaultRightButton();
private IntentButton mLeftButton = new DefaultLeftButton();
@@ -340,6 +342,14 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
? View.VISIBLE : View.GONE);
}
/**
* Set an alternate icon for the left assist affordance (replace the mic icon)
*/
public void setLeftAssistIcon(Drawable drawable) {
mLeftAssistIcon = drawable;
updateLeftAffordanceIcon();
}
private void updateLeftAffordanceIcon() {
IconState state = mLeftButton.getIcon();
mLeftAffordanceView.setVisibility(state.isVisible ? View.VISIBLE : View.GONE);
@@ -806,7 +816,11 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
mLeftIsVoiceAssist = canLaunchVoiceAssist();
if (mLeftIsVoiceAssist) {
mIconState.isVisible = mUserSetupComplete;
mIconState.drawable = mContext.getDrawable(R.drawable.ic_mic_26dp);
if (mLeftAssistIcon == null) {
mIconState.drawable = mContext.getDrawable(R.drawable.ic_mic_26dp);
} else {
mIconState.drawable = mLeftAssistIcon;
}
mIconState.contentDescription = mContext.getString(
R.string.accessibility_voice_assist_button);
} else {