Fixed navigation issue in settins on tablet

This commit is contained in:
Sylvain Berfini 2019-04-12 10:22:15 +02:00
parent cbc68f5a4b
commit 19d05da222
2 changed files with 10 additions and 6 deletions

View file

@ -775,9 +775,6 @@ public class LinphoneActivity extends LinphoneGenericActivity
case SETTINGS: case SETTINGS:
mFragment = new SettingsFragment(); mFragment = new SettingsFragment();
break; break;
case SETTINGS_SUBLEVEL:
mFragment = new AudioSettingsFragment();
break;
case ACCOUNT_SETTINGS: case ACCOUNT_SETTINGS:
mFragment = new AccountSettingsFragment(); mFragment = new AccountSettingsFragment();
break; break;
@ -916,7 +913,6 @@ public class LinphoneActivity extends LinphoneGenericActivity
if (newFragmentType == FragmentsAvailable.DIALER if (newFragmentType == FragmentsAvailable.DIALER
|| newFragmentType == FragmentsAvailable.ABOUT || newFragmentType == FragmentsAvailable.ABOUT
|| newFragmentType == FragmentsAvailable.SETTINGS || newFragmentType == FragmentsAvailable.SETTINGS
|| newFragmentType == FragmentsAvailable.SETTINGS_SUBLEVEL
|| newFragmentType == FragmentsAvailable.ACCOUNT_SETTINGS || newFragmentType == FragmentsAvailable.ACCOUNT_SETTINGS
|| newFragmentType == FragmentsAvailable.CREATE_CHAT || newFragmentType == FragmentsAvailable.CREATE_CHAT
|| newFragmentType == FragmentsAvailable.INFO_GROUP_CHAT) { || newFragmentType == FragmentsAvailable.INFO_GROUP_CHAT) {
@ -1194,10 +1190,10 @@ public class LinphoneActivity extends LinphoneGenericActivity
changeCurrentFragment(FragmentsAvailable.CHAT_LIST, null); changeCurrentFragment(FragmentsAvailable.CHAT_LIST, null);
mChatSelected.setVisibility(View.VISIBLE); mChatSelected.setVisibility(View.VISIBLE);
} else if (id == R.id.cancel) { } else if (id == R.id.cancel) {
hideTopBar(); if (mCurrentFragment == FragmentsAvailable.SETTINGS_SUBLEVEL && !isTablet()) {
if (mCurrentFragment == FragmentsAvailable.SETTINGS_SUBLEVEL) {
popBackStack(); popBackStack();
} else { } else {
hideTopBar();
displayDialer(); displayDialer();
} }
} }
@ -1597,6 +1593,11 @@ public class LinphoneActivity extends LinphoneGenericActivity
hideTopBar(); // just in case hideTopBar(); // just in case
LinphoneActivity.instance().goToChatList(); LinphoneActivity.instance().goToChatList();
return true; return true;
case SETTINGS_SUBLEVEL:
if (!isTablet()) {
popBackStack();
return true;
}
case SETTINGS: case SETTINGS:
case ACCOUNT_SETTINGS: case ACCOUNT_SETTINGS:
case ABOUT: case ABOUT:

View file

@ -68,6 +68,9 @@ public enum FragmentsAvailable {
case MESSAGE_IMDN: case MESSAGE_IMDN:
return fragment == GROUP_CHAT || fragment == MESSAGE_IMDN; return fragment == GROUP_CHAT || fragment == MESSAGE_IMDN;
case SETTINGS_SUBLEVEL:
return fragment == SETTINGS || fragment == SETTINGS_SUBLEVEL;
case CONTACT_DEVICES: case CONTACT_DEVICES:
return fragment == GROUP_CHAT || fragment == CONTACT_DEVICES; return fragment == GROUP_CHAT || fragment == CONTACT_DEVICES;