Browse Source

Language extracted to separated gateway

master
Preyea Regmi 5 years ago
parent
commit
85cc09a733
  1. 30
      app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/gateway/LanguageSelectionGateway.java
  2. 10
      app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/gateway/LanguageSelectionGatewayInterface.java
  3. 29
      app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/SettingsView.java
  4. 19
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/gateway/SplashScreenGateway.java
  5. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenInteractorInterface.java
  6. 21
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java
  7. 3
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java

30
app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/gateway/LanguageSelectionGateway.java

@ -0,0 +1,30 @@
package com.gmeremit.online.gmeremittance_native.settings.gateway;
import com.gmeremit.online.gmeremittance_native.GmeApplication;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.splash_screen.model.LanguageModel;
import java.util.ArrayList;
import java.util.List;
public class LanguageSelectionGateway implements LanguageSelectionGatewayInterface {
@Override
public List<LanguageModel> getRelatedLanguageData() {
List<LanguageModel> models = new ArrayList<>();
models.add(new LanguageModel("EN", "en", GmeApplication.getStringExtractor().getStringFromStringId(R.string.english_language_text),"English"));
models.add(new LanguageModel("KH", "km", GmeApplication.getStringExtractor().getStringFromStringId(R.string.cambodia_lanugage_text),"Cambodia"));
models.add(new LanguageModel("KR", "ko", GmeApplication.getStringExtractor().getStringFromStringId(R.string.korean_language_text),"Korea"));
models.add(new LanguageModel("TH", "th", GmeApplication.getStringExtractor().getStringFromStringId(R.string.thailand_language_text),"Thailand"));
models.add(new LanguageModel("LK", "si", GmeApplication.getStringExtractor().getStringFromStringId(R.string.srilanka_lanugage_text),"Sri Lanka"));
models.add(new LanguageModel("MN", "mn", GmeApplication.getStringExtractor().getStringFromStringId(R.string.mongolia_language_text),"Mongolia"));
models.add(new LanguageModel("MM", "my", GmeApplication.getStringExtractor().getStringFromStringId(R.string.myanmar_language_text),"Myanmar"));
models.add(new LanguageModel("NP", "ne", GmeApplication.getStringExtractor().getStringFromStringId(R.string.nepali_language_text),"Nepali"));
models.add(new LanguageModel("ID", "in", GmeApplication.getStringExtractor().getStringFromStringId(R.string.indonesia_language_text),"Indonesia"));
models.add(new LanguageModel("BD", "bn", GmeApplication.getStringExtractor().getStringFromStringId(R.string.bengali_language_text),"Bangladesh"));
models.add(new LanguageModel("RU", "ru", GmeApplication.getStringExtractor().getStringFromStringId(R.string.russian_langugae_text),"Russia"));
models.add(new LanguageModel("UZ", "uz", GmeApplication.getStringExtractor().getStringFromStringId(R.string.uzbek_language_text),"Uzbekistan"));
models.add(new LanguageModel("VN", "vi", GmeApplication.getStringExtractor().getStringFromStringId(R.string.vietnam_language_text),"Vietnam"));
return models;
}
}

10
app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/gateway/LanguageSelectionGatewayInterface.java

@ -0,0 +1,10 @@
package com.gmeremit.online.gmeremittance_native.settings.gateway;
import com.gmeremit.online.gmeremittance_native.splash_screen.model.LanguageModel;
import java.util.List;
public interface LanguageSelectionGatewayInterface {
List<LanguageModel> getRelatedLanguageData();
}

29
app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/SettingsView.java

@ -16,6 +16,8 @@ import com.gmeremit.online.gmeremittance_native.base.PrefKeys;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.view.ChangePasswordV2Activity;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.settings.adapter.LanguageSelectionDialogRVAdapter;
import com.gmeremit.online.gmeremittance_native.settings.gateway.LanguageSelectionGateway;
import com.gmeremit.online.gmeremittance_native.settings.gateway.LanguageSelectionGatewayInterface;
import com.gmeremit.online.gmeremittance_native.splash_screen.model.LanguageModel;
import com.gmeremit.online.gmeremittance_native.utils.security.SecurityUtils;
@ -45,6 +47,8 @@ public class SettingsView extends BaseActivity implements CompoundButton.OnCheck
Disposable fingerPrintAuthEnableSubs;
LanguageSelectionGatewayInterface languageSelectionGatewayInterface;
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
@ -53,6 +57,7 @@ public class SettingsView extends BaseActivity implements CompoundButton.OnCheck
private void init() {
ButterKnife.bind(this);
languageSelectionGatewayInterface=new LanguageSelectionGateway();
if (!SecurityUtils.checkFingerPrintUsablity(this)) {
view_fingerprint.setVisibility(View.GONE);
view_fingerprint_divider.setVisibility(View.GONE);
@ -105,7 +110,7 @@ public class SettingsView extends BaseActivity implements CompoundButton.OnCheck
private void promptLanguageSelectionDialog() {
LanguageSelectionListingDialog languageSelectionDialog = new LanguageSelectionListingDialog();
languageSelectionDialog.setLanguageData(getLanguagedata());
languageSelectionDialog.setLanguageData(languageSelectionGatewayInterface.getRelatedLanguageData());
languageSelectionDialog.hideSearchView(false);
languageSelectionDialog.setListener(new LanguageSelectionDialogRVAdapter.LanguageSelectionListener() {
@Override
@ -124,32 +129,10 @@ public class SettingsView extends BaseActivity implements CompoundButton.OnCheck
myPreferences.edit().putString(USER_PREFERRED_LOCALE, lang.getLocaleCode()).apply();
myPreferences.edit().putString(USER_PREFERRED_COUNTRY_CODE, lang.getCountryCode()).apply();
myPreferences.edit().putString(USER_PREFERRED_LANGUAGE, lang.getCountryName()).apply();
restartApp();
}
private List<LanguageModel> getLanguagedata() {
List<LanguageModel> models = new ArrayList<>();
models.add(new LanguageModel("EN", "en", GmeApplication.getStringExtractor().getStringFromStringId(R.string.english_language_text), "English"));
models.add(new LanguageModel("KH", "km", GmeApplication.getStringExtractor().getStringFromStringId(R.string.cambodia_lanugage_text), "Cambodia"));
models.add(new LanguageModel("KR", "ko", GmeApplication.getStringExtractor().getStringFromStringId(R.string.korean_language_text), "Korea"));
models.add(new LanguageModel("TH", "th", GmeApplication.getStringExtractor().getStringFromStringId(R.string.thailand_language_text), "Thailand"));
models.add(new LanguageModel("LK", "si", GmeApplication.getStringExtractor().getStringFromStringId(R.string.srilanka_lanugage_text), "Sri Lanka"));
models.add(new LanguageModel("MN", "mn", GmeApplication.getStringExtractor().getStringFromStringId(R.string.mongolia_language_text), "Mongolia"));
models.add(new LanguageModel("MM", "my", GmeApplication.getStringExtractor().getStringFromStringId(R.string.myanmar_language_text), "Myanmar"));
models.add(new LanguageModel("NP", "ne", GmeApplication.getStringExtractor().getStringFromStringId(R.string.nepali_language_text), "Nepali"));
models.add(new LanguageModel("ID", "in", GmeApplication.getStringExtractor().getStringFromStringId(R.string.indonesia_language_text), "Indonesia"));
models.add(new LanguageModel("BD", "bn", GmeApplication.getStringExtractor().getStringFromStringId(R.string.bengali_language_text), "Bangladesh"));
models.add(new LanguageModel("RU", "ru", GmeApplication.getStringExtractor().getStringFromStringId(R.string.russian_langugae_text), "Russia"));
models.add(new LanguageModel("UZ", "uz", GmeApplication.getStringExtractor().getStringFromStringId(R.string.uzbek_language_text), "Uzbekistan"));
models.add(new LanguageModel("VN", "vi", GmeApplication.getStringExtractor().getStringFromStringId(R.string.vietnam_language_text), "Vietnam"));
return models;
}
@Override
protected void onDestroy() {
super.onDestroy();

19
app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/gateway/SplashScreenGateway.java

@ -32,26 +32,7 @@ public class SplashScreenGateway extends PrivilegedGateway implements SplashScre
}
@Override
public List<LanguageModel> getRelatedLanguageData() {
List<LanguageModel> models = new ArrayList<>();
models.add(new LanguageModel("EN", "en", GmeApplication.getStringExtractor().getStringFromStringId(R.string.english_language_text),"English"));
models.add(new LanguageModel("KH", "km", GmeApplication.getStringExtractor().getStringFromStringId(R.string.cambodia_lanugage_text),"Cambodia"));
models.add(new LanguageModel("KR", "ko", GmeApplication.getStringExtractor().getStringFromStringId(R.string.korean_language_text),"Korea"));
models.add(new LanguageModel("TH", "th", GmeApplication.getStringExtractor().getStringFromStringId(R.string.thailand_language_text),"Thailand"));
models.add(new LanguageModel("LK", "si", GmeApplication.getStringExtractor().getStringFromStringId(R.string.srilanka_lanugage_text),"Sri Lanka"));
models.add(new LanguageModel("MN", "mn", GmeApplication.getStringExtractor().getStringFromStringId(R.string.mongolia_language_text),"Mongolia"));
models.add(new LanguageModel("MM", "my", GmeApplication.getStringExtractor().getStringFromStringId(R.string.myanmar_language_text),"Myanmar"));
models.add(new LanguageModel("NP", "ne", GmeApplication.getStringExtractor().getStringFromStringId(R.string.nepali_language_text),"Nepali"));
models.add(new LanguageModel("ID", "in", GmeApplication.getStringExtractor().getStringFromStringId(R.string.indonesia_language_text),"Indonesia"));
models.add(new LanguageModel("BD", "bn", GmeApplication.getStringExtractor().getStringFromStringId(R.string.bengali_language_text),"Bangladesh"));
models.add(new LanguageModel("RU", "ru", GmeApplication.getStringExtractor().getStringFromStringId(R.string.russian_langugae_text),"Russia"));
models.add(new LanguageModel("UZ", "uz", GmeApplication.getStringExtractor().getStringFromStringId(R.string.uzbek_language_text),"Uzbekistan"));
models.add(new LanguageModel("VN", "vi", GmeApplication.getStringExtractor().getStringFromStringId(R.string.vietnam_language_text),"Vietnam"));
return models;
}
@Override
public Observable<ExchangeCalculationApiResponse> sendDataForForexCalculation(String auth, String senderCountryId, String senderCurrency, String recieverCurrency,

1
app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenInteractorInterface.java

@ -17,7 +17,6 @@ public interface SplashScreenInteractorInterface extends BaseInteractorInterface
{
String checkSession();
List<LanguageModel> getRelatedLanguageData();
void updatePreferredLocaleToStorage(String localeCode);

21
app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java

@ -7,6 +7,7 @@ import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.CountryFlagMapper;
import com.gmeremit.online.gmeremittance_native.settings.gateway.LanguageSelectionGatewayInterface;
import com.gmeremit.online.gmeremittance_native.splash_screen.model.LanguageModel;
import com.gmeremit.online.gmeremittance_native.utils.security.SignatureCheck;
import com.scottyab.rootbeer.RootBeer;
@ -17,15 +18,17 @@ import io.reactivex.disposables.CompositeDisposable;
public class SplashScreenPresenter extends BasePresenter implements SplashScreenPresenterInterface {
private final SplashScreenInteractorInterface.SplashScreenGatewayInterface gateway;
private final SplashScreenInteractorInterface.SplashScreenGatewayInterface splashGateway;
private final LanguageSelectionGatewayInterface languageGateway;
private RootBeer rootBeer;
private SplashScreenContractInterfacee view;
private List<LanguageModel> languageModels;
private final CompositeDisposable compositeDisposables;
public SplashScreenPresenter(SplashScreenContractInterfacee view, SplashScreenInteractorInterface.SplashScreenGatewayInterface gateway) {
public SplashScreenPresenter(SplashScreenContractInterfacee view, SplashScreenInteractorInterface.SplashScreenGatewayInterface splashGateway, LanguageSelectionGatewayInterface languageGateway) {
this.view = view;
this.gateway = gateway;
this.splashGateway = splashGateway;
this.languageGateway=languageGateway;
rootBeer = new RootBeer(view.getContext());
this.compositeDisposables = new CompositeDisposable();
@ -42,12 +45,12 @@ public class SplashScreenPresenter extends BasePresenter implements SplashScreen
@Override
public void checkIfUserHasSession() {
if (checkSafety()) {
String result = this.gateway.checkSession();
String result = this.splashGateway.checkSession();
if (result != null && result.equalsIgnoreCase("HOME")) {
this.view.proceedToDashboardScreen();
} else {
if (this.languageModels == null || this.languageModels.size() < 1) {
this.languageModels = this.gateway.getRelatedLanguageData();
this.languageModels = this.languageGateway.getRelatedLanguageData();
this.view.updateLanguageData(languageModels);
String appVersion = getStringfromStringId(R.string.app_version_text) + " " + BuildConfig.VERSION_NAME;
if (!BuildConfig.BUILD_TYPE.equalsIgnoreCase("release"))
@ -75,14 +78,14 @@ public class SplashScreenPresenter extends BasePresenter implements SplashScreen
@Override
public void updatePreferredLanguage(LanguageModel selectedLanguage) {
this.gateway.updatePreferredLocaleToStorage(selectedLanguage.getLocaleCode());
this.gateway.updatePreferredLanguageToStorage(selectedLanguage.getCountryName());
this.gateway.updatePreferredCountryToStorage(selectedLanguage.getCountryCode());
this.splashGateway.updatePreferredLocaleToStorage(selectedLanguage.getLocaleCode());
this.splashGateway.updatePreferredLanguageToStorage(selectedLanguage.getCountryName());
this.splashGateway.updatePreferredCountryToStorage(selectedLanguage.getCountryCode());
}
@Override
public void checkCurrentSelectedLanguage() {
view.updateFlagImage(CountryFlagMapper.getFlagFromCountryCode(this.gateway.getPreferredCountryCode()));
view.updateFlagImage(CountryFlagMapper.getFlagFromCountryCode(this.splashGateway.getPreferredCountryCode()));
}
@Override

3
app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java

@ -53,6 +53,7 @@ import com.gmeremit.online.gmeremittance_native.exrate.view.SelectedRedBorderDec
import com.gmeremit.online.gmeremittance_native.homeV2.view.HomeActivityV2;
import com.gmeremit.online.gmeremittance_native.loginV2.view.LoginV2Activity;
import com.gmeremit.online.gmeremittance_native.registerV2.view.RegisterV2Activity;
import com.gmeremit.online.gmeremittance_native.settings.gateway.LanguageSelectionGateway;
import com.gmeremit.online.gmeremittance_native.splash_screen.adapter.LanguageSelectionRVAdapter;
import com.gmeremit.online.gmeremittance_native.splash_screen.adapter.PayoutModeSelectionRVAdapter;
import com.gmeremit.online.gmeremittance_native.splash_screen.gateway.SplashScreenGateway;
@ -191,7 +192,7 @@ public class SplashScreen extends BaseActivity implements View.OnClickListener,
private void init() {
progressBar.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(this, android.R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY);
splashPresenter = new SplashScreenPresenter(this,new SplashScreenGateway());
splashPresenter = new SplashScreenPresenter(this,new SplashScreenGateway(), new LanguageSelectionGateway());
exRatePresenter=new ExchangeRatePresenter(this,new ExchangeRateGateway());
initAntiDebugger();
languageViewTransitionManager = new LanguageViewTransitionManager(this);

Loading…
Cancel
Save