diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index 31a5a162b..76521b98b 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -141,17 +141,19 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneO } private void scrollToEnd() { - mHandler.post(new Runnable() { + mHandler.postDelayed(new Runnable() { @Override public void run() { messagesScrollView.fullScroll(View.FOCUS_DOWN); } - }); + }, 100); } @Override public void onMessageReceived(LinphoneAddress from, String message) { - displayMessage(previousMessageID + 1, message, getString(R.string.now_date_format), true, messagesLayout); - scrollToEnd(); + if (from.asStringUriOnly().equals(sipUri)) { + displayMessage(previousMessageID + 1, message, getString(R.string.now_date_format), true, messagesLayout); + scrollToEnd(); + } } } diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index cbf0c0a4c..1811d6dae 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -148,7 +148,7 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene } private void changeCurrentFragment(FragmentsAvailable newFragmentType, Bundle extras) { - if (newFragmentType == currentFragment) { + if (newFragmentType == currentFragment && newFragmentType != FragmentsAvailable.CHAT) { return; }