Snap for 4916303 from 4d84d423c6504a7ddd272a4d48dfbdfa2cc65032 to pi-qpr1-release

Change-Id: Ia19af716a1ac7a235d1571840b9e38903b0d335c
diff --git a/emoji-compat/createfont.py b/emoji-compat/createfont.py
index 7acd6e6..da1910c 100755
--- a/emoji-compat/createfont.py
+++ b/emoji-compat/createfont.py
@@ -58,11 +58,11 @@
 
 ########### UPDATE OR CHECK WHEN A NEW FONT IS BEING GENERATED ###########
 # Last Android SDK Version
-SDK_VERSION = 26
+SDK_VERSION = 28
 # metadata version that will be embedded into font. If there are updates to the font that would
 # cause data/emoji_metadata.txt to change, this integer number should be incremented. This number
 # defines in which EmojiCompat metadata version the emoji is added to the font.
-METADATA_VERSION = 2
+METADATA_VERSION = 3
 
 ####### main directories where output files are created #######
 SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
@@ -111,7 +111,9 @@
 # MetadataListReader.java in order to locate the metadata location.
 EMOJI_META_TAG_NAME = 'Emji'
 
+EMOJI_STR = 'EMOJI'
 EMOJI_PRESENTATION_STR = 'EMOJI_PRESENTATION'
+ACCEPTED_EMOJI_PROPERTIES = [EMOJI_PRESENTATION_STR, EMOJI_STR]
 STD_VARIANTS_EMOJI_STYLE = 'EMOJI STYLE'
 
 DEFAULT_EMOJI_ID = 0xF0001
@@ -177,6 +179,8 @@
     emoji_data_lines = read_emoji_lines(os.path.join(unicode_path, EMOJI_DATA_FILE))
     for line in emoji_data_lines:
         codepoints_range, emoji_property = codepoints_and_emoji_prop(line)
+        if not emoji_property in ACCEPTED_EMOJI_PROPERTIES:
+            continue
         is_emoji_style = emoji_property == EMOJI_PRESENTATION_STR
         if is_emoji_style:
             codepoints = [to_hex_str(x) for x in
@@ -288,7 +292,8 @@
 
 def codepoints_and_emoji_prop(line):
     """For a given emoji file line, return codepoints and emoji property in the line.
-    1F93C..1F93E ; [Emoji|Emoji_Presentation|Emoji_Modifier_Base] # [...]"""
+    1F93C..1F93E ; [Emoji|Emoji_Presentation|Emoji_Modifier_Base|Emoji_Component
+    |Extended_Pictographic] # [...]"""
     line = line.strip()
     if '#' in line:
         line = line[:line.index('#')]
@@ -304,11 +309,14 @@
     """Read unicode lines of unicode emoji file in which each line describes a set of codepoint
     intervals. Expands the interval on a line and inserts related EmojiDatas into emoji_data_map.
     A line format that is expected is as follows:
-    1F93C..1F93E ; [Emoji|Emoji_Presentation|Emoji_Modifier_Base] # [...]"""
+    1F93C..1F93E ; [Emoji|Emoji_Presentation|Emoji_Modifier_Base|Emoji_Component
+    |Extended_Pictographic] # [...]"""
     lines = read_emoji_lines(file_path)
 
     for line in lines:
         codepoints_range, emoji_property = codepoints_and_emoji_prop(line)
+        if not emoji_property in ACCEPTED_EMOJI_PROPERTIES:
+            continue
         is_emoji_style = emoji_property == EMOJI_PRESENTATION_STR
         codepoints = codepoints_for_emojirange(codepoints_range)
 
diff --git a/emoji-compat/data/emoji_metadata.txt b/emoji-compat/data/emoji_metadata.txt
index 47c02e4..048957f 100644
--- a/emoji-compat/data/emoji_metadata.txt
+++ b/emoji-compat/data/emoji_metadata.txt
@@ -2685,3 +2685,164 @@
 F0AB0 26 2 1F3CC 1F3FD

 F0AB1 26 2 1F3CC 1F3FE

 F0AB2 26 2 1F3CC 1F3FF

+F0AB3 28 3 1F9FA

+F0AB4 28 3 1F9EF

+F0AB5 28 3 1F970

+F0AB6 28 3 1F9FB

+F0AB7 28 3 1F976

+F0AB8 28 3 1F9FC

+F0AB9 28 3 1F9EA

+F0ABA 28 3 1F97E

+F0ABB 28 3 1F97F

+F0ABC 28 3 1F9E8

+F0ABD 28 3 1F9E7

+F0ABE 28 3 1F94D

+F0ABF 28 3 1F94E

+F0AC0 28 3 1F94F

+F0AC1 28 3 1F96C

+F0AC2 28 3 1F96D

+F0AC3 28 3 1F96E

+F0AC4 28 3 1F96F

+F0AC5 28 3 1F973

+F0AC6 28 3 1F974

+F0AC7 28 3 1F975

+F0AC8 28 3 1F97A

+F0AC9 28 3 1F97C

+F0ACA 28 3 1F97D

+F0ACB 28 3 1F99B

+F0ACC 28 3 1F99C

+F0ACD 28 3 1F99A

+F0ACE 28 3 1F99E

+F0ACF 28 3 1F99F

+F0AD0 28 3 1F9A0

+F0AD1 28 3 1F9A2

+F0AD2 28 3 1F99D

+F0AD3 28 3 1F9B0

+F0AD4 28 3 1F9B1

+F0AD5 28 3 1F9B2

+F0AD6 28 3 1F9B4

+F0AD7 28 3 1F9B5

+F0AD8 28 3 1F9B6

+F0AD9 28 3 1F9B7

+F0ADA 28 3 1F9B8

+F0ADB 28 3 1F9C1

+F0ADC 28 3 1F9A1

+F0ADD 28 3 1F6F9

+F0ADE 28 3 1F9F1

+F0ADF 28 3 1F9F2

+F0AE0 28 3 1F9F0

+F0AE1 28 3 1F9F3

+F0AE2 28 3 1F9B9

+F0AE3 28 3 1F9F4

+F0AE4 28 3 1F9FE

+F0AE5 28 3 1F9F5

+F0AE6 28 3 1F9C2

+F0AE7 28 3 1F9E9

+F0AE8 28 3 1F9ED

+F0AE9 28 3 1F9F7

+F0AEA 28 3 1F9B3

+F0AEB 28 3 1F9F8

+F0AEC 28 3 1F9EE

+F0AED 28 3 1F9FD

+F0AEE 28 3 1F9F6

+F0AEF 28 3 265F

+F0AF0 28 3 267E

+F0AF1 28 3 1F9EB

+F0AF2 28 3 1F9FF

+F0AF3 28 3 1F9F9

+F0AF4 28 3 1F998

+F0AF5 28 3 1F999

+F0AF6 28 3 1F9EC

+F0AF7 28 3 1F469 1F3FB 200D 1F9B0

+F0AF8 28 3 1F469 1F3FB 200D 1F9B1

+F0AF9 28 3 1F469 1F3FB 200D 1F9B2

+F0AFA 28 3 1F469 1F3FB 200D 1F9B3

+F0AFB 28 3 1F469 1F3FC 200D 1F9B0

+F0AFC 28 3 1F469 1F3FC 200D 1F9B1

+F0AFD 28 3 1F469 1F3FC 200D 1F9B2

+F0AFE 28 3 1F469 1F3FC 200D 1F9B3

+F0AFF 28 3 1F469 1F3FD 200D 1F9B0

+F0B00 28 3 1F469 1F3FD 200D 1F9B1

+F0B01 28 3 1F469 1F3FD 200D 1F9B2

+F0B02 28 3 1F469 1F3FD 200D 1F9B3

+F0B03 28 3 1F469 1F3FE 200D 1F9B0

+F0B04 28 3 1F469 1F3FE 200D 1F9B1

+F0B05 28 3 1F469 1F3FE 200D 1F9B2

+F0B06 28 3 1F469 1F3FE 200D 1F9B3

+F0B07 28 3 1F469 1F3FF 200D 1F9B0

+F0B08 28 3 1F469 1F3FF 200D 1F9B1

+F0B09 28 3 1F469 1F3FF 200D 1F9B2

+F0B0A 28 3 1F469 1F3FF 200D 1F9B3

+F0B0B 28 3 1F469 200D 1F9B0

+F0B0C 28 3 1F469 200D 1F9B1

+F0B0D 28 3 1F469 200D 1F9B2

+F0B0E 28 3 1F469 200D 1F9B3

+F0B0F 28 3 1F468 1F3FB 200D 1F9B0

+F0B10 28 3 1F468 1F3FB 200D 1F9B1

+F0B11 28 3 1F468 1F3FB 200D 1F9B2

+F0B12 28 3 1F468 1F3FB 200D 1F9B3

+F0B13 28 3 1F468 1F3FC 200D 1F9B0

+F0B14 28 3 1F468 1F3FC 200D 1F9B1

+F0B15 28 3 1F468 1F3FC 200D 1F9B2

+F0B16 28 3 1F468 1F3FC 200D 1F9B3

+F0B17 28 3 1F468 1F3FD 200D 1F9B0

+F0B18 28 3 1F468 1F3FD 200D 1F9B1

+F0B19 28 3 1F468 1F3FD 200D 1F9B2

+F0B1A 28 3 1F468 1F3FD 200D 1F9B3

+F0B1B 28 3 1F468 1F3FE 200D 1F9B0

+F0B1C 28 3 1F468 1F3FE 200D 1F9B1

+F0B1D 28 3 1F468 1F3FE 200D 1F9B2

+F0B1E 28 3 1F468 1F3FE 200D 1F9B3

+F0B1F 28 3 1F468 1F3FF 200D 1F9B0

+F0B20 28 3 1F468 1F3FF 200D 1F9B1

+F0B21 28 3 1F468 1F3FF 200D 1F9B2

+F0B22 28 3 1F468 1F3FF 200D 1F9B3

+F0B23 28 3 1F468 200D 1F9B0

+F0B24 28 3 1F468 200D 1F9B1

+F0B25 28 3 1F468 200D 1F9B2

+F0B26 28 3 1F468 200D 1F9B3

+F0B27 28 3 1F9B5 1F3FB

+F0B28 28 3 1F9B5 1F3FC

+F0B29 28 3 1F9B5 1F3FD

+F0B2A 28 3 1F9B5 1F3FE

+F0B2B 28 3 1F9B5 1F3FF

+F0B2C 28 3 1F3F4 200D 2620

+F0B2D 28 3 1F9B9 1F3FB 200D 2640

+F0B2E 28 3 1F9B9 1F3FB 200D 2642

+F0B2F 28 3 1F9B9 1F3FC 200D 2640

+F0B30 28 3 1F9B9 1F3FC 200D 2642

+F0B31 28 3 1F9B9 1F3FD 200D 2640

+F0B32 28 3 1F9B9 1F3FD 200D 2642

+F0B33 28 3 1F9B9 1F3FE 200D 2640

+F0B34 28 3 1F9B9 1F3FE 200D 2642

+F0B35 28 3 1F9B9 1F3FF 200D 2640

+F0B36 28 3 1F9B9 1F3FF 200D 2642

+F0B37 28 3 1F9B9 200D 2640

+F0B38 28 3 1F9B9 200D 2642

+F0B39 28 3 1F9B9 1F3FB

+F0B3A 28 3 1F9B9 1F3FC

+F0B3B 28 3 1F9B9 1F3FD

+F0B3C 28 3 1F9B9 1F3FE

+F0B3D 28 3 1F9B9 1F3FF

+F0B3E 28 3 1F9B8 1F3FB 200D 2640

+F0B3F 28 3 1F9B8 1F3FB 200D 2642

+F0B40 28 3 1F9B8 1F3FC 200D 2640

+F0B41 28 3 1F9B8 1F3FC 200D 2642

+F0B42 28 3 1F9B8 1F3FD 200D 2640

+F0B43 28 3 1F9B8 1F3FD 200D 2642

+F0B44 28 3 1F9B8 1F3FE 200D 2640

+F0B45 28 3 1F9B8 1F3FE 200D 2642

+F0B46 28 3 1F9B8 1F3FF 200D 2640

+F0B47 28 3 1F9B8 1F3FF 200D 2642

+F0B48 28 3 1F9B8 200D 2640

+F0B49 28 3 1F9B8 200D 2642

+F0B4A 28 3 1F9B8 1F3FB

+F0B4B 28 3 1F9B8 1F3FC

+F0B4C 28 3 1F9B8 1F3FD

+F0B4D 28 3 1F9B8 1F3FE

+F0B4E 28 3 1F9B8 1F3FF

+F0B4F 28 3 1F9B6 1F3FB

+F0B50 28 3 1F9B6 1F3FC

+F0B51 28 3 1F9B6 1F3FD

+F0B52 28 3 1F9B6 1F3FE

+F0B53 28 3 1F9B6 1F3FF

diff --git a/emoji-compat/font/NotoColorEmojiCompat.ttf b/emoji-compat/font/NotoColorEmojiCompat.ttf
index 9ac524d..b518b8b 100644
--- a/emoji-compat/font/NotoColorEmojiCompat.ttf
+++ b/emoji-compat/font/NotoColorEmojiCompat.ttf
Binary files differ
diff --git a/emoji-compat/supported-emojis/emojis.txt b/emoji-compat/supported-emojis/emojis.txt
index 19cba9f..0e2ddc2 100644
--- a/emoji-compat/supported-emojis/emojis.txt
+++ b/emoji-compat/supported-emojis/emojis.txt
@@ -671,6 +671,7 @@
 1F3F3 FE0F
 1F3F3 FE0F 200D 1F308
 1F3F4
+1F3F4 200D 2620 FE0F
 1F3F4 E0067 E0062 E0065 E006E E0067 E007F
 1F3F4 E0067 E0062 E0073 E0063 E0074 E007F
 1F3F4 E0067 E0062 E0077 E006C E0073 E007F
@@ -891,6 +892,10 @@
 1F468 1F3FB 200D 1F52C
 1F468 1F3FB 200D 1F680
 1F468 1F3FB 200D 1F692
+1F468 1F3FB 200D 1F9B0
+1F468 1F3FB 200D 1F9B1
+1F468 1F3FB 200D 1F9B2
+1F468 1F3FB 200D 1F9B3
 1F468 1F3FB 200D 2695 FE0F
 1F468 1F3FB 200D 2696 FE0F
 1F468 1F3FB 200D 2708 FE0F
@@ -908,6 +913,10 @@
 1F468 1F3FC 200D 1F52C
 1F468 1F3FC 200D 1F680
 1F468 1F3FC 200D 1F692
+1F468 1F3FC 200D 1F9B0
+1F468 1F3FC 200D 1F9B1
+1F468 1F3FC 200D 1F9B2
+1F468 1F3FC 200D 1F9B3
 1F468 1F3FC 200D 2695 FE0F
 1F468 1F3FC 200D 2696 FE0F
 1F468 1F3FC 200D 2708 FE0F
@@ -925,6 +934,10 @@
 1F468 1F3FD 200D 1F52C
 1F468 1F3FD 200D 1F680
 1F468 1F3FD 200D 1F692
+1F468 1F3FD 200D 1F9B0
+1F468 1F3FD 200D 1F9B1
+1F468 1F3FD 200D 1F9B2
+1F468 1F3FD 200D 1F9B3
 1F468 1F3FD 200D 2695 FE0F
 1F468 1F3FD 200D 2696 FE0F
 1F468 1F3FD 200D 2708 FE0F
@@ -942,6 +955,10 @@
 1F468 1F3FE 200D 1F52C
 1F468 1F3FE 200D 1F680
 1F468 1F3FE 200D 1F692
+1F468 1F3FE 200D 1F9B0
+1F468 1F3FE 200D 1F9B1
+1F468 1F3FE 200D 1F9B2
+1F468 1F3FE 200D 1F9B3
 1F468 1F3FE 200D 2695 FE0F
 1F468 1F3FE 200D 2696 FE0F
 1F468 1F3FE 200D 2708 FE0F
@@ -959,6 +976,10 @@
 1F468 1F3FF 200D 1F52C
 1F468 1F3FF 200D 1F680
 1F468 1F3FF 200D 1F692
+1F468 1F3FF 200D 1F9B0
+1F468 1F3FF 200D 1F9B1
+1F468 1F3FF 200D 1F9B2
+1F468 1F3FF 200D 1F9B3
 1F468 1F3FF 200D 2695 FE0F
 1F468 1F3FF 200D 2696 FE0F
 1F468 1F3FF 200D 2708 FE0F
@@ -990,6 +1011,10 @@
 1F468 200D 1F52C
 1F468 200D 1F680
 1F468 200D 1F692
+1F468 200D 1F9B0
+1F468 200D 1F9B1
+1F468 200D 1F9B2
+1F468 200D 1F9B3
 1F468 200D 2695 FE0F
 1F468 200D 2696 FE0F
 1F468 200D 2708 FE0F
@@ -1010,6 +1035,10 @@
 1F469 1F3FB 200D 1F52C
 1F469 1F3FB 200D 1F680
 1F469 1F3FB 200D 1F692
+1F469 1F3FB 200D 1F9B0
+1F469 1F3FB 200D 1F9B1
+1F469 1F3FB 200D 1F9B2
+1F469 1F3FB 200D 1F9B3
 1F469 1F3FB 200D 2695 FE0F
 1F469 1F3FB 200D 2696 FE0F
 1F469 1F3FB 200D 2708 FE0F
@@ -1027,6 +1056,10 @@
 1F469 1F3FC 200D 1F52C
 1F469 1F3FC 200D 1F680
 1F469 1F3FC 200D 1F692
+1F469 1F3FC 200D 1F9B0
+1F469 1F3FC 200D 1F9B1
+1F469 1F3FC 200D 1F9B2
+1F469 1F3FC 200D 1F9B3
 1F469 1F3FC 200D 2695 FE0F
 1F469 1F3FC 200D 2696 FE0F
 1F469 1F3FC 200D 2708 FE0F
@@ -1044,6 +1077,10 @@
 1F469 1F3FD 200D 1F52C
 1F469 1F3FD 200D 1F680
 1F469 1F3FD 200D 1F692
+1F469 1F3FD 200D 1F9B0
+1F469 1F3FD 200D 1F9B1
+1F469 1F3FD 200D 1F9B2
+1F469 1F3FD 200D 1F9B3
 1F469 1F3FD 200D 2695 FE0F
 1F469 1F3FD 200D 2696 FE0F
 1F469 1F3FD 200D 2708 FE0F
@@ -1061,6 +1098,10 @@
 1F469 1F3FE 200D 1F52C
 1F469 1F3FE 200D 1F680
 1F469 1F3FE 200D 1F692
+1F469 1F3FE 200D 1F9B0
+1F469 1F3FE 200D 1F9B1
+1F469 1F3FE 200D 1F9B2
+1F469 1F3FE 200D 1F9B3
 1F469 1F3FE 200D 2695 FE0F
 1F469 1F3FE 200D 2696 FE0F
 1F469 1F3FE 200D 2708 FE0F
@@ -1078,6 +1119,10 @@
 1F469 1F3FF 200D 1F52C
 1F469 1F3FF 200D 1F680
 1F469 1F3FF 200D 1F692
+1F469 1F3FF 200D 1F9B0
+1F469 1F3FF 200D 1F9B1
+1F469 1F3FF 200D 1F9B2
+1F469 1F3FF 200D 1F9B3
 1F469 1F3FF 200D 2695 FE0F
 1F469 1F3FF 200D 2696 FE0F
 1F469 1F3FF 200D 2708 FE0F
@@ -1104,6 +1149,10 @@
 1F469 200D 1F52C
 1F469 200D 1F680
 1F469 200D 1F692
+1F469 200D 1F9B0
+1F469 200D 1F9B1
+1F469 200D 1F9B2
+1F469 200D 1F9B3
 1F469 200D 2695 FE0F
 1F469 200D 2696 FE0F
 1F469 200D 2708 FE0F
@@ -2050,6 +2099,7 @@
 1F6F6
 1F6F7
 1F6F8
+1F6F9
 1F910
 1F911
 1F912
@@ -2302,6 +2352,9 @@
 1F94A
 1F94B
 1F94C
+1F94D
+1F94E
+1F94F
 1F950
 1F951
 1F952
@@ -2330,6 +2383,20 @@
 1F969
 1F96A
 1F96B
+1F96C
+1F96D
+1F96E
+1F96F
+1F970
+1F973
+1F974
+1F975
+1F976
+1F97A
+1F97C
+1F97D
+1F97E
+1F97F
 1F980
 1F981
 1F982
@@ -2354,7 +2421,74 @@
 1F995
 1F996
 1F997
+1F998
+1F999
+1F99A
+1F99B
+1F99C
+1F99D
+1F99E
+1F99F
+1F9A0
+1F9A1
+1F9A2
+1F9B0
+1F9B1
+1F9B2
+1F9B3
+1F9B4
+1F9B5
+1F9B5 1F3FB
+1F9B5 1F3FC
+1F9B5 1F3FD
+1F9B5 1F3FE
+1F9B5 1F3FF
+1F9B6
+1F9B6 1F3FB
+1F9B6 1F3FC
+1F9B6 1F3FD
+1F9B6 1F3FE
+1F9B6 1F3FF
+1F9B7
+1F9B8
+1F9B8 1F3FB
+1F9B8 1F3FB 200D 2640 FE0F
+1F9B8 1F3FB 200D 2642 FE0F
+1F9B8 1F3FC
+1F9B8 1F3FC 200D 2640 FE0F
+1F9B8 1F3FC 200D 2642 FE0F
+1F9B8 1F3FD
+1F9B8 1F3FD 200D 2640 FE0F
+1F9B8 1F3FD 200D 2642 FE0F
+1F9B8 1F3FE
+1F9B8 1F3FE 200D 2640 FE0F
+1F9B8 1F3FE 200D 2642 FE0F
+1F9B8 1F3FF
+1F9B8 1F3FF 200D 2640 FE0F
+1F9B8 1F3FF 200D 2642 FE0F
+1F9B8 200D 2640 FE0F
+1F9B8 200D 2642 FE0F
+1F9B9
+1F9B9 1F3FB
+1F9B9 1F3FB 200D 2640 FE0F
+1F9B9 1F3FB 200D 2642 FE0F
+1F9B9 1F3FC
+1F9B9 1F3FC 200D 2640 FE0F
+1F9B9 1F3FC 200D 2642 FE0F
+1F9B9 1F3FD
+1F9B9 1F3FD 200D 2640 FE0F
+1F9B9 1F3FD 200D 2642 FE0F
+1F9B9 1F3FE
+1F9B9 1F3FE 200D 2640 FE0F
+1F9B9 1F3FE 200D 2642 FE0F
+1F9B9 1F3FF
+1F9B9 1F3FF 200D 2640 FE0F
+1F9B9 1F3FF 200D 2642 FE0F
+1F9B9 200D 2640 FE0F
+1F9B9 200D 2642 FE0F
 1F9C0
+1F9C1
+1F9C2
 1F9D0
 1F9D1
 1F9D1 1F3FB
@@ -2543,6 +2677,31 @@
 1F9E4
 1F9E5
 1F9E6
+1F9E7
+1F9E8
+1F9E9
+1F9EA
+1F9EB
+1F9EC
+1F9ED
+1F9EE
+1F9EF
+1F9F0
+1F9F1
+1F9F2
+1F9F3
+1F9F4
+1F9F5
+1F9F6
+1F9F7
+1F9F8
+1F9F9
+1F9FA
+1F9FB
+1F9FC
+1F9FD
+1F9FE
+1F9FF
 203C FE0F
 2049 FE0F
 2122 FE0F
@@ -2650,6 +2809,7 @@
 2652 FE0F
 2653
 2653 FE0F
+265F FE0F
 2660
 2660 FE0F
 2663
@@ -2660,6 +2820,7 @@
 2666 FE0F
 2668 FE0F
 267B FE0F
+267E FE0F
 267F
 267F FE0F
 2692 FE0F
diff --git a/emoji/NotoColorEmoji.ttf b/emoji/NotoColorEmoji.ttf
index 6bc96eb..b7602e1 100644
--- a/emoji/NotoColorEmoji.ttf
+++ b/emoji/NotoColorEmoji.ttf
Binary files differ