diff --git a/app/src/main/java/org/linphone/settings/ChatSettingsFragment.java b/app/src/main/java/org/linphone/settings/ChatSettingsFragment.java index e5e6496a0..b80374b84 100644 --- a/app/src/main/java/org/linphone/settings/ChatSettingsFragment.java +++ b/app/src/main/java/org/linphone/settings/ChatSettingsFragment.java @@ -35,6 +35,7 @@ import org.linphone.mediastream.Version; import org.linphone.settings.widget.BasicSetting; import org.linphone.settings.widget.ListSetting; import org.linphone.settings.widget.SettingListenerBase; +import org.linphone.settings.widget.SwitchSetting; import org.linphone.settings.widget.TextSetting; public class ChatSettingsFragment extends SettingsFragment { @@ -43,6 +44,7 @@ public class ChatSettingsFragment extends SettingsFragment { private TextSetting mSharingServer, mMaxSizeForAutoDownloadIncomingFiles; private BasicSetting mAndroidNotificationSettings; private ListSetting mAutoDownloadIncomingFilesPolicy; + private SwitchSetting mHideEmptyRooms, mHideRemovedProxiesRooms; @Nullable @Override @@ -74,6 +76,11 @@ public class ChatSettingsFragment extends SettingsFragment { mAutoDownloadIncomingFilesPolicy = mRootView.findViewById(R.id.pref_auto_download_policy); mAndroidNotificationSettings = mRootView.findViewById(R.id.pref_android_app_notif_settings); + + mHideEmptyRooms = mRootView.findViewById(R.id.pref_android_app_hide_empty_chat_rooms); + + mHideRemovedProxiesRooms = + mRootView.findViewById(R.id.pref_android_app_hide_chat_rooms_from_removed_proxies); } private void setListeners() { @@ -131,6 +138,22 @@ public class ChatSettingsFragment extends SettingsFragment { } } }); + + mHideEmptyRooms.setListener( + new SettingListenerBase() { + @Override + public void onBoolValueChanged(boolean newValue) { + LinphonePreferences.instance().setHideEmptyChatRooms(newValue); + } + }); + + mHideRemovedProxiesRooms.setListener( + new SettingListenerBase() { + @Override + public void onBoolValueChanged(boolean newValue) { + LinphonePreferences.instance().setHideRemovedProxiesChatRooms(newValue); + } + }); } private void updateValues() { @@ -142,6 +165,11 @@ public class ChatSettingsFragment extends SettingsFragment { mAndroidNotificationSettings.setVisibility(View.GONE); } + mHideEmptyRooms.setChecked(LinphonePreferences.instance().hideEmptyChatRooms()); + + mHideRemovedProxiesRooms.setChecked( + LinphonePreferences.instance().hideRemovedProxiesChatRooms()); + setListeners(); } diff --git a/app/src/main/java/org/linphone/settings/LinphonePreferences.java b/app/src/main/java/org/linphone/settings/LinphonePreferences.java index 79811451a..82b9ab721 100644 --- a/app/src/main/java/org/linphone/settings/LinphonePreferences.java +++ b/app/src/main/java/org/linphone/settings/LinphonePreferences.java @@ -1227,4 +1227,20 @@ public class LinphonePreferences { public void enableChatRoomsShortcuts(boolean enable) { getConfig().setBool("app", "shortcuts", enable); } + + public boolean hideEmptyChatRooms() { + return getConfig().getBool("misc", "hide_empty_chat_rooms", true); + } + + public void setHideEmptyChatRooms(boolean hide) { + getConfig().setBool("misc", "hide_empty_chat_rooms", hide); + } + + public boolean hideRemovedProxiesChatRooms() { + return getConfig().getBool("misc", "hide_chat_rooms_from_removed_proxies", true); + } + + public void setHideRemovedProxiesChatRooms(boolean hide) { + getConfig().setBool("misc", "hide_chat_rooms_from_removed_proxies", hide); + } } diff --git a/app/src/main/res/layout/settings_chat.xml b/app/src/main/res/layout/settings_chat.xml index 20a22a6c1..8e0479b52 100644 --- a/app/src/main/res/layout/settings_chat.xml +++ b/app/src/main/res/layout/settings_chat.xml @@ -40,6 +40,19 @@ android:layout_height="wrap_content" linphone:title="@string/pref_android_app_notif_settings_title"/> + + + + \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 1bacb0a67..2ee16a290 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -449,6 +449,9 @@ Disponible gratuitement ici : %s Jamais Toujours Si inférieur à la taille max + Cacher les conversations vides + Cacher les conversations liées aux comptes supprimés + S\'il vous manque des conversations, essayez de décocher ce paramètre Réseau Utiliser WiFi uniquement diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e4f202520..c5ead1f4d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -286,7 +286,9 @@ Буфер джиттера: Кодер: Декодер + Фильтр плеера: Отображаемый фильтр: + Фильтр захвата: Вызов Вы действительно хотите удалить выбранные журналы вызовов? @@ -366,6 +368,9 @@ Туннель Сервер Порт + Включить двойной режим + Имя хоста (2-й сервер для двойного режима) + Порт (2-й сервер для двойного режима) Режим diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cf06429f1..d5a168819 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -472,6 +472,9 @@ Never Always If lighter than max size + Hide empty chat rooms + Hide chat rooms from removed proxy configs + If you have missing chat rooms, try to uncheck this setting Network