From 56bf83129ff014d89cb3ecd3776ea7b50d61d6c9 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 3 Oct 2017 17:30:34 +0200 Subject: [PATCH] Lot of little fix --- src/android/org/linphone/ChatFragment.java | 1 + src/android/org/linphone/HistoryListFragment.java | 2 ++ src/android/org/linphone/LinphoneActivity.java | 3 ++- src/android/org/linphone/LinphonePreferences.java | 4 ++++ src/android/org/linphone/LinphoneUtils.java | 2 +- src/android/org/linphone/SettingsFragment.java | 8 +++++--- 6 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/android/org/linphone/ChatFragment.java b/src/android/org/linphone/ChatFragment.java index 31db2fdfe..64a6b7335 100644 --- a/src/android/org/linphone/ChatFragment.java +++ b/src/android/org/linphone/ChatFragment.java @@ -1344,6 +1344,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC } public void refreshHistory() { + if (history == null || chatRoom == null) return; history.clear(); LinphoneChatMessage[] messages = chatRoom.getHistory(); history.addAll(Arrays.asList(messages)); diff --git a/src/android/org/linphone/HistoryListFragment.java b/src/android/org/linphone/HistoryListFragment.java index 34c6b7e2b..bde01bbd8 100644 --- a/src/android/org/linphone/HistoryListFragment.java +++ b/src/android/org/linphone/HistoryListFragment.java @@ -427,6 +427,8 @@ public class HistoryListFragment extends Fragment implements OnClickListener, On view.setTag(holder); } + if (mLogs == null || mLogs.size() < position) return view; + final LinphoneCallLog log = mLogs.get(position); long timestamp = log.getTimestamp(); LinphoneAddress address; diff --git a/src/android/org/linphone/LinphoneActivity.java b/src/android/org/linphone/LinphoneActivity.java index 1d318a58e..8f653681d 100644 --- a/src/android/org/linphone/LinphoneActivity.java +++ b/src/android/org/linphone/LinphoneActivity.java @@ -1683,7 +1683,8 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick } public void refreshAccounts(){ - if (LinphoneManager.getLc().getProxyConfigList().length > 1) { + if (LinphoneManager.getLc().getProxyConfigList() != null && + LinphoneManager.getLc().getProxyConfigList().length > 1) { accountsList.setVisibility(View.VISIBLE); accountsList.setAdapter(new AccountsListAdapter()); accountsList.setOnItemClickListener(new AdapterView.OnItemClickListener() { diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index 3bb32ee27..772b5c84c 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -476,6 +476,10 @@ public class LinphonePreferences { LinphoneAuthInfo old_info = getAuthInfo(n); try { LinphoneProxyConfig prxCfg = getProxyConfig(n); + if (prxCfg == null) { + Log.e("Error, no proxy config at index " + n); + return; + } prxCfg.edit(); prxCfg.setIdentity(identity); prxCfg.enableRegister(true); diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index 4f6a5ce0b..28249e1ab 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -279,7 +279,7 @@ public final class LinphoneUtils { try { bm = MediaStore.Images.Media.getBitmap(c.getContentResolver(),tUri); } catch (IOException e) { - LinphoneActivity.instance().displayCustomToast("Something wrong happened", Toast.LENGTH_LONG); + Log.e("Error in setThumbnailPictureFromUri: " + e); return; } if (bm != null) { diff --git a/src/android/org/linphone/SettingsFragment.java b/src/android/org/linphone/SettingsFragment.java index 57ad5a43e..4ab28b6ef 100644 --- a/src/android/org/linphone/SettingsFragment.java +++ b/src/android/org/linphone/SettingsFragment.java @@ -1351,9 +1351,11 @@ public class SettingsFragment extends PreferencesListFragment { @Override public void onPause() { - if (LinphoneManager.getInstance().getEchoTesterStatus()) - stopEchoTester(); - LinphoneActivity.instance().hideTopBar(); + if (LinphoneActivity.isInstanciated() && LinphoneManager.isInstanciated()) { + if (LinphoneManager.getInstance().getEchoTesterStatus()) + stopEchoTester(); + LinphoneActivity.instance().hideTopBar(); + } super.onPause(); } }