Browse Source

Language extracted to separated gateway

master
Preyea Regmi 5 years ago
parent
commit
e079e28bb7
  1. 35
      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. 14
      app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/SettingsView.java
  4. 25
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/gateway/SplashScreenGateway.java
  5. 9
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenInteractorInterface.java
  6. 8
      app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java

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

@ -1,5 +1,7 @@
package com.gmeremit.online.gmeremittance_native.settings.gateway; package com.gmeremit.online.gmeremittance_native.settings.gateway;
import android.content.SharedPreferences;
import com.gmeremit.online.gmeremittance_native.GmeApplication; import com.gmeremit.online.gmeremittance_native.GmeApplication;
import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.splash_screen.model.LanguageModel; import com.gmeremit.online.gmeremittance_native.splash_screen.model.LanguageModel;
@ -7,6 +9,10 @@ import com.gmeremit.online.gmeremittance_native.splash_screen.model.LanguageMode
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_COUNTRY_CODE;
import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_LANGUAGE;
import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_LOCALE;
public class LanguageSelectionGateway implements LanguageSelectionGatewayInterface { public class LanguageSelectionGateway implements LanguageSelectionGatewayInterface {
@Override @Override
public List<LanguageModel> getRelatedLanguageData() { public List<LanguageModel> getRelatedLanguageData() {
@ -27,4 +33,33 @@ public class LanguageSelectionGateway implements LanguageSelectionGatewayInterfa
return models; return models;
} }
@Override
public void updatePreferredLocaleToStorage(String localeCode) {
SharedPreferences myPreferences= GmeApplication.getStorage();
myPreferences.edit().putString(USER_PREFERRED_LOCALE,localeCode).apply();
}
@Override
public void updatePreferredCountryToStorage(String countryCode) {
SharedPreferences myPreferences= GmeApplication.getStorage();
myPreferences.edit().putString(USER_PREFERRED_COUNTRY_CODE,countryCode).apply();
}
@Override
public void updatePreferredLanguageToStorage(String languageString) {
SharedPreferences myPreferences= GmeApplication.getStorage();
myPreferences.edit().putString(USER_PREFERRED_LANGUAGE,languageString).apply();
}
@Override
public String getPreferredLocale() {
return GmeApplication.getStorage().getString(USER_PREFERRED_LOCALE,null);
}
@Override
public String getPreferredCountryCode() {
return GmeApplication.getStorage().getString(USER_PREFERRED_COUNTRY_CODE,"en");
}
} }

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

@ -7,4 +7,14 @@ import java.util.List;
public interface LanguageSelectionGatewayInterface { public interface LanguageSelectionGatewayInterface {
List<LanguageModel> getRelatedLanguageData(); List<LanguageModel> getRelatedLanguageData();
void updatePreferredLocaleToStorage(String localeCode);
void updatePreferredCountryToStorage(String countryCode);
void updatePreferredLanguageToStorage(String languageString);
String getPreferredLocale();
String getPreferredCountryCode();
} }

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

@ -29,9 +29,9 @@ import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_COUNTRY_CODE;
import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_LANGUAGE;
import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_LOCALE;
//import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_COUNTRY_CODE;
//import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_LANGUAGE;
//import static com.gmeremit.online.gmeremittance_native.base.PrefKeys.USER_PREFERRED_LOCALE;
/** /**
* Created by FMI-LT-17 on 2/20/2018. * Created by FMI-LT-17 on 2/20/2018.
@ -124,11 +124,11 @@ public class SettingsView extends BaseActivity implements CompoundButton.OnCheck
} }
private void changeLocale(LanguageModel lang) { private void changeLocale(LanguageModel lang) {
SharedPreferences myPreferences = GmeApplication.getStorage();
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();
languageSelectionGatewayInterface.updatePreferredLocaleToStorage(lang.getLocaleCode());
languageSelectionGatewayInterface.updatePreferredCountryToStorage(lang.getCountryCode());
languageSelectionGatewayInterface.updatePreferredCountryToStorage(lang.getCountryName());
restartApp(); restartApp();
} }

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

@ -131,31 +131,6 @@ public class SplashScreenGateway extends PrivilegedGateway implements SplashScre
} }
@Override
public void updatePreferredLocaleToStorage(String localeCode) {
SharedPreferences myPreferences= GmeApplication.getStorage();
myPreferences.edit().putString(USER_PREFERRED_LOCALE,localeCode).apply();
}
@Override
public void updatePreferredCountryToStorage(String countryCode) {
SharedPreferences myPreferences= GmeApplication.getStorage();
myPreferences.edit().putString(USER_PREFERRED_COUNTRY_CODE,countryCode).apply();
}
@Override
public String getPreferredLocale() {
return GmeApplication.getStorage().getString(USER_PREFERRED_LOCALE,null);
}
@Override
public String getPreferredCountryCode() {
return GmeApplication.getStorage().getString(USER_PREFERRED_COUNTRY_CODE,"en");
}
@Override
public void updatePreferredLanguageToStorage(String languageString) {
SharedPreferences myPreferences= GmeApplication.getStorage();
myPreferences.edit().putString(USER_PREFERRED_LANGUAGE,languageString).apply();
}
} }

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

@ -18,15 +18,6 @@ public interface SplashScreenInteractorInterface extends BaseInteractorInterface
String checkSession(); String checkSession();
void updatePreferredLocaleToStorage(String localeCode);
void updatePreferredCountryToStorage(String countryCode);
String getPreferredLocale();
String getPreferredCountryCode();
void updatePreferredLanguageToStorage(String languageString);
/** /**
* Exrate Related * Exrate Related

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

@ -78,14 +78,14 @@ public class SplashScreenPresenter extends BasePresenter implements SplashScreen
@Override @Override
public void updatePreferredLanguage(LanguageModel selectedLanguage) { public void updatePreferredLanguage(LanguageModel selectedLanguage) {
this.splashGateway.updatePreferredLocaleToStorage(selectedLanguage.getLocaleCode());
this.splashGateway.updatePreferredLanguageToStorage(selectedLanguage.getCountryName());
this.splashGateway.updatePreferredCountryToStorage(selectedLanguage.getCountryCode());
this.languageGateway.updatePreferredLocaleToStorage(selectedLanguage.getLocaleCode());
this.languageGateway.updatePreferredLanguageToStorage(selectedLanguage.getCountryName());
this.languageGateway.updatePreferredCountryToStorage(selectedLanguage.getCountryCode());
} }
@Override @Override
public void checkCurrentSelectedLanguage() { public void checkCurrentSelectedLanguage() {
view.updateFlagImage(CountryFlagMapper.getFlagFromCountryCode(this.splashGateway.getPreferredCountryCode()));
view.updateFlagImage(CountryFlagMapper.getFlagFromCountryCode(this.languageGateway.getPreferredCountryCode()));
} }
@Override @Override

Loading…
Cancel
Save