Loading src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java +4 −1 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading @@ -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, () -> { Loading src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java +4 −0 Original line number Diff line number Diff line Loading @@ -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; /** Loading Loading @@ -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)); } } Loading src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java +6 −1 Original line number Diff line number Diff line Loading @@ -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()); } } Loading src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java +9 −16 Original line number Diff line number Diff line Loading @@ -314,22 +314,15 @@ public class AudioStreamsHelper { } static String getBroadcastName(BluetoothLeBroadcastMetadata source) { // TODO(b/331547596): prioritize broadcastName Optional<String> 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(); } }); 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) { Loading src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java +3 −12 Original line number Diff line number Diff line Loading @@ -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"; Loading @@ -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); } Loading @@ -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 Loading Loading @@ -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 Loading Loading
src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java +4 −1 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading @@ -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, () -> { Loading
src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java +4 −0 Original line number Diff line number Diff line Loading @@ -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; /** Loading Loading @@ -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)); } } Loading
src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java +6 −1 Original line number Diff line number Diff line Loading @@ -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()); } } Loading
src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java +9 −16 Original line number Diff line number Diff line Loading @@ -314,22 +314,15 @@ public class AudioStreamsHelper { } static String getBroadcastName(BluetoothLeBroadcastMetadata source) { // TODO(b/331547596): prioritize broadcastName Optional<String> 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(); } }); 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) { Loading
src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java +3 −12 Original line number Diff line number Diff line Loading @@ -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"; Loading @@ -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); } Loading @@ -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 Loading Loading @@ -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 Loading