diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java index 2ab7b80596d..b0994d17988 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java +++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java @@ -214,6 +214,9 @@ public class AudioSharingNamePreferenceController extends BasePreferenceControll ThreadUtils.postOnBackgroundThread( () -> { if (mBroadcast != null) { + mBroadcast.setBroadcastName((String) newValue); + // We currently don't have a UI field for program info so we keep it + // consistent with broadcast name. mBroadcast.setProgramInfo((String) newValue); if (isBroadcasting(mBtManager)) { mBroadcast.updateBroadcast(); @@ -242,7 +245,7 @@ public class AudioSharingNamePreferenceController extends BasePreferenceControll ThreadUtils.postOnBackgroundThread( () -> { if (mBroadcast != null) { - String name = mBroadcast.getProgramInfo(); + String name = mBroadcast.getBroadcastName(); AudioSharingUtils.postOnMainThread( mContext, () -> { diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java index 0334e055036..dbdf01caa60 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java +++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java @@ -26,6 +26,7 @@ import androidx.annotation.Nullable; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; +import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.widget.TwoTargetPreference; /** @@ -74,6 +75,9 @@ class AudioStreamPreference extends TwoTargetPreference { void setAudioStreamMetadata(BluetoothLeBroadcastMetadata metadata) { if (mAudioStream != null) { mAudioStream.setMetadata(metadata); + // Update title based on the metadata + String broadcastName = AudioStreamsHelper.getBroadcastName(metadata); + ThreadUtils.postOnMainThread(() -> setTitle(broadcastName)); } } diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java index 9fb5b21fed9..514007f277a 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java +++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java @@ -101,7 +101,12 @@ public class AudioStreamsBroadcastAssistantCallback @Override public void onSourceFound(BluetoothLeBroadcastMetadata source) { if (DEBUG) { - Log.d(TAG, "onSourceFound() broadcastId : " + source.getBroadcastId()); + Log.d( + TAG, + "onSourceFound() broadcastId : " + + source.getBroadcastId() + + " broadcastName : " + + source.getBroadcastName()); } } diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java index d2b0a8a2fed..04e791f8432 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java +++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java @@ -314,22 +314,15 @@ public class AudioStreamsHelper { } static String getBroadcastName(BluetoothLeBroadcastMetadata source) { - // TODO(b/331547596): prioritize broadcastName - Optional optionalProgramInfo = - source.getSubgroups().stream() - .map(subgroup -> subgroup.getContentMetadata().getProgramInfo()) - .filter(programInfo -> !Strings.isNullOrEmpty(programInfo)) - .findFirst(); - - return optionalProgramInfo.orElseGet( - () -> { - String broadcastName = source.getBroadcastName(); - if (broadcastName != null && !broadcastName.isEmpty()) { - return broadcastName; - } else { - return "Broadcast Id: " + source.getBroadcastId(); - } - }); + String broadcastName = source.getBroadcastName(); + if (broadcastName != null && !broadcastName.isEmpty()) { + return broadcastName; + } + return source.getSubgroups().stream() + .map(subgroup -> subgroup.getContentMetadata().getProgramInfo()) + .filter(programInfo -> !Strings.isNullOrEmpty(programInfo)) + .findFirst() + .orElse("Broadcast Id: " + source.getBroadcastId()); } static String getBroadcastName(BluetoothLeBroadcastReceiveState state) { diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java index bc39a42b466..cb3a0daac2f 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java +++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java @@ -21,8 +21,6 @@ import android.bluetooth.BluetoothLeBroadcastMetadata; import android.bluetooth.BluetoothLeBroadcastReceiveState; import android.util.Log; -import java.util.Locale; - public class AudioStreamsProgressCategoryCallback extends AudioStreamsBroadcastAssistantCallback { private static final String TAG = "AudioStreamsProgressCategoryCallback"; @@ -48,8 +46,7 @@ public class AudioStreamsProgressCategoryCallback extends AudioStreamsBroadcastA @Override public void onSearchStartFailed(int reason) { super.onSearchStartFailed(reason); - mCategoryController.showToast( - String.format(Locale.US, "Failed to start scanning, reason %d", reason)); + mCategoryController.showToast("Failed to start scanning. Try again."); mCategoryController.setScanning(false); } @@ -66,8 +63,7 @@ public class AudioStreamsProgressCategoryCallback extends AudioStreamsBroadcastA @Override public void onSearchStopFailed(int reason) { super.onSearchStopFailed(reason); - mCategoryController.showToast( - String.format(Locale.US, "Failed to stop scanning, reason %d", reason)); + mCategoryController.showToast("Failed to stop scanning. Try again."); } @Override @@ -106,12 +102,7 @@ public class AudioStreamsProgressCategoryCallback extends AudioStreamsBroadcastA @Override public void onSourceRemoveFailed(BluetoothDevice sink, int sourceId, int reason) { super.onSourceRemoveFailed(sink, sourceId, reason); - mCategoryController.showToast( - String.format( - Locale.US, - "Failed to remove source %d for sink %s", - sourceId, - sink.getAddress())); + mCategoryController.showToast("Failed to remove source."); } @Override