diff --git a/app/src/main/java/org/linphone/LinphoneActivity.java b/app/src/main/java/org/linphone/LinphoneActivity.java index 6adb55a01..fa3bf8e52 100644 --- a/app/src/main/java/org/linphone/LinphoneActivity.java +++ b/app/src/main/java/org/linphone/LinphoneActivity.java @@ -342,6 +342,9 @@ public class LinphoneActivity extends LinphoneGenericActivity mDialer.setOnClickListener(this); mChat = findViewById(R.id.chat); mChat.setOnClickListener(this); + if (getResources().getBoolean(R.bool.disable_chat)) { + mChat.setVisibility(View.GONE); + } mHistorySelected = findViewById(R.id.history_select); mContactsSelected = findViewById(R.id.contacts_select); @@ -1562,6 +1565,12 @@ public class LinphoneActivity extends LinphoneGenericActivity private void initSideMenu() { mSideMenu = findViewById(R.id.side_menu); mSideMenuItems = new ArrayList<>(); + if (getResources().getBoolean(R.bool.show_log_out_in_side_menu)) { + mSideMenuItems.add( + new MenuItem( + getResources().getString(R.string.menu_logout), + R.drawable.quit_default)); + } if (!getResources().getBoolean(R.bool.hide_assistant_from_side_menu)) { mSideMenuItems.add( new MenuItem( @@ -1579,10 +1588,12 @@ public class LinphoneActivity extends LinphoneGenericActivity new MenuItem( getResources().getString(R.string.inapp), R.drawable.menu_options)); } - mSideMenuItems.add( - new MenuItem( - getResources().getString(R.string.menu_recordings), - R.drawable.menu_recordings)); + if (!getResources().getBoolean(R.bool.hide_recordings_from_side_menu)) { + mSideMenuItems.add( + new MenuItem( + getResources().getString(R.string.menu_recordings), + R.drawable.menu_recordings)); + } mSideMenuItems.add( new MenuItem(getResources().getString(R.string.menu_about), R.drawable.menu_about)); mSideMenuContent = findViewById(R.id.side_menu_content); @@ -1595,25 +1606,24 @@ public class LinphoneActivity extends LinphoneGenericActivity new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { - if (mSideMenuItemList - .getAdapter() - .getItem(i) - .toString() - .equals(getString(R.string.menu_settings))) { + String selectedItem = mSideMenuItemList.getAdapter().getItem(i).toString(); + if (selectedItem.equals(getString(R.string.menu_logout))) { + Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); + if (lc != null) { + lc.clearAllAuthInfo(); + lc.clearProxyConfig(); + startActivity( + new Intent() + .setClass( + LinphoneManager.getInstance().getContext(), + AssistantActivity.class)); + finish(); + } + } else if (selectedItem.equals(getString(R.string.menu_settings))) { LinphoneActivity.instance().displaySettings(); - } - if (mSideMenuItemList - .getAdapter() - .getItem(i) - .toString() - .equals(getString(R.string.menu_about))) { + } else if (selectedItem.equals(getString(R.string.menu_about))) { LinphoneActivity.instance().displayAbout(); - } - if (mSideMenuItemList - .getAdapter() - .getItem(i) - .toString() - .equals(getString(R.string.menu_assistant))) { + } else if (selectedItem.equals(getString(R.string.menu_assistant))) { LinphoneActivity.instance().displayAssistant(); } if (getResources().getBoolean(R.bool.enable_in_app_purchase)) { @@ -1699,17 +1709,19 @@ public class LinphoneActivity extends LinphoneGenericActivity status.setImageResource(getStatusIconResource(proxy.getState())); status.setVisibility(View.VISIBLE); - mDefaultAccount.setOnClickListener( - new OnClickListener() { - @Override - public void onClick(View view) { - LinphoneActivity.instance() - .displayAccountSettings( - LinphonePreferences.instance() - .getDefaultAccountIndex()); - openOrCloseSideMenu(false); - } - }); + if (!getResources().getBoolean(R.bool.disable_accounts_settings_from_side_menu)) { + mDefaultAccount.setOnClickListener( + new OnClickListener() { + @Override + public void onClick(View view) { + LinphoneActivity.instance() + .displayAccountSettings( + LinphonePreferences.instance() + .getDefaultAccountIndex()); + openOrCloseSideMenu(false); + } + }); + } } } diff --git a/app/src/main/java/org/linphone/contacts/ContactDetailsFragment.java b/app/src/main/java/org/linphone/contacts/ContactDetailsFragment.java index 723a8345c..309ba2f7f 100644 --- a/app/src/main/java/org/linphone/contacts/ContactDetailsFragment.java +++ b/app/src/main/java/org/linphone/contacts/ContactDetailsFragment.java @@ -265,7 +265,8 @@ public class ContactDetailsFragment extends Fragment v.findViewById(R.id.inviteFriend).setVisibility(View.GONE); if (!noa.isSIPAddress() - && v.findViewById(R.id.friendLinphone).getVisibility() == View.GONE) { + && v.findViewById(R.id.friendLinphone).getVisibility() == View.GONE + && !getResources().getBoolean(R.bool.hide_invite_contact)) { v.findViewById(R.id.inviteFriend).setVisibility(View.VISIBLE); v.findViewById(R.id.inviteFriend).setTag(noa.getNormalizedPhone()); v.findViewById(R.id.inviteFriend) diff --git a/app/src/main/res/values/non_localizable_custom.xml b/app/src/main/res/values/non_localizable_custom.xml index db5eb0f31..d2a22ef85 100644 --- a/app/src/main/res/values/non_localizable_custom.xml +++ b/app/src/main/res/values/non_localizable_custom.xml @@ -100,6 +100,7 @@ true false true + false false @@ -117,6 +118,9 @@ false false + false + false + false true diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 21904fdd8..a907beeba 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -257,6 +257,7 @@ unread messages + Logout Assistant Settings Recordings