From 19d05da222f6fe312200a32560a1e4789d3faf94 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 12 Apr 2019 10:22:15 +0200 Subject: [PATCH] Fixed navigation issue in settins on tablet --- .../main/java/org/linphone/LinphoneActivity.java | 13 +++++++------ .../org/linphone/fragments/FragmentsAvailable.java | 3 +++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/linphone/LinphoneActivity.java b/app/src/main/java/org/linphone/LinphoneActivity.java index 354c62bc5..3ea663e1c 100644 --- a/app/src/main/java/org/linphone/LinphoneActivity.java +++ b/app/src/main/java/org/linphone/LinphoneActivity.java @@ -775,9 +775,6 @@ public class LinphoneActivity extends LinphoneGenericActivity case SETTINGS: mFragment = new SettingsFragment(); break; - case SETTINGS_SUBLEVEL: - mFragment = new AudioSettingsFragment(); - break; case ACCOUNT_SETTINGS: mFragment = new AccountSettingsFragment(); break; @@ -916,7 +913,6 @@ public class LinphoneActivity extends LinphoneGenericActivity if (newFragmentType == FragmentsAvailable.DIALER || newFragmentType == FragmentsAvailable.ABOUT || newFragmentType == FragmentsAvailable.SETTINGS - || newFragmentType == FragmentsAvailable.SETTINGS_SUBLEVEL || newFragmentType == FragmentsAvailable.ACCOUNT_SETTINGS || newFragmentType == FragmentsAvailable.CREATE_CHAT || newFragmentType == FragmentsAvailable.INFO_GROUP_CHAT) { @@ -1194,10 +1190,10 @@ public class LinphoneActivity extends LinphoneGenericActivity changeCurrentFragment(FragmentsAvailable.CHAT_LIST, null); mChatSelected.setVisibility(View.VISIBLE); } else if (id == R.id.cancel) { - hideTopBar(); - if (mCurrentFragment == FragmentsAvailable.SETTINGS_SUBLEVEL) { + if (mCurrentFragment == FragmentsAvailable.SETTINGS_SUBLEVEL && !isTablet()) { popBackStack(); } else { + hideTopBar(); displayDialer(); } } @@ -1597,6 +1593,11 @@ public class LinphoneActivity extends LinphoneGenericActivity hideTopBar(); // just in case LinphoneActivity.instance().goToChatList(); return true; + case SETTINGS_SUBLEVEL: + if (!isTablet()) { + popBackStack(); + return true; + } case SETTINGS: case ACCOUNT_SETTINGS: case ABOUT: diff --git a/app/src/main/java/org/linphone/fragments/FragmentsAvailable.java b/app/src/main/java/org/linphone/fragments/FragmentsAvailable.java index bc75e1ca6..60e237a9a 100644 --- a/app/src/main/java/org/linphone/fragments/FragmentsAvailable.java +++ b/app/src/main/java/org/linphone/fragments/FragmentsAvailable.java @@ -68,6 +68,9 @@ public enum FragmentsAvailable { case MESSAGE_IMDN: return fragment == GROUP_CHAT || fragment == MESSAGE_IMDN; + case SETTINGS_SUBLEVEL: + return fragment == SETTINGS || fragment == SETTINGS_SUBLEVEL; + case CONTACT_DEVICES: return fragment == GROUP_CHAT || fragment == CONTACT_DEVICES;