4343import nie .translator .rtranslator .access .AccessActivity ;
4444import nie .translator .rtranslator .tools .CustomLocale ;
4545import nie .translator .rtranslator .tools .TTS ;
46+ import nie .translator .rtranslator .voice_translation ._conversation_mode ._conversation .ConversationService ;
4647import nie .translator .rtranslator .voice_translation ._conversation_mode .communication .ConversationBluetoothCommunicator ;
4748import nie .translator .rtranslator .bluetooth .BluetoothCommunicator ;
4849import nie .translator .rtranslator .bluetooth .Peer ;
@@ -85,6 +86,7 @@ public enum RTranslatorMode {
8586 private Handler mainHandler ;
8687 private static Handler mHandler = new Handler ();
8788 private final Object lock = new Object ();
89+ private boolean useTatoeba ;
8890
8991 @ Override
9092 public void onCreate () {
@@ -98,6 +100,8 @@ public void onCreate() {
98100 //initializeBluetoothCommunicator();
99101 getMicSensitivity ();
100102 createNotificationChannel ();
103+ SharedPreferences sharedPreferences = getSharedPreferences ("default" , Context .MODE_PRIVATE );
104+ useTatoeba = sharedPreferences .getBoolean ("useTatoeba" , false );
101105 }
102106
103107 public void initializeTranslator (Translator .GeneralListener initListener ){
@@ -430,6 +434,12 @@ public void setLanguage(CustomLocale language) {
430434 SharedPreferences .Editor editor = sharedPreferences .edit ();
431435 editor .putString ("language" , language .getCode ());
432436 editor .apply ();
437+ if (ConversationService .isRunning ){
438+ translator .loadTgtLangResourcesForConversation (language , null );
439+ if (getBluetoothCommunicator () != null ){
440+ getBluetoothCommunicator ().sendLanguage (language );
441+ }
442+ }
433443 }
434444
435445 public void setFirstLanguage (CustomLocale language , @ Nullable Translator .GeneralListener listener ) {
@@ -438,11 +448,7 @@ public void setFirstLanguage(CustomLocale language, @Nullable Translator.General
438448 SharedPreferences .Editor editor = sharedPreferences .edit ();
439449 editor .putString ("firstLanguage" , language .getCode ());
440450 editor .apply ();
441- if (translator .getMode () == Translator .MOZILLA ) {
442- translator .loadMozillaModels (language , getSecondLanguage (true ), RTranslatorMode .WALKIE_TALKIE_MODE , listener );
443- }else {
444- if (listener != null ) listener .onSuccess ();
445- }
451+ loadLanguagesResources (language , getSecondLanguage (true ), RTranslatorMode .WALKIE_TALKIE_MODE , listener );
446452 }
447453
448454 public void setSecondLanguage (CustomLocale language , @ Nullable Translator .GeneralListener listener ) {
@@ -451,11 +457,7 @@ public void setSecondLanguage(CustomLocale language, @Nullable Translator.Genera
451457 SharedPreferences .Editor editor = sharedPreferences .edit ();
452458 editor .putString ("secondLanguage" , language .getCode ());
453459 editor .apply ();
454- if (translator .getMode () == Translator .MOZILLA ) {
455- translator .loadMozillaModels (getFirstLanguage (true ), language , RTranslatorMode .WALKIE_TALKIE_MODE , listener );
456- }else {
457- if (listener != null ) listener .onSuccess ();
458- }
460+ loadLanguagesResources (getFirstLanguage (true ), language , RTranslatorMode .WALKIE_TALKIE_MODE , listener );
459461 }
460462
461463 public void setFirstTextLanguage (CustomLocale language , @ Nullable Translator .GeneralListener listener ) {
@@ -464,11 +466,7 @@ public void setFirstTextLanguage(CustomLocale language, @Nullable Translator.Gen
464466 SharedPreferences .Editor editor = sharedPreferences .edit ();
465467 editor .putString ("firstTextLanguage" , language .getCode ());
466468 editor .apply ();
467- if (translator .getMode () == Translator .MOZILLA ) {
468- translator .loadMozillaModels (language , getSecondTextLanguage (true ), RTranslatorMode .TEXT_TRANSLATION_MODE , listener );
469- }else {
470- if (listener != null ) listener .onSuccess ();
471- }
469+ loadLanguagesResources (language , getSecondTextLanguage (true ), RTranslatorMode .TEXT_TRANSLATION_MODE , listener );
472470 }
473471
474472 public void setSecondTextLanguage (CustomLocale language , @ Nullable Translator .GeneralListener listener ) {
@@ -478,24 +476,20 @@ public void setSecondTextLanguage(CustomLocale language, @Nullable Translator.Ge
478476 SharedPreferences .Editor editor = sharedPreferences .edit ();
479477 editor .putString ("secondTextLanguage" , language .getCode ());
480478 editor .apply ();
481- if (translator .getMode () == Translator .MOZILLA ) {
482- translator .loadMozillaModels (getFirstTextLanguage (true ), language , RTranslatorMode .TEXT_TRANSLATION_MODE , listener );
483- }else {
484- if (listener != null ) listener .onSuccess ();
485- }
479+ loadLanguagesResources (getFirstTextLanguage (true ), language , RTranslatorMode .TEXT_TRANSLATION_MODE , listener );
486480 }
487481
488- public void switchTextLanguages () {
482+ public void switchTextLanguages (@ Nullable Translator . GeneralListener listener ) {
489483 CustomLocale firstLanguage = getFirstTextLanguage (true );
490484 CustomLocale secondLanguage = getSecondTextLanguage (true );
491485 this .firstTextLanguage = secondLanguage ;
492486 this .secondTextLanguage = firstLanguage ;
493- if (translator .getMode () == Translator .MOZILLA ) translator .loadMozillaModels (secondLanguage , firstLanguage , RTranslatorMode .TEXT_TRANSLATION_MODE , null );
494487 SharedPreferences sharedPreferences = this .getSharedPreferences ("default" , Context .MODE_PRIVATE );
495488 SharedPreferences .Editor editor = sharedPreferences .edit ();
496489 editor .putString ("firstTextLanguage" , this .firstTextLanguage .getCode ());
497490 editor .putString ("secondTextLanguage" , this .secondTextLanguage .getCode ());
498491 editor .apply ();
492+ loadLanguagesResources (secondLanguage , firstLanguage , RTranslatorMode .TEXT_TRANSLATION_MODE , listener );
499493 }
500494
501495
@@ -579,6 +573,24 @@ public void setBeamSize(int value) {
579573 editor .apply ();
580574 }
581575
576+ public boolean isUseTatoeba (){
577+ return useTatoeba ;
578+ }
579+
580+ public void setUseTatoeba (boolean useTatoeba ) {
581+ this .useTatoeba = useTatoeba ;
582+ final SharedPreferences sharedPreferences = this .getSharedPreferences ("default" , Context .MODE_PRIVATE );
583+ SharedPreferences .Editor editor = sharedPreferences .edit ();
584+ editor .putBoolean ("useTatoeba" , useTatoeba );
585+ editor .apply ();
586+ // loading of tatoeba
587+ if (useTatoeba ) {
588+ translator .loadAllTatoebaResources (null );
589+ }else {
590+ translator .unloadAllTatoebaResources ();
591+ }
592+ }
593+
582594 public String getName () {
583595 if (name .length () == 0 ) {
584596 final SharedPreferences sharedPreferences = this .getSharedPreferences ("default" , Context .MODE_PRIVATE );
@@ -594,7 +606,7 @@ public void setName(String savedName) {
594606 editor .putString ("name" , savedName );
595607 editor .apply ();
596608 if (getBluetoothCommunicator () != null ) {
597- getBluetoothCommunicator ().setName (savedName ); //si aggiorna il nome anche per il comunicator
609+ getBluetoothCommunicator ().setName (savedName ); //we update the name also for communicator
598610 }
599611 }
600612
@@ -718,5 +730,9 @@ public boolean isNetworkOnWifi() {
718730 return false ; // user turned off wifi
719731 }
720732 }
733+
734+ private void loadLanguagesResources (CustomLocale firstLanguage , CustomLocale secondLanguage , RTranslatorMode mode , Translator .GeneralListener listener ){
735+ translator .loadLanguageResources (firstLanguage , secondLanguage , mode , listener );
736+ }
721737}
722738
0 commit comments