Merge "[TeX] Updated the comments for the Histogram class"
diff --git a/ProtoLibraries.bp b/ProtoLibraries.bp
index c12f5b4..a0944d4 100644
--- a/ProtoLibraries.bp
+++ b/ProtoLibraries.bp
@@ -100,6 +100,8 @@
],
type: "full",
},
+ // b/267831518: Pin tradefed and dependencies to Java 11.
+ java_version: "11",
// Protos have lots of MissingOverride and similar.
errorprone: {
enabled: false,
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 53f1227..422b049 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -2348,7 +2348,10 @@
<string name="media_output_broadcast_update_error">Can\u2019t save. Try again.</string>
<!-- The error message when Broadcast name/code update failed and can't change again[CHAR LIMIT=60] -->
<string name="media_output_broadcast_last_update_error">Can\u2019t save.</string>
-
+ <!-- The hint message when Broadcast code is less than 4 characters [CHAR LIMIT=60] -->
+ <string name="media_output_broadcast_code_hint_no_less_than_min">Use at least 4 characters</string>
+ <!-- The hint message when Broadcast code is more than 16 characters [CHAR LIMIT=60] -->
+ <string name="media_output_broadcast_code_hint_no_more_than_max">Use fewer than 16 characters</string>
<!-- Label for clip data when copying the build number off QS [CHAR LIMIT=NONE]-->
<string name="build_number_clip_data_label">Build number</string>
diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBroadcastDialog.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBroadcastDialog.java
index 35baf013..12d6b7c 100644
--- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBroadcastDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBroadcastDialog.java
@@ -20,6 +20,8 @@
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.util.Log;
@@ -64,11 +66,51 @@
private String mCurrentBroadcastName;
private String mCurrentBroadcastCode;
private boolean mIsStopbyUpdateBroadcastCode = false;
+ private TextWatcher mTextWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ // Do nothing
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ // Do nothing
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ if (mAlertDialog == null || mBroadcastErrorMessage == null) {
+ return;
+ }
+ boolean breakBroadcastCodeRuleTextLengthLessThanMin =
+ s.length() > 0 && s.length() < BROADCAST_CODE_MIN_LENGTH;
+ boolean breakBroadcastCodeRuleTextLengthMoreThanMax =
+ s.length() > BROADCAST_CODE_MAX_LENGTH;
+ boolean breakRule = breakBroadcastCodeRuleTextLengthLessThanMin
+ || breakBroadcastCodeRuleTextLengthMoreThanMax;
+
+ if (breakBroadcastCodeRuleTextLengthLessThanMin) {
+ mBroadcastErrorMessage.setText(
+ R.string.media_output_broadcast_code_hint_no_less_than_min);
+ } else if (breakBroadcastCodeRuleTextLengthMoreThanMax) {
+ mBroadcastErrorMessage.setText(
+ R.string.media_output_broadcast_code_hint_no_more_than_max);
+ }
+
+ mBroadcastErrorMessage.setVisibility(breakRule ? View.VISIBLE : View.INVISIBLE);
+ Button positiveBtn = mAlertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
+ if (positiveBtn != null) {
+ positiveBtn.setEnabled(breakRule ? false : true);
+ }
+ }
+ };
static final int METADATA_BROADCAST_NAME = 0;
static final int METADATA_BROADCAST_CODE = 1;
private static final int MAX_BROADCAST_INFO_UPDATE = 3;
+ private static final int BROADCAST_CODE_MAX_LENGTH = 16;
+ private static final int BROADCAST_CODE_MIN_LENGTH = 4;
MediaOutputBroadcastDialog(Context context, boolean aboveStatusbar,
BroadcastSender broadcastSender, MediaOutputController mediaOutputController) {
@@ -219,6 +261,9 @@
R.layout.media_output_broadcast_update_dialog, null);
final EditText editText = layout.requireViewById(R.id.broadcast_edit_text);
editText.setText(editString);
+ if (isBroadcastCode) {
+ editText.addTextChangedListener(mTextWatcher);
+ }
mBroadcastErrorMessage = layout.requireViewById(R.id.broadcast_error_message);
mAlertDialog = new Builder(mContext)
.setTitle(isBroadcastCode ? R.string.media_output_broadcast_code