From 26b51fa10595a0b9f7f2fe86913faa59ddcafff1 Mon Sep 17 00:00:00 2001 From: "pdroidandroid@gmail.com" Date: Wed, 9 Dec 2020 21:01:02 +0100 Subject: [PATCH] Fixed 'min sdk' emoji attribute check for 'more keys' emojis --- .../keyboard/internal/MoreCodesArrayParser.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/MoreCodesArrayParser.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/MoreCodesArrayParser.java index 155991a40..126ea873e 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/MoreCodesArrayParser.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/internal/MoreCodesArrayParser.java @@ -16,6 +16,8 @@ package org.dslul.openboard.inputmethod.keyboard.internal; +import android.os.Build; +import android.text.TextUtils; import org.dslul.openboard.inputmethod.latin.common.StringUtils; import javax.annotation.Nullable; @@ -39,12 +41,16 @@ public final class MoreCodesArrayParser { } public static String parseKeySpecs(@Nullable String codeArraySpecs) { - if (codeArraySpecs == null) { + if (codeArraySpecs == null || TextUtils.isEmpty(codeArraySpecs)) { return null; } final StringBuilder sb = new StringBuilder(); for (final String codeArraySpec : codeArraySpecs.split(SEMICOLON_REGEX)) { + final int supportedMinSdkVersion = CodesArrayParser.getMinSupportSdkVersion(codeArraySpec); + if (Build.VERSION.SDK_INT < supportedMinSdkVersion) { + continue; + } final String label = CodesArrayParser.parseLabel(codeArraySpec); final String outputText = CodesArrayParser.parseOutputText(codeArraySpec); @@ -55,6 +61,6 @@ public final class MoreCodesArrayParser { // Remove last comma if (sb.length() > 0) sb.deleteCharAt(sb.length() - 1); - return sb.toString(); + return sb.length() > 0 ? sb.toString() : null; } }