From b4f851aa9e269edcd6dcb979a4b5061373cbc327 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 3 Apr 2018 17:57:01 +0200 Subject: [PATCH] Fixed mega blunder in calls history on tablets --- .../org/linphone/activities/LinphoneActivity.java | 12 ++++++++---- .../org/linphone/fragments/HistoryListFragment.java | 6 ++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/android/org/linphone/activities/LinphoneActivity.java b/src/android/org/linphone/activities/LinphoneActivity.java index 0500bb115..dc388dcd7 100644 --- a/src/android/org/linphone/activities/LinphoneActivity.java +++ b/src/android/org/linphone/activities/LinphoneActivity.java @@ -578,9 +578,13 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick } public void displayHistoryDetail(String sipUri, CallLog log) { - Address lAddress; + Address lAddress = null; + LinphoneContact c = null; + lAddress = Factory.instance().createAddress(sipUri); - LinphoneContact c = ContactsManager.getInstance().findContactFromAddress(lAddress); + if (lAddress != null) { + c = ContactsManager.getInstance().findContactFromAddress(lAddress); + } String displayName = c != null ? c.getFullName() : LinphoneUtils.getAddressDisplayName(sipUri); String pictureUri = c != null && c.getPhotoUri() != null ? c.getPhotoUri().toString() : null; @@ -602,10 +606,10 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick Fragment fragment2 = getFragmentManager().findFragmentById(R.id.fragmentContainer2); if (fragment2 != null && fragment2.isVisible() && currentFragment == FragmentsAvailable.HISTORY_DETAIL) { HistoryDetailFragment historyDetailFragment = (HistoryDetailFragment) fragment2; - historyDetailFragment.changeDisplayedHistory(lAddress.asStringUriOnly(), displayName, pictureUri, status, callTime, callDate); + historyDetailFragment.changeDisplayedHistory(sipUri, displayName, pictureUri, status, callTime, callDate); } else { Bundle extras = new Bundle(); - extras.putString("SipUri", lAddress.asString()); + extras.putString("SipUri", sipUri); if (displayName != null) { extras.putString("DisplayName", displayName); extras.putString("PictureUri", pictureUri); diff --git a/src/android/org/linphone/fragments/HistoryListFragment.java b/src/android/org/linphone/fragments/HistoryListFragment.java index 695bedd18..c6cd2baf7 100644 --- a/src/android/org/linphone/fragments/HistoryListFragment.java +++ b/src/android/org/linphone/fragments/HistoryListFragment.java @@ -129,11 +129,13 @@ public class HistoryListFragment extends Fragment implements OnClickListener, On public void displayFirstLog(){ if (mLogs != null && mLogs.size() > 0) { CallLog log = mLogs.get(0); + String addr; if (log.getDir() == Call.Dir.Incoming) { - LinphoneActivity.instance().displayHistoryDetail(mLogs.get(0).getFromAddress().toString(), mLogs.get(0)); + addr = log.getFromAddress().asString(); } else { - LinphoneActivity.instance().displayHistoryDetail(mLogs.get(0).getToAddress().toString(), mLogs.get(0)); + addr = log.getToAddress().asString(); } + LinphoneActivity.instance().displayHistoryDetail(addr, log); } else { LinphoneActivity.instance().displayEmptyFragment(); }