diff --git a/src/android/org/linphone/activities/LinphoneActivity.java b/src/android/org/linphone/activities/LinphoneActivity.java index 6d82d2d45..9610b33e1 100644 --- a/src/android/org/linphone/activities/LinphoneActivity.java +++ b/src/android/org/linphone/activities/LinphoneActivity.java @@ -372,7 +372,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick } fragment = null; - switch (newFragmentType) { case HISTORY_LIST: fragment = new HistoryListFragment(); @@ -862,35 +861,49 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick public void selectMenu(FragmentsAvailable menuToSelect) { currentFragment = menuToSelect; resetSelection(); + boolean hideBottomBar = getResources().getBoolean(R.bool.hide_bottom_bar_on_second_level_views); switch (menuToSelect) { case HISTORY_LIST: + hideTabBar(false); + history_selected.setVisibility(View.VISIBLE); + break; case HISTORY_DETAIL: + hideTabBar(hideBottomBar); history_selected.setVisibility(View.VISIBLE); break; case CONTACTS_LIST: + hideTabBar(false); + contacts_selected.setVisibility(View.VISIBLE); + break; case CONTACT_DETAIL: case CONTACT_EDITOR: + hideTabBar(hideBottomBar); contacts_selected.setVisibility(View.VISIBLE); break; case DIALER: + hideTabBar(false); dialer_selected.setVisibility(View.VISIBLE); break; case SETTINGS: case ACCOUNT_SETTINGS: - hideTabBar(true); + hideTabBar(hideBottomBar); mTopBar.setVisibility(View.VISIBLE); break; case ABOUT: - hideTabBar(true); + hideTabBar(hideBottomBar); break; case CHAT_LIST: + hideTabBar(false); + chat_selected.setVisibility(View.VISIBLE); + break; case CREATE_CHAT: case GROUP_CHAT: case INFO_GROUP_CHAT: case MESSAGE_IMDN: case CONTACT_DEVICES: case CHAT: + hideTabBar(hideBottomBar); chat_selected.setVisibility(View.VISIBLE); break; } diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index 34dc49921..e9e07d626 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -52,6 +52,7 @@ import org.linphone.core.ChatRoom; import org.linphone.core.ChatRoomListenerStub; import org.linphone.core.Core; import org.linphone.core.ProxyConfig; +import org.linphone.fragments.FragmentsAvailable; import org.linphone.mediastream.Log; import org.linphone.ui.ContactSelectView; @@ -245,6 +246,10 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen ContactsManager.addContactsListener(this); super.onResume(); + if (LinphoneActivity.isInstanciated()) { + LinphoneActivity.instance().selectMenu(FragmentsAvailable.CREATE_CHAT); + } + InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(INPUT_METHOD_SERVICE); if (getActivity().getCurrentFocus() != null) { inputMethodManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0); diff --git a/src/android/org/linphone/chat/ChatListFragment.java b/src/android/org/linphone/chat/ChatListFragment.java index 39117d79d..9aeeddea1 100644 --- a/src/android/org/linphone/chat/ChatListFragment.java +++ b/src/android/org/linphone/chat/ChatListFragment.java @@ -202,7 +202,6 @@ public class ChatListFragment extends Fragment implements ContactsUpdatedListene if (LinphoneActivity.isInstanciated()) { LinphoneActivity.instance().selectMenu(FragmentsAvailable.CHAT_LIST); - LinphoneActivity.instance().hideTabBar(false); } Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); diff --git a/src/android/org/linphone/chat/DevicesFragment.java b/src/android/org/linphone/chat/DevicesFragment.java index 429772401..ebf378d60 100644 --- a/src/android/org/linphone/chat/DevicesFragment.java +++ b/src/android/org/linphone/chat/DevicesFragment.java @@ -42,6 +42,7 @@ import org.linphone.core.Core; import org.linphone.core.Factory; import org.linphone.core.Participant; import org.linphone.core.ParticipantDevice; +import org.linphone.fragments.FragmentsAvailable; import org.linphone.mediastream.Log; import java.util.Arrays; @@ -118,6 +119,11 @@ public class DevicesFragment extends Fragment { @Override public void onResume() { super.onResume(); + + if (LinphoneActivity.isInstanciated()) { + LinphoneActivity.instance().selectMenu(FragmentsAvailable.CONTACT_DEVICES); + } + initValues(); } diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 116a7c989..c70da237c 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -546,7 +546,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } public void hideKeyboardVisibleMode() { - LinphoneActivity.instance().hideTabBar(false); + LinphoneActivity.instance().hideTabBar(getResources().getBoolean(R.bool.hide_bottom_bar_on_second_level_views)); LinphoneActivity.instance().showStatusBar(); mTopBar.setVisibility(View.VISIBLE); } diff --git a/src/android/org/linphone/chat/GroupInfoFragment.java b/src/android/org/linphone/chat/GroupInfoFragment.java index 1136042e3..997e7b268 100644 --- a/src/android/org/linphone/chat/GroupInfoFragment.java +++ b/src/android/org/linphone/chat/GroupInfoFragment.java @@ -52,6 +52,7 @@ import org.linphone.core.ChatRoomListener; import org.linphone.core.ChatRoomListenerStub; import org.linphone.core.EventLog; import org.linphone.core.Participant; +import org.linphone.fragments.FragmentsAvailable; import org.linphone.mediastream.Log; import java.util.ArrayList; @@ -344,6 +345,10 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { public void onResume() { super.onResume(); + if (LinphoneActivity.isInstanciated()) { + LinphoneActivity.instance().selectMenu(FragmentsAvailable.INFO_GROUP_CHAT); + } + InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(INPUT_METHOD_SERVICE); if (getActivity().getCurrentFocus() != null) { inputMethodManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0); diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index 2de5af390..2221cc487 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -46,6 +46,7 @@ import org.linphone.core.ChatMessageListenerStub; import org.linphone.core.ChatRoom; import org.linphone.core.Core; import org.linphone.core.ParticipantImdnState; +import org.linphone.fragments.FragmentsAvailable; import org.linphone.ui.ContactAvatar; public class ImdnFragment extends Fragment { @@ -147,6 +148,10 @@ public class ImdnFragment extends Fragment { public void onResume() { super.onResume(); + if (LinphoneActivity.isInstanciated()) { + LinphoneActivity.instance().selectMenu(FragmentsAvailable.MESSAGE_IMDN); + } + refreshInfo(); } diff --git a/src/android/org/linphone/contacts/ContactDetailsFragment.java b/src/android/org/linphone/contacts/ContactDetailsFragment.java index 3d0fb1ae8..70e161774 100644 --- a/src/android/org/linphone/contacts/ContactDetailsFragment.java +++ b/src/android/org/linphone/contacts/ContactDetailsFragment.java @@ -254,7 +254,6 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener if (LinphoneActivity.isInstanciated()) { LinphoneActivity.instance().selectMenu(FragmentsAvailable.CONTACT_DETAIL); - LinphoneActivity.instance().hideTabBar(false); } contact.refresh(); displayContact(inflater, view); diff --git a/src/android/org/linphone/contacts/ContactEditorFragment.java b/src/android/org/linphone/contacts/ContactEditorFragment.java index 2355934e1..cd6433c4e 100644 --- a/src/android/org/linphone/contacts/ContactEditorFragment.java +++ b/src/android/org/linphone/contacts/ContactEditorFragment.java @@ -318,7 +318,6 @@ public class ContactEditorFragment extends Fragment { super.onResume(); if (LinphoneActivity.isInstanciated()) { - LinphoneActivity.instance().hideTabBar(false); } // Force hide keyboard diff --git a/src/android/org/linphone/contacts/ContactsListFragment.java b/src/android/org/linphone/contacts/ContactsListFragment.java index df1af6cc0..d80484740 100644 --- a/src/android/org/linphone/contacts/ContactsListFragment.java +++ b/src/android/org/linphone/contacts/ContactsListFragment.java @@ -319,7 +319,6 @@ public class ContactsListFragment extends Fragment implements OnItemClickListene if (LinphoneActivity.isInstanciated()) { LinphoneActivity.instance().selectMenu(FragmentsAvailable.CONTACTS_LIST); - LinphoneActivity.instance().hideTabBar(false); onlyDisplayLinphoneContacts = ContactsManager.getInstance().isLinphoneContactsPrefered() || getResources().getBoolean(R.bool.hide_non_linphone_contacts); } changeContactsToggle(); diff --git a/src/android/org/linphone/fragments/AccountPreferencesFragment.java b/src/android/org/linphone/fragments/AccountPreferencesFragment.java index 6c74649bf..3609fb46a 100644 --- a/src/android/org/linphone/fragments/AccountPreferencesFragment.java +++ b/src/android/org/linphone/fragments/AccountPreferencesFragment.java @@ -536,7 +536,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen super.onResume(); if (LinphoneActivity.isInstanciated()) { - LinphoneActivity.instance().selectMenu(FragmentsAvailable.SETTINGS); + LinphoneActivity.instance().selectMenu(FragmentsAvailable.ACCOUNT_SETTINGS); } } diff --git a/src/android/org/linphone/fragments/DialerFragment.java b/src/android/org/linphone/fragments/DialerFragment.java index 26d252385..dd4254245 100644 --- a/src/android/org/linphone/fragments/DialerFragment.java +++ b/src/android/org/linphone/fragments/DialerFragment.java @@ -154,7 +154,6 @@ public class DialerFragment extends Fragment { LinphoneActivity.instance().selectMenu(FragmentsAvailable.DIALER); LinphoneActivity.instance().updateDialerFragment(this); LinphoneActivity.instance().showStatusBar(); - LinphoneActivity.instance().hideTabBar(false); } boolean isOrientationLandscape = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; diff --git a/src/android/org/linphone/fragments/HistoryDetailFragment.java b/src/android/org/linphone/fragments/HistoryDetailFragment.java index 87546b4a2..e20e9becf 100644 --- a/src/android/org/linphone/fragments/HistoryDetailFragment.java +++ b/src/android/org/linphone/fragments/HistoryDetailFragment.java @@ -181,7 +181,6 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener { if (LinphoneActivity.isInstanciated()) { LinphoneActivity.instance().selectMenu(FragmentsAvailable.HISTORY_DETAIL); - LinphoneActivity.instance().hideTabBar(false); } } diff --git a/src/android/org/linphone/fragments/HistoryListFragment.java b/src/android/org/linphone/fragments/HistoryListFragment.java index 1f0b151c8..3db5e72a2 100644 --- a/src/android/org/linphone/fragments/HistoryListFragment.java +++ b/src/android/org/linphone/fragments/HistoryListFragment.java @@ -151,7 +151,6 @@ public class HistoryListFragment extends Fragment implements OnClickListener, On if (LinphoneActivity.isInstanciated()) { LinphoneActivity.instance().selectMenu(FragmentsAvailable.HISTORY_LIST); - LinphoneActivity.instance().hideTabBar(false); LinphoneActivity.instance().displayMissedCalls(0); }