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