Merge changes Id0882547,I427e08a3 into main
* changes: [Audiosharing] Change text color. [Audiosharing] When user enters a bad code, apply error color on summary.
This commit is contained in:
@@ -43,23 +43,12 @@ class AudioStreamPreference extends TwoTargetPreference {
|
||||
* Update preference UI based on connection status
|
||||
*
|
||||
* @param isConnected Is this stream connected
|
||||
* @param summary Summary text
|
||||
* @param onPreferenceClickListener Click listener for the preference
|
||||
*/
|
||||
void setIsConnected(
|
||||
boolean isConnected,
|
||||
String summary,
|
||||
@Nullable OnPreferenceClickListener onPreferenceClickListener) {
|
||||
if (mIsConnected == isConnected
|
||||
&& getSummary() == summary
|
||||
&& getOnPreferenceClickListener() == onPreferenceClickListener) {
|
||||
// Nothing to update.
|
||||
return;
|
||||
void setIsConnected(boolean isConnected) {
|
||||
if (mIsConnected != isConnected) {
|
||||
mIsConnected = isConnected;
|
||||
notifyChanged();
|
||||
}
|
||||
mIsConnected = isConnected;
|
||||
setSummary(summary);
|
||||
setOnPreferenceClickListener(onPreferenceClickListener);
|
||||
notifyChanged();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
||||
@@ -16,8 +16,12 @@
|
||||
|
||||
package com.android.settings.connecteddevice.audiosharing.audiostreams;
|
||||
|
||||
import static android.text.Spanned.SPAN_EXCLUSIVE_INCLUSIVE;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.SpannableString;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -26,6 +30,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.bluetooth.BluetoothUtils;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
@@ -68,15 +73,31 @@ class AudioStreamStateHandler {
|
||||
|
||||
// Update UI
|
||||
ThreadUtils.postOnMainThread(
|
||||
() ->
|
||||
preference.setIsConnected(
|
||||
newState
|
||||
== AudioStreamsProgressCategoryController.AudioStreamState
|
||||
.SOURCE_ADDED,
|
||||
getSummary() != EMPTY_STRING_RES
|
||||
? preference.getContext().getString(getSummary())
|
||||
: "",
|
||||
getOnClickListener(controller)));
|
||||
() -> {
|
||||
String summary =
|
||||
getSummary() != EMPTY_STRING_RES
|
||||
? preference.getContext().getString(getSummary())
|
||||
: "";
|
||||
if (newState
|
||||
== AudioStreamsProgressCategoryController.AudioStreamState
|
||||
.ADD_SOURCE_BAD_CODE) {
|
||||
SpannableString summarySpan = new SpannableString(summary);
|
||||
int colorError = Utils.getColorErrorDefaultColor(preference.getContext());
|
||||
summarySpan.setSpan(
|
||||
new ForegroundColorSpan(colorError),
|
||||
0,
|
||||
summary.length(),
|
||||
SPAN_EXCLUSIVE_INCLUSIVE);
|
||||
preference.setSummary(summarySpan);
|
||||
} else {
|
||||
preference.setSummary(summary);
|
||||
}
|
||||
preference.setIsConnected(
|
||||
newState
|
||||
== AudioStreamsProgressCategoryController.AudioStreamState
|
||||
.SOURCE_ADDED);
|
||||
preference.setOnPreferenceClickListener(getOnClickListener(controller));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user