Loading core/java/android/view/textclassifier/ModelFileManager.java +3 −0 Original line number Diff line number Diff line Loading @@ -251,6 +251,9 @@ public final class ModelFileManager { if (!mLanguageIndependent && model.mLanguageIndependent) { return true; } if (mLanguageIndependent && !model.mLanguageIndependent) { return false; } // A higher-version model is preferred. if (mVersion > model.getVersion()) { Loading core/tests/coretests/src/android/view/textclassifier/ModelFileManagerTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -202,6 +202,28 @@ public class ModelFileManagerTest { assertThat(bestModelFile).isEqualTo(matchButOlderModel); } @Test public void findBestModel_languageIsMoreImportantThanVersion_bestModelComesFirst() { ModelFileManager.ModelFile matchLocaleModel = new ModelFileManager.ModelFile( new File("/path/b"), 1, Collections.singletonList(Locale.forLanguageTag("ja")), false); ModelFileManager.ModelFile languageIndependentModel = new ModelFileManager.ModelFile( new File("/path/a"), 2, Collections.emptyList(), true); when(mModelFileSupplier.get()) .thenReturn( Arrays.asList(matchLocaleModel, languageIndependentModel)); ModelFileManager.ModelFile bestModelFile = mModelFileManager.findBestModelFile( LocaleList.forLanguageTags("ja")); assertThat(bestModelFile).isEqualTo(matchLocaleModel); } @Test public void modelFileEquals() { ModelFileManager.ModelFile modelA = Loading Loading
core/java/android/view/textclassifier/ModelFileManager.java +3 −0 Original line number Diff line number Diff line Loading @@ -251,6 +251,9 @@ public final class ModelFileManager { if (!mLanguageIndependent && model.mLanguageIndependent) { return true; } if (mLanguageIndependent && !model.mLanguageIndependent) { return false; } // A higher-version model is preferred. if (mVersion > model.getVersion()) { Loading
core/tests/coretests/src/android/view/textclassifier/ModelFileManagerTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -202,6 +202,28 @@ public class ModelFileManagerTest { assertThat(bestModelFile).isEqualTo(matchButOlderModel); } @Test public void findBestModel_languageIsMoreImportantThanVersion_bestModelComesFirst() { ModelFileManager.ModelFile matchLocaleModel = new ModelFileManager.ModelFile( new File("/path/b"), 1, Collections.singletonList(Locale.forLanguageTag("ja")), false); ModelFileManager.ModelFile languageIndependentModel = new ModelFileManager.ModelFile( new File("/path/a"), 2, Collections.emptyList(), true); when(mModelFileSupplier.get()) .thenReturn( Arrays.asList(matchLocaleModel, languageIndependentModel)); ModelFileManager.ModelFile bestModelFile = mModelFileManager.findBestModelFile( LocaleList.forLanguageTags("ja")); assertThat(bestModelFile).isEqualTo(matchLocaleModel); } @Test public void modelFileEquals() { ModelFileManager.ModelFile modelA = Loading