diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-10-19 11:50:59 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-10-19 11:50:59 +0300 |
commit | 4b17e5e573463af59e68092edb66042bd592bc20 (patch) | |
tree | 4ba74b4b8408f9bc1c782bd70d84616c8358f655 /app/src/main/java/it/niedermann/owncloud/notes/shared | |
parent | bdc4f3c30384f5d54ad71ad6d273784a7ca90a1d (diff) |
Also use english category names for category icon replacements
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/shared')
-rw-r--r-- | app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java index 98bda454..abba8e00 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java @@ -5,6 +5,8 @@ import static java.util.Collections.singletonList; import android.annotation.SuppressLint; import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; import android.graphics.Rect; import android.os.Build; import android.util.TypedValue; @@ -13,12 +15,13 @@ import android.view.WindowInsets; import androidx.annotation.NonNull; import androidx.core.view.ViewCompat; -import androidx.core.view.WindowInsetsCompat; import java.util.Collection; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.stream.Collectors; +import java.util.stream.Stream; import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.main.navigation.NavigationAdapter; @@ -50,13 +53,15 @@ public class DisplayUtils { public static NavigationItem.CategoryNavigationItem convertToCategoryNavigationItem(@NonNull Context context, @NonNull CategoryWithNotesCount counter) { final var res = context.getResources(); + final var englishRes = getEnglishResources(context); final String category = counter.getCategory().replaceAll("\\s+", ""); int icon = NavigationAdapter.ICON_FOLDER; for (Map.Entry<Integer, Collection<Integer>> replacement : SPECIAL_CATEGORY_REPLACEMENTS.entrySet()) { - if (replacement.getValue().stream() - .map(res::getString) - .map(str -> str.replaceAll("\\s+", "")) + if (Stream.concat( + replacement.getValue().stream().map(res::getString), + replacement.getValue().stream().map(englishRes::getString) + ).map(str -> str.replaceAll("\\s+", "")) .anyMatch(r -> r.equalsIgnoreCase(category))) { icon = replacement.getKey(); break; @@ -65,6 +70,13 @@ public class DisplayUtils { return new NavigationItem.CategoryNavigationItem("category:" + counter.getCategory(), counter.getCategory(), counter.getTotalNotes(), icon, counter.getAccountId(), counter.getCategory()); } + @NonNull + private static Resources getEnglishResources(@NonNull Context context) { + final var config = new Configuration(context.getResources().getConfiguration()); + config.setLocale(new Locale("en")); + return context.createConfigurationContext(config).getResources(); + } + /** * Detect if the soft keyboard is open. * On API prior to 30 we fall back to workaround which might be less reliable |