diff --git a/app/build.gradle b/app/build.gradle index 99432f9ccc05f0e953f30663ba47382917ec7b06..6a8ef336b96bde255be4e74a48dce7bd3ca7420b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -682,7 +682,7 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // Conference, Calls mobile SDK - implementation 'com.nynja.sdk:NynjaSdk:1.21.3@aar' + implementation 'com.nynja.sdk:NynjaSdk:1.21.4@aar' //implementation(name: 'NynjaSdk-1.21.2', ext: 'aar') //ExoPlayer diff --git a/app/src/main/java/com/nynja/mobile/communicator/data/FireBaseMessagingService.java b/app/src/main/java/com/nynja/mobile/communicator/data/FireBaseMessagingService.java index a44a52deda686a02f881fbe8d75ad94b3961ac6d..03626d70d237c2ccbc8bdbb1abfb044abd9a4356 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/data/FireBaseMessagingService.java +++ b/app/src/main/java/com/nynja/mobile/communicator/data/FireBaseMessagingService.java @@ -107,7 +107,7 @@ public class FireBaseMessagingService extends FirebaseMessagingService { if(model == null) break; Timber.i(model.toString()); if (mDataManager.getSettingNotifications().isCallNotifications()) { - boolean isMainActivityIsActive = !mDataManager.isInBackground();//isMainActivityIsActive(); + boolean isMainActivityIsActive = mDataManager.isMainActivityIsActive();//!mDataManager.isInBackground();// if (!isMainActivityIsActive) { mDataManager.reconnectConference(); } @@ -263,9 +263,11 @@ public class FireBaseMessagingService extends FirebaseMessagingService { Timber.i("Push.CALLING: sendCallPush(): check XX1"); String from = mDataManager.getConferenceSDK().getActiveConference().getCallerName(); String callId = mDataManager.getConferenceSDK().getActiveConference().mConference.callId(); + boolean isInBackground = mDataManager.isInBackground(); Notification notification = mNotificationHelper.createCallPushNotification(context, from, callId, - isMainActivityIsActive, - mDataManager.getSettingNotifications()); + isMainActivityIsActive || isInBackground, + mDataManager.getSettingNotifications(), + true); Timber.i("Push.CALLING: sendCallPush(): check XX2" + "; hasActiveCall=" + (hasActiveCall?"true": "false")); if (notification != null && !hasActiveCall && context instanceof FireBaseMessagingService) { @@ -283,7 +285,7 @@ public class FireBaseMessagingService extends FirebaseMessagingService { Timber.i("Push.CALLING: handleCallPush()=" + (result?"true": "false") + "; isCallRinging="+ (isCallRinging?"true": "false") + "; startActivity=" + (startActivity?"true": "false") + "; hasActiveCall=" + (hasActiveCall?"true": "false")); - if (result && !startActivity && isCallRinging && !hasActiveCall) { + if (result && !startActivity && isCallRinging && !hasActiveCall){ sendCallPush(this, isMainActivityIsActive, hasActiveCall); } } diff --git a/app/src/main/java/com/nynja/mobile/communicator/data/sdk/calls/ConferenceSDKModule.java b/app/src/main/java/com/nynja/mobile/communicator/data/sdk/calls/ConferenceSDKModule.java index f435c04a322ce348321daee2d51f2b1bb052fce1..4e6041437f8c888b60fe6bd75b4b9b257400da86 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/data/sdk/calls/ConferenceSDKModule.java +++ b/app/src/main/java/com/nynja/mobile/communicator/data/sdk/calls/ConferenceSDKModule.java @@ -2790,7 +2790,7 @@ public class ConferenceSDKModule extends BaseSDKModule { final String name = mActiveConference.getCallerName(); new Handler(Looper.getMainLooper()).post(() -> { mNotificationHelper.createCallPushNotification(getContext(), name, callId, true, - mSettingNotifications); + mSettingNotifications, false); }); return true; } else if (!mStateDevice.isDeviceActive()) { @@ -2930,7 +2930,7 @@ public class ConferenceSDKModule extends BaseSDKModule { if (Consts.SHOW_INCOMING_CALLS_AS_POPUP_NOTIFICATIONS) { new Handler(Looper.getMainLooper()).post(() -> { mNotificationHelper.createCallPushNotification(getContext(), mActiveConference.getCallerName(), callId, true, - mSettingNotifications); + mSettingNotifications, false); }); } else if (!startIncommingConferenceActivity(delayed, callId, null)) { startIncommingActivity(delayed, NynjaNavigator.MAIN_NEW_CALL); diff --git a/app/src/main/java/com/nynja/mobile/communicator/utils/NotificationHelper.java b/app/src/main/java/com/nynja/mobile/communicator/utils/NotificationHelper.java index f4a507b546afdfa59274416b009145705281047f..2d7f33a946f28d6295bf8c09cb5fafcd9ba9e959 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/utils/NotificationHelper.java +++ b/app/src/main/java/com/nynja/mobile/communicator/utils/NotificationHelper.java @@ -222,8 +222,9 @@ public class NotificationHelper extends ContextWrapper { public synchronized Notification createCallPushNotification(Context context, String from, String callId, boolean isMainActivityIsActive, - SettingNotifications settingNotifications) { - Timber.i("Push.CALLING: createCallPushNotification() isMainActivityIsActive=" + (isMainActivityIsActive?"true": "false")); + SettingNotifications settingNotifications, + boolean isPush) { + Timber.i((isPush?"Push.CALLING": "Grpc.CALLING")+"Push.CALLING: createCallPushNotification() isMainActivityIsActive=" + (isMainActivityIsActive?"true": "false")); Intent fullScreenIntent = MainActivity.getLaunchIntent(context, false, true); fullScreenIntent.putExtra(MainActivity.INTENT_FROM_CALL_NOTIFICATION, true); fullScreenIntent.putExtra(MainActivity.INTENT_NOTIFICATION_CALL_ID, callId); @@ -414,7 +415,7 @@ public class NotificationHelper extends ContextWrapper { int iconRes = (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) ? R.mipmap.ic_launcher : R.drawable.ic_notification; PendingIntent fullScreenPendingIntent = PendingIntent.getActivity(this, 0, - fullScreenIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_CANCEL_CURRENT); + fullScreenIntent, 0);// | PendingIntent.FLAG_CANCEL_CURRENT); String contentText = getString(R.string.call_notification_incoming_from, from); Bundle args = new Bundle(); args.putInt(MainActivity.INTENT_CALL_NOTIFICATION_ID, ActiveConferenceCall.ANDROID_10_PUSH_CALL_NTFN_ID); @@ -446,14 +447,15 @@ public class NotificationHelper extends ContextWrapper { notificationBuilder.setFullScreenIntent(fullScreenPendingIntent, true); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { notificationBuilder.setFullScreenIntent(fullScreenPendingIntent, true); - notificationBuilder.setPriority(NotificationManager.IMPORTANCE_HIGH); + notificationBuilder.setPriority(NotificationManager.IMPORTANCE_MAX); + //notificationBuilder.setPriority(NotificationManager.IMPORTANCE_HIGH); } else { notificationBuilder.setContentIntent(fullScreenPendingIntent); } Notification notification = notificationBuilder.build(); - if (!(isMainActivityIsActive && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)) { + if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)) { if (settingNotifications.isSound() && mNynjaSoundManager.canPlayRingingSound()) { notification.sound = notificationSoundUri; notification.flags |= (Notification.FLAG_SHOW_LIGHTS | Notification.FLAG_INSISTENT | Notification.FLAG_NO_CLEAR);