@@ -100,11 +100,13 @@ public void onCreate() {
100100 createNotificationChannel ();
101101 }
102102
103- public void initializeTranslator (NeuralNetworkApi . InitListener initListener ){
103+ public void initializeTranslator (Translator . GeneralListener initListener ){
104104 if (translator == null ) {
105- translator = new Translator (this , Translator .TRANSLATOR_MODE , initListener );
105+ SharedPreferences sharedPreferences = getSharedPreferences ("default" , Context .MODE_PRIVATE );
106+ int mode = sharedPreferences .getInt ("selectedTranslationModel" , Translator .MOZILLA );
107+ translator = new Translator (this , mode , initListener );
106108 }else {
107- initListener .onInitializationFinished ();
109+ initListener .onSuccess ();
108110 }
109111 }
110112
@@ -122,6 +124,13 @@ public void initializeBluetoothCommunicator(){
122124 }
123125 }
124126
127+ public void restartTranslator (Translator .GeneralListener listener ){
128+ getLanguages (false );
129+ SharedPreferences sharedPreferences = getSharedPreferences ("default" , Context .MODE_PRIVATE );
130+ int mode = sharedPreferences .getInt ("selectedTranslationModel" , Translator .MOZILLA );
131+ translator .restart (mode , listener );
132+ }
133+
125134 @ Nullable
126135 public ConversationBluetoothCommunicator getBluetoothCommunicator () {
127136 return bluetoothCommunicator ;
@@ -172,7 +181,14 @@ public ArrayList<CustomLocale> getTranslatorLanguages(final boolean recycleResul
172181 if (recycleResult && !translatorLanguages .isEmpty ()) {
173182 return translatorLanguages ;
174183 } else {
175- ArrayList <CustomLocale > languages = Translator .getSupportedLanguages (Global .this , Translator .TRANSLATOR_MODE );
184+ int mode ;
185+ if (translator != null ){
186+ mode = translator .getMode ();
187+ }else {
188+ SharedPreferences sharedPreferences = getSharedPreferences ("default" , Context .MODE_PRIVATE );
189+ mode = sharedPreferences .getInt ("selectedTranslationModel" , Translator .MOZILLA );
190+ }
191+ ArrayList <CustomLocale > languages = Translator .getSupportedLanguages (Global .this , mode );
176192 translatorLanguages = languages ;
177193 return languages ;
178194 }
@@ -411,8 +427,10 @@ public void setFirstLanguage(CustomLocale language, @Nullable Translator.General
411427 SharedPreferences .Editor editor = sharedPreferences .edit ();
412428 editor .putString ("firstLanguage" , language .getCode ());
413429 editor .apply ();
414- if (Translator . TRANSLATOR_MODE == Translator .MOZILLA ) {
430+ if (translator . getMode () == Translator .MOZILLA ) {
415431 translator .loadMozillaModels (language , getSecondLanguage (true ), RTranslatorMode .WALKIE_TALKIE_MODE , listener );
432+ }else {
433+ if (listener != null ) listener .onSuccess ();
416434 }
417435 }
418436
@@ -422,8 +440,10 @@ public void setSecondLanguage(CustomLocale language, @Nullable Translator.Genera
422440 SharedPreferences .Editor editor = sharedPreferences .edit ();
423441 editor .putString ("secondLanguage" , language .getCode ());
424442 editor .apply ();
425- if (Translator . TRANSLATOR_MODE == Translator .MOZILLA ) {
443+ if (translator . getMode () == Translator .MOZILLA ) {
426444 translator .loadMozillaModels (getFirstLanguage (true ), language , RTranslatorMode .WALKIE_TALKIE_MODE , listener );
445+ }else {
446+ if (listener != null ) listener .onSuccess ();
427447 }
428448 }
429449
@@ -433,8 +453,10 @@ public void setFirstTextLanguage(CustomLocale language, @Nullable Translator.Gen
433453 SharedPreferences .Editor editor = sharedPreferences .edit ();
434454 editor .putString ("firstTextLanguage" , language .getCode ());
435455 editor .apply ();
436- if (Translator . TRANSLATOR_MODE == Translator .MOZILLA ) {
456+ if (translator . getMode () == Translator .MOZILLA ) {
437457 translator .loadMozillaModels (language , getSecondTextLanguage (true ), RTranslatorMode .TEXT_TRANSLATION_MODE , listener );
458+ }else {
459+ if (listener != null ) listener .onSuccess ();
438460 }
439461 }
440462
@@ -445,8 +467,10 @@ public void setSecondTextLanguage(CustomLocale language, @Nullable Translator.Ge
445467 SharedPreferences .Editor editor = sharedPreferences .edit ();
446468 editor .putString ("secondTextLanguage" , language .getCode ());
447469 editor .apply ();
448- if (Translator . TRANSLATOR_MODE == Translator .MOZILLA ) {
470+ if (translator . getMode () == Translator .MOZILLA ) {
449471 translator .loadMozillaModels (getFirstTextLanguage (true ), language , RTranslatorMode .TEXT_TRANSLATION_MODE , listener );
472+ }else {
473+ if (listener != null ) listener .onSuccess ();
450474 }
451475 }
452476
@@ -455,7 +479,7 @@ public void switchTextLanguages(){
455479 CustomLocale secondLanguage = getSecondTextLanguage (true );
456480 this .firstTextLanguage = secondLanguage ;
457481 this .secondTextLanguage = firstLanguage ;
458- if (Translator . TRANSLATOR_MODE == Translator .MOZILLA ) translator .loadMozillaModels (secondLanguage , firstLanguage , RTranslatorMode .TEXT_TRANSLATION_MODE , null );
482+ if (translator . getMode () == Translator .MOZILLA ) translator .loadMozillaModels (secondLanguage , firstLanguage , RTranslatorMode .TEXT_TRANSLATION_MODE , null );
459483 SharedPreferences sharedPreferences = this .getSharedPreferences ("default" , Context .MODE_PRIVATE );
460484 SharedPreferences .Editor editor = sharedPreferences .edit ();
461485 editor .putString ("firstTextLanguage" , this .firstLanguage .getCode ());
0 commit comments