package net.iGap.viewmodel; /* * This is the source code of iGap for Android * It is licensed under GNU AGPL v3.0 * You should have received a copy of the license in this archive (see LICENSE). * Copyright © 2017 , iGap - www.iGap.net * iGap Messenger | Free, Fast and Secure instant messaging application * The idea of the RooyeKhat Media Company - www.RooyeKhat.co * All rights reserved. */ import android.content.SharedPreferences; import android.view.View; import net.iGap.G; import net.iGap.fragments.FragmentLanguage; import net.iGap.helper.HelperCalander; import net.iGap.module.MusicPlayer; import net.iGap.module.SHP_SETTING; import java.util.Locale; import static android.content.Context.MODE_PRIVATE; import static net.iGap.G.onRefreshActivity; public class FragmentLanguageViewModel { private SharedPreferences sharedPreferences; private FragmentLanguage fragmentLanguage; private String textLanguage; public FragmentLanguageViewModel(FragmentLanguage fragmentLanguage) { this.fragmentLanguage = fragmentLanguage; getInfo(); } //=============================================================================== //================================Event Listeners================================ //=============================================================================== public void onClickEnglish(View v) { if (!G.selectedLanguage.equals("en")) { SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(SHP_SETTING.KEY_LANGUAGE, "English"); editor.apply(); G.selectedLanguage = "en"; G.updateResources(G.currentActivity); HelperCalander.isPersianUnicode = false; HelperCalander.isLanguagePersian = false; HelperCalander.isLanguageArabic = false; G.isAppRtl = false; if (onRefreshActivity != null) { FragmentLanguage.languageChanged = true; G.isRestartActivity = true; onRefreshActivity.refresh("en"); } } if (MusicPlayer.updateName != null) { MusicPlayer.updateName.rename(); } fragmentLanguage.removeFromBaseFragment(fragmentLanguage); } public void onClickFarsi(View v) { if (!G.selectedLanguage.equals("fa")) { SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(SHP_SETTING.KEY_LANGUAGE, "فارسی"); editor.apply(); G.selectedLanguage = "fa"; G.updateResources(G.currentActivity); HelperCalander.isPersianUnicode = true; HelperCalander.isLanguagePersian = true; HelperCalander.isLanguageArabic = false; G.isAppRtl = true; if (onRefreshActivity != null) { FragmentLanguage.languageChanged = true; G.isRestartActivity = true; onRefreshActivity.refresh("fa"); } } if (MusicPlayer.updateName != null) { MusicPlayer.updateName.rename(); } fragmentLanguage.removeFromBaseFragment(fragmentLanguage); } public void onClickArabi(View v) { if (!G.selectedLanguage.equals("ar")) { SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(SHP_SETTING.KEY_LANGUAGE, "العربی"); editor.apply(); G.selectedLanguage = "ar"; G.updateResources(G.currentActivity); HelperCalander.isPersianUnicode = true; HelperCalander.isLanguagePersian = false; HelperCalander.isLanguageArabic = true; G.isAppRtl = true; if (onRefreshActivity != null) { FragmentLanguage.languageChanged = true; G.isRestartActivity = true; onRefreshActivity.refresh("ar"); } } if (MusicPlayer.updateName != null) { MusicPlayer.updateName.rename(); } fragmentLanguage.removeFromBaseFragment(fragmentLanguage); } public boolean isEnglish() { return textLanguage.equals("English") ? true : false; } public boolean isFarsi() { return textLanguage.equals("فارسی") ? true : false; } public boolean isArabi() { return textLanguage.equals("العربی") ? true : false; } //=============================================================================== //====================================Methods==================================== //=============================================================================== private void getInfo() { sharedPreferences = G.context.getSharedPreferences(SHP_SETTING.FILE_NAME, MODE_PRIVATE); textLanguage = sharedPreferences.getString(SHP_SETTING.KEY_LANGUAGE, Locale.getDefault().getDisplayLanguage()); } }