Added settings for hidden chat rooms

This commit is contained in:
Sylvain Berfini 2019-09-19 10:57:06 +02:00
parent fc4baf41b1
commit 2ba9b1a8bb
6 changed files with 68 additions and 0 deletions

View file

@ -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();
}

View file

@ -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);
}
}

View file

@ -40,6 +40,19 @@
android:layout_height="wrap_content"
linphone:title="@string/pref_android_app_notif_settings_title"/>
<org.linphone.settings.widget.SwitchSetting
android:id="@+id/pref_android_app_hide_empty_chat_rooms"
android:layout_width="match_parent"
android:layout_height="wrap_content"
linphone:title="@string/pref_android_app_hide_empty_chat_rooms_title" />
<org.linphone.settings.widget.SwitchSetting
android:id="@+id/pref_android_app_hide_chat_rooms_from_removed_proxies"
android:layout_width="match_parent"
android:layout_height="wrap_content"
linphone:title="@string/pref_android_app_hide_chat_rooms_from_removed_proxies_title"
linphone:subtitle="@string/pref_android_app_hide_chat_rooms_from_removed_proxies_desc" />
</LinearLayout>
</ScrollView>

View file

@ -449,6 +449,9 @@ Disponible gratuitement ici : %s</string>
<string name="pref_auto_download_disabled">Jamais</string>
<string name="pref_auto_download_always">Toujours</string>
<string name="pref_auto_download_under_size">Si inférieur à la taille max</string>
<string name="pref_android_app_hide_empty_chat_rooms_title">Cacher les conversations vides</string>
<string name="pref_android_app_hide_chat_rooms_from_removed_proxies_title">Cacher les conversations liées aux comptes supprimés</string>
<string name="pref_android_app_hide_chat_rooms_from_removed_proxies_desc">S\'il vous manque des conversations, essayez de décocher ce paramètre</string>
<!--Network settings-->
<string name="pref_network_title">Réseau</string>
<string name="pref_wifi_only">Utiliser WiFi uniquement</string>

View file

@ -286,7 +286,9 @@
<string name="call_stats_jitter_buffer">Буфер джиттера:</string>
<string name="call_stats_encoder_name">Кодер:</string>
<string name="call_stats_decoder_name">Декодер</string>
<string name="call_stats_player_filter">Фильтр плеера:</string>
<string name="call_stats_display_filter">Отображаемый фильтр:</string>
<string name="call_stats_capture_filter">Фильтр захвата:</string>
<string name="call">Вызов</string>
<string name="call_log_delete_dialog">Вы действительно хотите удалить выбранные журналы вызовов?</string>
<!--Recordings-->
@ -366,6 +368,9 @@
<string name="pref_tunnel_title">Туннель</string>
<string name="pref_tunnel_host">Сервер</string>
<string name="pref_tunnel_port">Порт</string>
<string name="pref_tunnel_dual_mode">Включить двойной режим</string>
<string name="pref_tunnel_host_2">Имя хоста (2-й сервер для двойного режима)</string>
<string name="pref_tunnel_port_2">Порт (2-й сервер для двойного режима)</string>
<string name="pref_tunnel_mode">Режим</string>
<!--do not change order without changing corresponding entry_values in non_localizable_strings.xml-->
<string-array name="tunnel_mode_entries">

View file

@ -472,6 +472,9 @@
<string name="pref_auto_download_disabled">Never</string>
<string name="pref_auto_download_always">Always</string>
<string name="pref_auto_download_under_size">If lighter than max size</string>
<string name="pref_android_app_hide_empty_chat_rooms_title">Hide empty chat rooms</string>
<string name="pref_android_app_hide_chat_rooms_from_removed_proxies_title">Hide chat rooms from removed proxy configs</string>
<string name="pref_android_app_hide_chat_rooms_from_removed_proxies_desc">If you have missing chat rooms, try to uncheck this setting</string>
<!-- Network settings -->
<string name="pref_network_title">Network</string>