Skip to content

Commit 951a60f

Browse files
feat: use Android 5.1.0
Apply Twilio Quickstart fixes. Set attributes and content type for ringtone.
1 parent 35a3299 commit 951a60f

File tree

6 files changed

+34
-17
lines changed

6 files changed

+34
-17
lines changed

README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Tested with:
1616

1717
The most updated branch is [feat/twilio-android-sdk-5](https://github.com/hoxfon/react-native-twilio-programmable-voice/tree/feat/twilio-android-sdk-5) which is aligned with:
1818

19-
- Android 5.0.2
19+
- Android 5.1.0
2020
- iOS 5.2.0
2121

2222
It contains breaking changes from `react-native-twilio-programmable-voice` v4, and it will be released as v5.
@@ -74,6 +74,15 @@ To allow the library to show heads up notifications you must add the following l
7474
<application
7575
...
7676
>
77+
<!-- Twilio Voice -->
78+
<!-- [START fcm_listener] -->
79+
<service
80+
android:name="com.hoxfon.react.RNTwilioVoice.fcm.VoiceFirebaseMessagingService"
81+
android:stopWithTask="false">
82+
<intent-filter>
83+
<action android:name="com.google.firebase.MESSAGING_EVENT" />
84+
</intent-filter>
85+
</service>
7786
<service
7887
android:enabled="true"
7988
android:name="com.hoxfon.react.RNTwilioVoice.IncomingCallNotificationService"
@@ -83,7 +92,8 @@ To allow the library to show heads up notifications you must add the following l
8392
<action android:name="com.hoxfon.react.RNTwilioVoice.ACTION_REJECT" />
8493
</intent-filter>
8594
</service>
86-
...
95+
<!-- [END fcm_listener] -->
96+
<!-- Twilio Voice -->
8797
</application>
8898
```
8999

@@ -311,7 +321,8 @@ apply plugin: 'com.google.gms.google-services'
311321
<!-- Twilio Voice -->
312322
<!-- [START fcm_listener] -->
313323
<service
314-
android:name="com.hoxfon.react.RNTwilioVoice.fcm.VoiceFirebaseMessagingService">
324+
android:name="com.hoxfon.react.RNTwilioVoice.fcm.VoiceFirebaseMessagingService"
325+
android:stopWithTask="false">
315326
<intent-filter>
316327
<action android:name="com.google.firebase.MESSAGING_EVENT" />
317328
</intent-filter>

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ dependencies {
5555
def supportLibVersion = rootProject.hasProperty('supportLibVersion') ? rootProject.supportLibVersion : DEFAULT_SUPPORT_LIB_VERSION
5656

5757
implementation fileTree(include: ['*.jar'], dir: 'libs')
58-
implementation 'com.twilio:voice-android:5.0.2'
58+
implementation 'com.twilio:voice-android:5.1.0'
5959
implementation "com.android.support:appcompat-v7:$supportLibVersion"
6060
implementation 'com.facebook.react:react-native:+'
6161
implementation 'com.google.firebase:firebase-messaging:19.0.+'

android/src/main/java/com/hoxfon/react/RNTwilioVoice/IncomingCallNotificationService.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
import android.graphics.Bitmap;
1313
import android.graphics.BitmapFactory;
1414
import android.graphics.Color;
15-
//import android.media.AudioAttributes;
16-
//import android.media.RingtoneManager;
17-
//import android.net.Uri;
15+
1816
import android.os.Build;
1917
import android.os.Bundle;
2018
import android.os.IBinder;
@@ -269,6 +267,7 @@ private void endForeground() {
269267
stopForeground(true);
270268
}
271269

270+
@TargetApi(Build.VERSION_CODES.O)
272271
private void setCallInProgressNotification(CallInvite callInvite, int notificationId) {
273272
if (BuildConfig.DEBUG) {
274273
Log.d(TAG, "setCallInProgressNotification()");

android/src/main/java/com/hoxfon/react/RNTwilioVoice/SoundPoolManager.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.hoxfon.react.RNTwilioVoice;
22

33
import android.content.Context;
4+
import android.media.AudioAttributes;
5+
import android.media.AudioManager;
46
import android.media.Ringtone;
57
import android.media.RingtoneManager;
68
import android.net.Uri;
@@ -14,6 +16,11 @@ public class SoundPoolManager {
1416
private SoundPoolManager(Context context) {
1517
Uri ringtoneSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
1618
ringtone = RingtoneManager.getRingtone(context, ringtoneSound);
19+
AudioAttributes alarmAttribute = new AudioAttributes.Builder()
20+
.setUsage(AudioAttributes.USAGE_ALARM)
21+
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
22+
.build();
23+
ringtone.setAudioAttributes(alarmAttribute);
1724
}
1825

1926
public static SoundPoolManager getInstance(Context context) {

android/src/main/java/com/hoxfon/react/RNTwilioVoice/TwilioVoiceModule.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -204,15 +204,17 @@ public void onNewIntent(Intent intent) {
204204
private RegistrationListener registrationListener() {
205205
return new RegistrationListener() {
206206
@Override
207-
public void onRegistered(String accessToken, String fcmToken) {
207+
public void onRegistered(@NonNull String accessToken, @NonNull String fcmToken) {
208208
if (BuildConfig.DEBUG) {
209209
Log.d(TAG, "RegistrationListener().onRegistered(). FCM registered.");
210210
}
211211
eventManager.sendEvent(EVENT_DEVICE_READY, null);
212212
}
213213

214214
@Override
215-
public void onError(RegistrationException error, String accessToken, String fcmToken) {
215+
public void onError(@NonNull RegistrationException error,
216+
@NonNull String accessToken,
217+
@NonNull String fcmToken) {
216218
Log.e(TAG, String.format("RegistrationListener().onError(). Code: %d. %s", error.getErrorCode(), error.getMessage()));
217219
WritableMap params = Arguments.createMap();
218220
params.putString(Constants.ERROR, error.getMessage());
@@ -407,13 +409,13 @@ private class VoiceBroadcastReceiver extends BroadcastReceiver {
407409

408410
@Override
409411
public void onReceive(Context context, Intent intent) {
412+
if (intent == null || intent.getAction() == null) {
413+
return;
414+
}
410415
String action = intent.getAction();
411416
if (BuildConfig.DEBUG) {
412417
Log.d(TAG, "VoiceBroadcastReceiver.onReceive() action: " + action + ". Intent extra: " + intent.getExtras());
413418
}
414-
if (intent == null || intent.getAction() == null) {
415-
return;
416-
}
417419
activeCallInvite = intent.getParcelableExtra(Constants.INCOMING_CALL_INVITE);
418420

419421
switch (action) {
@@ -595,7 +597,7 @@ public void initWithAccessToken(final String accessToken, Promise promise) {
595597
*
596598
*/
597599
private void registerForCallInvites() {
598-
final String fcmToken = FirebaseInstanceId.getInstance().getToken();
600+
String fcmToken = FirebaseInstanceId.getInstance().getToken();
599601
if (fcmToken == null) {
600602
return;
601603
}

android/src/main/java/com/hoxfon/react/RNTwilioVoice/fcm/VoiceFirebaseMessagingService.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,9 @@ public void onCreate() {
4040

4141
@Override
4242
public void onNewToken(String token) {
43-
Log.d(TAG, "Refreshed token: " + token);
44-
45-
// Notify Activity of FCM token
43+
super.onNewToken(token);
4644
Intent intent = new Intent(Constants.ACTION_FCM_TOKEN);
47-
LocalBroadcastManager.getInstance(this.getBaseContext()).sendBroadcast(intent);
45+
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
4846
}
4947

5048
/**

0 commit comments

Comments
 (0)