From cf9fac253ec68d9e86be9d39c663fd69b2d86d30 Mon Sep 17 00:00:00 2001 From: Ergyun Syuleyman Date: Thu, 14 May 2020 02:19:28 +0300 Subject: [PATCH 1/2] -additional fixes for NY-10117 issue --- .../communicator/data/FireBaseMessagingService.java | 10 ++++++---- .../data/sdk/calls/ConferenceSDKModule.java | 4 ++-- .../communicator/utils/NotificationHelper.java | 12 +++++++----- 3 files changed, 15 insertions(+), 11 deletions(-) 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 a44a52deda..03626d70d2 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 2ff3079665..52b29ced9e 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 @@ -2786,7 +2786,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()) { @@ -2926,7 +2926,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 f4a507b546..2d7f33a946 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); -- GitLab From 7766633ef6a57a7dc3245f26c21f86863234e7c2 Mon Sep 17 00:00:00 2001 From: Angel Terziev Date: Thu, 14 May 2020 19:38:23 +0300 Subject: [PATCH 2/2] NynjaSDK 1.21.4 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index b9f41feab5..6a8ef336b9 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.2@aar' + implementation 'com.nynja.sdk:NynjaSdk:1.21.4@aar' //implementation(name: 'NynjaSdk-1.21.2', ext: 'aar') //ExoPlayer -- GitLab