Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5ba7200 authored by Jayachandran C's avatar Jayachandran C
Browse files

Remove usage of hidden API Emoji.isRegionalIndicatorSymbol

This CL copies the logic in the local file

Bug: 140908357
Test: Build
Change-Id: I1044c456fdf6ad1646811c966e0cd38c67665ad9
parent 3c397a62
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.provider.Telephony;
import android.telephony.SmsMessage;
import android.text.Emoji;

import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;

@@ -404,9 +403,9 @@ public abstract class SmsMessageBase {
            if (!breakIterator.isBoundary(nextPos)) {
                int breakPos = breakIterator.preceding(nextPos);
                while (breakPos + 4 <= nextPos
                        && Emoji.isRegionalIndicatorSymbol(
                        && isRegionalIndicatorSymbol(
                            Character.codePointAt(msgBody, breakPos))
                        && Emoji.isRegionalIndicatorSymbol(
                        && isRegionalIndicatorSymbol(
                            Character.codePointAt(msgBody, breakPos + 2))) {
                    // skip forward over flags (pairs of Regional Indicator Symbol)
                    breakPos += 4;
@@ -422,6 +421,11 @@ public abstract class SmsMessageBase {
        return nextPos;
    }

    private static boolean isRegionalIndicatorSymbol(int codePoint) {
        /** Based on http://unicode.org/Public/emoji/3.0/emoji-sequences.txt */
        return 0x1F1E6 <= codePoint && codePoint <= 0x1F1FF;
    }

    /**
     * Calculate the TextEncodingDetails of a message encoded in Unicode.
     */