From 2840db7d458108a41963c63d74431e5db59d28b9 Mon Sep 17 00:00:00 2001 From: Ergyun Syuleyman Date: Thu, 11 Jun 2020 13:12:13 +0300 Subject: [PATCH] NY-10670: [AN]: App crash on clean install - fixed broken build after merge conflicts - DbHelper.java line 1211 com.nynja.mobile.communicator.data.db.DbHelper.getAuthFeatures - ConferenceVideoFragment.java line 518 com.nynja.mobile.communicator.ui.fragments.conference.ConferenceVideoFragment.removeRemoteVideoRenderer - MessageModel.java line 336 com.nynja.mobile.communicator.data.models.nynjamodels.MessageModel.isMyMessage --- .../com/nynja/mobile/communicator/data/db/DbHelper.java | 4 +++- .../data/models/nynjamodels/MessageModel.java | 2 ++ .../communicator/data/sdk/calls/ConferenceSDKModule.java | 9 +-------- .../communicator/mvp/presenters/MainActivityPresenter.kt | 6 ++---- .../mobile/communicator/mvp/view/MainActivityView.java | 2 +- .../mobile/communicator/ui/activities/MainActivity.java | 2 +- .../ui/fragments/conference/ConferenceVideoFragment.java | 1 + 7 files changed, 11 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/nynja/mobile/communicator/data/db/DbHelper.java b/app/src/main/java/com/nynja/mobile/communicator/data/db/DbHelper.java index 8ed7216650..6bd219c59c 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/data/db/DbHelper.java +++ b/app/src/main/java/com/nynja/mobile/communicator/data/db/DbHelper.java @@ -383,7 +383,9 @@ public class DbHelper { cursor.close(); } } - auth.settings = getAuthFeatures(auth); + if (auth != null) { + auth.settings = getAuthFeatures(auth); + } return auth; } diff --git a/app/src/main/java/com/nynja/mobile/communicator/data/models/nynjamodels/MessageModel.java b/app/src/main/java/com/nynja/mobile/communicator/data/models/nynjamodels/MessageModel.java index 0225b1fd4f..c4822f324c 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/data/models/nynjamodels/MessageModel.java +++ b/app/src/main/java/com/nynja/mobile/communicator/data/models/nynjamodels/MessageModel.java @@ -333,10 +333,12 @@ public class MessageModel extends BaseNynjaModel implements Cloneable { } public boolean isMyMessage(@NonNull String myRosterID) { + if (myRosterID == null || from == null) return false; return myRosterID.equalsIgnoreCase(from); } public boolean isMyselfMessage(@NonNull String myRosterID) { + if (myRosterID == null || from == null || to == null) return false; return myRosterID.equalsIgnoreCase(from) && myRosterID.equalsIgnoreCase(to); } 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 12ff57c0ed..2f839275ce 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 @@ -1283,6 +1283,7 @@ public class ConferenceSDKModule extends BaseSDKModule { private void onCallStateHandle(NYNCall call, boolean isActiveCall, boolean forceFireEvent) { if (call != null) { + String callId = call.callId(); String roomId = (call.isConference() ? call.getChatRoomId() : (call.isOutgoing() ? call.callee() : call.caller())); NYNCallState state = call.callState(); @@ -1315,7 +1316,6 @@ public class ConferenceSDKModule extends BaseSDKModule { private void onCallEndedHandle(NYNCall call, String callId, boolean forceFireEvent) { if (call != null) { - String callId = call.callId(); String roomId = (call.isConference() ? call.getChatRoomId() : (call.isOutgoing() ? call.callee() : call.caller())); if (mMyAcceptedElsewhereCalls.containsKey(callId)) { @@ -3251,13 +3251,6 @@ public class ConferenceSDKModule extends BaseSDKModule { removeCallFromElsewhereCallsList(callId, true); } - private synchronized void onStateChangedForCall(NYNCall iConference) { - onCallStateHandle(iConference, false); - for (ConferenceSDKListener conferenceSDKListener : mConferenceSDKListener) { - conferenceSDKListener.onStateChangedForCall(iConference); - } - } - private int getConferenceMembersCount(NYNCall iConference) { int membersCount = 1; if (iConference != null && iConference.isConference()) { diff --git a/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/MainActivityPresenter.kt b/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/MainActivityPresenter.kt index 78b0449395..f5738617ae 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/MainActivityPresenter.kt +++ b/app/src/main/java/com/nynja/mobile/communicator/mvp/presenters/MainActivityPresenter.kt @@ -660,11 +660,9 @@ class MainActivityPresenter : ConferenceSDKPresenter() { viewState.onConferenceStateChanged(activeConferenceCall) } - override fun onStateChangedForCall(iConference: NYNCall?) { + override fun onStateChangedForCall(membersCount: Int) { if (attachedViews.size == 0) return - if (iConference != null) { - viewState.onStateChangedForCall(iConference.callId()) - } + viewState.onStateChangedForCall(membersCount) } override fun onAcceptedElsewhereConference(conferenceId: String) { diff --git a/app/src/main/java/com/nynja/mobile/communicator/mvp/view/MainActivityView.java b/app/src/main/java/com/nynja/mobile/communicator/mvp/view/MainActivityView.java index 604679b0e0..4cd06c29ea 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/mvp/view/MainActivityView.java +++ b/app/src/main/java/com/nynja/mobile/communicator/mvp/view/MainActivityView.java @@ -41,7 +41,7 @@ public interface MainActivityView extends JoinGroupView { void onConferenceStateChanged(ActiveConferenceCall activeConferenceCall); - void onStateChangedForCall(String callId); + void onStateChangedForCall(int membersCount); void onAcceptedElsewhereConference(String conferenceId); diff --git a/app/src/main/java/com/nynja/mobile/communicator/ui/activities/MainActivity.java b/app/src/main/java/com/nynja/mobile/communicator/ui/activities/MainActivity.java index 92a2311405..62c3d104e6 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/ui/activities/MainActivity.java +++ b/app/src/main/java/com/nynja/mobile/communicator/ui/activities/MainActivity.java @@ -624,7 +624,7 @@ public class MainActivity extends BaseActivity implements MainActivityView, } @Override - public void onStateChangedForCall(String callId) { + public void onStateChangedForCall(int membersCount) { runOnUiThread(() -> { onCallsStateChanged(); }); diff --git a/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/conference/ConferenceVideoFragment.java b/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/conference/ConferenceVideoFragment.java index af28f6a56f..07daac9674 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/conference/ConferenceVideoFragment.java +++ b/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/conference/ConferenceVideoFragment.java @@ -511,6 +511,7 @@ public class ConferenceVideoFragment extends BaseFragment implements ConferenceV if (!activeConferenceCall.mConference.isConference()) return; if (!activeConferenceCall.mConference.isRunning()) return; if (!activeConferenceCall.isVideoEnabled) return; + if (mConfParticipantsAdapter == null) return; if (StringUtils.isNotEmpty(trackId)) { Timber.d("ConferenceVideoFragment::removeRemoteVideoRenderer()"); -- GitLab