diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java index a43b095a556..4d51954d969 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java +++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiver.java @@ -16,6 +16,8 @@ package com.android.settings.connecteddevice.audiosharing; +import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; + import static com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast.EXTRA_BLUETOOTH_DEVICE; import android.Manifest; @@ -143,8 +145,12 @@ public class AudioSharingReceiver extends BroadcastReceiver { return; } if (isAppInForeground(context)) { - // TODO: show dialog Log.d(TAG, "App in foreground, show share audio dialog"); + Intent dialogIntent = new Intent(); + dialogIntent.setClass(context, AudioSharingJoinHandlerActivity.class); + dialogIntent.addFlags(FLAG_ACTIVITY_NEW_TASK); + dialogIntent.putExtra(EXTRA_BLUETOOTH_DEVICE, device); + context.startActivity(dialogIntent); } else { Log.d(TAG, "App not in foreground, show share audio notification"); LocalBluetoothManager manager = Utils.getLocalBtManager(context); diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java index b69b6c09871..37f60712e8f 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingReceiverTest.java @@ -74,6 +74,7 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; @@ -370,7 +371,12 @@ public class AudioSharingReceiverTest { verify(mNm, never()).notify( eq(com.android.settings.R.string.share_audio_notification_title), any(Notification.class)); - // TODO: verify show dialog once impl complete + ArgumentCaptor intentCaptor = ArgumentCaptor.forClass(Intent.class); + verify(mContext).startActivity(intentCaptor.capture()); + assertThat(intentCaptor.getValue().getComponent().getClassName()).isEqualTo( + AudioSharingJoinHandlerActivity.class.getName()); + assertThat(intentCaptor.getValue().getParcelableExtra(EXTRA_BLUETOOTH_DEVICE, + BluetoothDevice.class)).isEqualTo(mDevice); } @Test @@ -513,7 +519,7 @@ public class AudioSharingReceiverTest { AudioSharingReceiver audioSharingReceiver = getAudioSharingReceiver(intent); audioSharingReceiver.onReceive(mContext, intent); - // TODO: verify no dialog once impl complete + verify(mContext, never()).startActivity(any()); verify(mNm).notify(eq(com.android.settings.R.string.share_audio_notification_title), any(Notification.class)); }