diff --git a/src/org/linphone/ContactEditorFragment.java b/src/org/linphone/ContactEditorFragment.java index e99ee49b4..9084b1ce1 100644 --- a/src/org/linphone/ContactEditorFragment.java +++ b/src/org/linphone/ContactEditorFragment.java @@ -324,6 +324,18 @@ public class ContactEditorFragment extends Fragment { getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); } + @Override + public void onPause() { + // Force hide keyboard + InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); + View view = getActivity().getCurrentFocus(); + if (imm != null && view != null) { + imm.hideSoftInputFromWindow(view.getWindowToken(), 0); + } + + super.onPause(); + } + private void pickImage() { imageToUploadUri = null; final List cameraIntents = new ArrayList(); diff --git a/src/org/linphone/ContactsListFragment.java b/src/org/linphone/ContactsListFragment.java index 1cba7a89c..4d3d6fccc 100644 --- a/src/org/linphone/ContactsListFragment.java +++ b/src/org/linphone/ContactsListFragment.java @@ -386,26 +386,26 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O contactsList.setAdapter(new ContactsListAdapter(ContactsManager.getInstance().getAllContacts(), allContactsCursor)); } else { if (onlyDisplayLinphoneContacts) { - if (sipContactsCursor != null && sipContactsCursor.getCount() == 0) { - noSipContact.setVisibility(View.VISIBLE); - contactsList.setVisibility(View.GONE); - edit.setEnabled(false); - } else if (sipContactsCursor != null) { + if (sipContactsCursor != null) { indexer = new AlphabetIndexer(sipContactsCursor, Compatibility.getCursorDisplayNameColumnIndex(sipContactsCursor), " ABCDEFGHIJKLMNOPQRSTUVWXYZ"); contactsList.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE); contactsList.setAdapter(new ContactsListAdapter(ContactsManager.getInstance().getSIPContacts(), sipContactsCursor)); edit.setEnabled(true); - } - } else { - if (allContactsCursor != null && allContactsCursor.getCount() == 0) { - noContact.setVisibility(View.VISIBLE); + } else { + noSipContact.setVisibility(View.VISIBLE); contactsList.setVisibility(View.GONE); edit.setEnabled(false); - } else if (allContactsCursor != null) { + } + } else { + if (allContactsCursor != null) { indexer = new AlphabetIndexer(allContactsCursor, Compatibility.getCursorDisplayNameColumnIndex(allContactsCursor), " ABCDEFGHIJKLMNOPQRSTUVWXYZ"); contactsList.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE); contactsList.setAdapter(new ContactsListAdapter(ContactsManager.getInstance().getAllContacts(), allContactsCursor)); edit.setEnabled(true); + } else { + noContact.setVisibility(View.VISIBLE); + contactsList.setVisibility(View.GONE); + edit.setEnabled(false); } } } @@ -454,7 +454,6 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O onlyDisplayLinphoneContacts = ContactsManager.getInstance().isLinphoneContactsPrefered(); } changeContactsToggle(); - invalidate(); }