Update Emoji to beta01
Bug: 148299613
Test: ./gradlew checkApi verifyDependencyVersions
Change-Id: I72ccfb06016e1c805f8392a740d8c41fdd3049f0
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index 3486110..3175ea0 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -56,7 +56,7 @@
val DRAWERLAYOUT = Version("1.1.0-alpha05")
val DYNAMICANIMATION = Version("1.1.0-alpha04")
val DYNAMICANIMATION_KTX = Version("1.0.0-alpha04")
- val EMOJI = Version("1.1.0-alpha02")
+ val EMOJI = Version("1.1.0-beta01")
val ENTERPRISE = Version("1.1.0-alpha01")
val EXIFINTERFACE = Version("1.3.0-alpha02")
val FRAGMENT = Version("1.3.0-alpha02")
diff --git a/emoji/appcompat/api/1.1.0-beta01.txt b/emoji/appcompat/api/1.1.0-beta01.txt
new file mode 100644
index 0000000..a164fb7
--- /dev/null
+++ b/emoji/appcompat/api/1.1.0-beta01.txt
@@ -0,0 +1,25 @@
+// Signature format: 3.0
+package androidx.emoji.widget {
+
+ public class EmojiAppCompatButton extends androidx.appcompat.widget.AppCompatButton {
+ ctor public EmojiAppCompatButton(android.content.Context!);
+ ctor public EmojiAppCompatButton(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatButton(android.content.Context!, android.util.AttributeSet!, int);
+ }
+
+ public class EmojiAppCompatEditText extends androidx.appcompat.widget.AppCompatEditText {
+ ctor public EmojiAppCompatEditText(android.content.Context!);
+ ctor public EmojiAppCompatEditText(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatEditText(android.content.Context!, android.util.AttributeSet!, int);
+ method public int getMaxEmojiCount();
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public class EmojiAppCompatTextView extends androidx.appcompat.widget.AppCompatTextView {
+ ctor public EmojiAppCompatTextView(android.content.Context!);
+ ctor public EmojiAppCompatTextView(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatTextView(android.content.Context!, android.util.AttributeSet!, int);
+ }
+
+}
+
diff --git a/emoji/appcompat/api/public_plus_experimental_1.1.0-beta01.txt b/emoji/appcompat/api/public_plus_experimental_1.1.0-beta01.txt
new file mode 100644
index 0000000..a164fb7
--- /dev/null
+++ b/emoji/appcompat/api/public_plus_experimental_1.1.0-beta01.txt
@@ -0,0 +1,25 @@
+// Signature format: 3.0
+package androidx.emoji.widget {
+
+ public class EmojiAppCompatButton extends androidx.appcompat.widget.AppCompatButton {
+ ctor public EmojiAppCompatButton(android.content.Context!);
+ ctor public EmojiAppCompatButton(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatButton(android.content.Context!, android.util.AttributeSet!, int);
+ }
+
+ public class EmojiAppCompatEditText extends androidx.appcompat.widget.AppCompatEditText {
+ ctor public EmojiAppCompatEditText(android.content.Context!);
+ ctor public EmojiAppCompatEditText(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatEditText(android.content.Context!, android.util.AttributeSet!, int);
+ method public int getMaxEmojiCount();
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public class EmojiAppCompatTextView extends androidx.appcompat.widget.AppCompatTextView {
+ ctor public EmojiAppCompatTextView(android.content.Context!);
+ ctor public EmojiAppCompatTextView(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatTextView(android.content.Context!, android.util.AttributeSet!, int);
+ }
+
+}
+
diff --git a/emoji/appcompat/api/res-1.1.0-beta01.txt b/emoji/appcompat/api/res-1.1.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/emoji/appcompat/api/res-1.1.0-beta01.txt
diff --git a/emoji/appcompat/api/restricted_1.1.0-beta01.txt b/emoji/appcompat/api/restricted_1.1.0-beta01.txt
new file mode 100644
index 0000000..a164fb7
--- /dev/null
+++ b/emoji/appcompat/api/restricted_1.1.0-beta01.txt
@@ -0,0 +1,25 @@
+// Signature format: 3.0
+package androidx.emoji.widget {
+
+ public class EmojiAppCompatButton extends androidx.appcompat.widget.AppCompatButton {
+ ctor public EmojiAppCompatButton(android.content.Context!);
+ ctor public EmojiAppCompatButton(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatButton(android.content.Context!, android.util.AttributeSet!, int);
+ }
+
+ public class EmojiAppCompatEditText extends androidx.appcompat.widget.AppCompatEditText {
+ ctor public EmojiAppCompatEditText(android.content.Context!);
+ ctor public EmojiAppCompatEditText(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatEditText(android.content.Context!, android.util.AttributeSet!, int);
+ method public int getMaxEmojiCount();
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public class EmojiAppCompatTextView extends androidx.appcompat.widget.AppCompatTextView {
+ ctor public EmojiAppCompatTextView(android.content.Context!);
+ ctor public EmojiAppCompatTextView(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiAppCompatTextView(android.content.Context!, android.util.AttributeSet!, int);
+ }
+
+}
+
diff --git a/emoji/bundled/api/1.1.0-beta01.txt b/emoji/bundled/api/1.1.0-beta01.txt
new file mode 100644
index 0000000..7fe3afc
--- /dev/null
+++ b/emoji/bundled/api/1.1.0-beta01.txt
@@ -0,0 +1,9 @@
+// Signature format: 3.0
+package androidx.emoji.bundled {
+
+ public class BundledEmojiCompatConfig extends androidx.emoji.text.EmojiCompat.Config {
+ ctor public BundledEmojiCompatConfig(android.content.Context);
+ }
+
+}
+
diff --git a/emoji/bundled/api/public_plus_experimental_1.1.0-beta01.txt b/emoji/bundled/api/public_plus_experimental_1.1.0-beta01.txt
new file mode 100644
index 0000000..7fe3afc
--- /dev/null
+++ b/emoji/bundled/api/public_plus_experimental_1.1.0-beta01.txt
@@ -0,0 +1,9 @@
+// Signature format: 3.0
+package androidx.emoji.bundled {
+
+ public class BundledEmojiCompatConfig extends androidx.emoji.text.EmojiCompat.Config {
+ ctor public BundledEmojiCompatConfig(android.content.Context);
+ }
+
+}
+
diff --git a/emoji/bundled/api/res-1.1.0-beta01.txt b/emoji/bundled/api/res-1.1.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/emoji/bundled/api/res-1.1.0-beta01.txt
diff --git a/emoji/bundled/api/restricted_1.1.0-beta01.txt b/emoji/bundled/api/restricted_1.1.0-beta01.txt
new file mode 100644
index 0000000..7fe3afc
--- /dev/null
+++ b/emoji/bundled/api/restricted_1.1.0-beta01.txt
@@ -0,0 +1,9 @@
+// Signature format: 3.0
+package androidx.emoji.bundled {
+
+ public class BundledEmojiCompatConfig extends androidx.emoji.text.EmojiCompat.Config {
+ ctor public BundledEmojiCompatConfig(android.content.Context);
+ }
+
+}
+
diff --git a/emoji/core/api/1.1.0-beta01.txt b/emoji/core/api/1.1.0-beta01.txt
new file mode 100644
index 0000000..f25122c
--- /dev/null
+++ b/emoji/core/api/1.1.0-beta01.txt
@@ -0,0 +1,142 @@
+// Signature format: 3.0
+package androidx.emoji.text {
+
+ @AnyThread public class EmojiCompat {
+ method public static androidx.emoji.text.EmojiCompat! get();
+ method public String getAssetSignature();
+ method public int getLoadState();
+ method public static boolean handleDeleteSurroundingText(android.view.inputmethod.InputConnection, android.text.Editable, @IntRange(from=0) int, @IntRange(from=0) int, boolean);
+ method public static boolean handleOnKeyDown(android.text.Editable, int, android.view.KeyEvent!);
+ method public boolean hasEmojiGlyph(CharSequence);
+ method public boolean hasEmojiGlyph(CharSequence, @IntRange(from=0) int);
+ method public static androidx.emoji.text.EmojiCompat! init(androidx.emoji.text.EmojiCompat.Config);
+ method public void load();
+ method @CheckResult public CharSequence! process(CharSequence);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, int);
+ method public void registerInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ method public void unregisterInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ field public static final String EDITOR_INFO_METAVERSION_KEY = "android.support.text.emoji.emojiCompat_metadataVersion";
+ field public static final String EDITOR_INFO_REPLACE_ALL_KEY = "android.support.text.emoji.emojiCompat_replaceAll";
+ field public static final int LOAD_STATE_DEFAULT = 3; // 0x3
+ field public static final int LOAD_STATE_FAILED = 2; // 0x2
+ field public static final int LOAD_STATE_LOADING = 0; // 0x0
+ field public static final int LOAD_STATE_SUCCEEDED = 1; // 0x1
+ field public static final int LOAD_STRATEGY_DEFAULT = 0; // 0x0
+ field public static final int LOAD_STRATEGY_MANUAL = 1; // 0x1
+ field public static final int REPLACE_STRATEGY_ALL = 1; // 0x1
+ field public static final int REPLACE_STRATEGY_DEFAULT = 0; // 0x0
+ field public static final int REPLACE_STRATEGY_NON_EXISTENT = 2; // 0x2
+ }
+
+ public abstract static class EmojiCompat.Config {
+ ctor protected EmojiCompat.Config(androidx.emoji.text.EmojiCompat.MetadataRepoLoader);
+ method protected final androidx.emoji.text.EmojiCompat.MetadataRepoLoader! getMetadataRepoLoader();
+ method public androidx.emoji.text.EmojiCompat.Config! registerInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ method public androidx.emoji.text.EmojiCompat.Config! setEmojiSpanIndicatorColor(@ColorInt int);
+ method public androidx.emoji.text.EmojiCompat.Config! setEmojiSpanIndicatorEnabled(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setMetadataLoadStrategy(int);
+ method public androidx.emoji.text.EmojiCompat.Config! setReplaceAll(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setUseEmojiAsDefaultStyle(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setUseEmojiAsDefaultStyle(boolean, java.util.List<java.lang.Integer!>?);
+ method public androidx.emoji.text.EmojiCompat.Config! unregisterInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ }
+
+ public abstract static class EmojiCompat.InitCallback {
+ ctor public EmojiCompat.InitCallback();
+ method public void onFailed(Throwable?);
+ method public void onInitialized();
+ }
+
+ public static interface EmojiCompat.MetadataRepoLoader {
+ method public void load(androidx.emoji.text.EmojiCompat.MetadataRepoLoaderCallback);
+ }
+
+ public abstract static class EmojiCompat.MetadataRepoLoaderCallback {
+ ctor public EmojiCompat.MetadataRepoLoaderCallback();
+ method public abstract void onFailed(Throwable?);
+ method public abstract void onLoaded(androidx.emoji.text.MetadataRepo);
+ }
+
+ @RequiresApi(19) public abstract class EmojiSpan extends android.text.style.ReplacementSpan {
+ method public int getSize(android.graphics.Paint, CharSequence!, int, int, android.graphics.Paint.FontMetricsInt!);
+ }
+
+ public class FontRequestEmojiCompatConfig extends androidx.emoji.text.EmojiCompat.Config {
+ ctor public FontRequestEmojiCompatConfig(android.content.Context, androidx.core.provider.FontRequest);
+ method public androidx.emoji.text.FontRequestEmojiCompatConfig! setHandler(android.os.Handler!);
+ method public androidx.emoji.text.FontRequestEmojiCompatConfig! setRetryPolicy(androidx.emoji.text.FontRequestEmojiCompatConfig.RetryPolicy!);
+ }
+
+ public static class FontRequestEmojiCompatConfig.ExponentialBackoffRetryPolicy extends androidx.emoji.text.FontRequestEmojiCompatConfig.RetryPolicy {
+ ctor public FontRequestEmojiCompatConfig.ExponentialBackoffRetryPolicy(long);
+ method public long getRetryDelay();
+ }
+
+ public abstract static class FontRequestEmojiCompatConfig.RetryPolicy {
+ ctor public FontRequestEmojiCompatConfig.RetryPolicy();
+ method public abstract long getRetryDelay();
+ }
+
+ @AnyThread @RequiresApi(19) public final class MetadataRepo {
+ method public static androidx.emoji.text.MetadataRepo! create(android.graphics.Typeface, java.io.InputStream) throws java.io.IOException;
+ method public static androidx.emoji.text.MetadataRepo! create(android.graphics.Typeface, java.nio.ByteBuffer) throws java.io.IOException;
+ method public static androidx.emoji.text.MetadataRepo! create(android.content.res.AssetManager, String!) throws java.io.IOException;
+ }
+
+}
+
+package androidx.emoji.widget {
+
+ public class EmojiButton extends android.widget.Button {
+ ctor public EmojiButton(android.content.Context!);
+ ctor public EmojiButton(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiButton(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiButton(android.content.Context!, android.util.AttributeSet!, int, int);
+ }
+
+ public class EmojiEditText extends android.widget.EditText {
+ ctor public EmojiEditText(android.content.Context!);
+ ctor public EmojiEditText(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiEditText(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiEditText(android.content.Context!, android.util.AttributeSet!, int, int);
+ method public int getMaxEmojiCount();
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public final class EmojiEditTextHelper {
+ ctor public EmojiEditTextHelper(android.widget.EditText);
+ method public android.text.method.KeyListener getKeyListener(android.text.method.KeyListener);
+ method public int getMaxEmojiCount();
+ method public android.view.inputmethod.InputConnection? onCreateInputConnection(android.view.inputmethod.InputConnection?, android.view.inputmethod.EditorInfo);
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public class EmojiExtractTextLayout extends android.widget.LinearLayout {
+ ctor public EmojiExtractTextLayout(android.content.Context!);
+ ctor public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet?);
+ ctor public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet?, int);
+ ctor @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet!, int, int);
+ method public int getEmojiReplaceStrategy();
+ method public void onUpdateExtractingViews(android.inputmethodservice.InputMethodService!, android.view.inputmethod.EditorInfo!);
+ method public void setEmojiReplaceStrategy(int);
+ }
+
+ public class EmojiTextView extends android.widget.TextView {
+ ctor public EmojiTextView(android.content.Context!);
+ ctor public EmojiTextView(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiTextView(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiTextView(android.content.Context!, android.util.AttributeSet!, int, int);
+ }
+
+ public final class EmojiTextViewHelper {
+ ctor public EmojiTextViewHelper(android.widget.TextView);
+ method public android.text.InputFilter![] getFilters(android.text.InputFilter![]);
+ method public void setAllCaps(boolean);
+ method public void updateTransformationMethod();
+ method public android.text.method.TransformationMethod? wrapTransformationMethod(android.text.method.TransformationMethod?);
+ }
+
+}
+
diff --git a/emoji/core/api/public_plus_experimental_1.1.0-beta01.txt b/emoji/core/api/public_plus_experimental_1.1.0-beta01.txt
new file mode 100644
index 0000000..f25122c
--- /dev/null
+++ b/emoji/core/api/public_plus_experimental_1.1.0-beta01.txt
@@ -0,0 +1,142 @@
+// Signature format: 3.0
+package androidx.emoji.text {
+
+ @AnyThread public class EmojiCompat {
+ method public static androidx.emoji.text.EmojiCompat! get();
+ method public String getAssetSignature();
+ method public int getLoadState();
+ method public static boolean handleDeleteSurroundingText(android.view.inputmethod.InputConnection, android.text.Editable, @IntRange(from=0) int, @IntRange(from=0) int, boolean);
+ method public static boolean handleOnKeyDown(android.text.Editable, int, android.view.KeyEvent!);
+ method public boolean hasEmojiGlyph(CharSequence);
+ method public boolean hasEmojiGlyph(CharSequence, @IntRange(from=0) int);
+ method public static androidx.emoji.text.EmojiCompat! init(androidx.emoji.text.EmojiCompat.Config);
+ method public void load();
+ method @CheckResult public CharSequence! process(CharSequence);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, int);
+ method public void registerInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ method public void unregisterInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ field public static final String EDITOR_INFO_METAVERSION_KEY = "android.support.text.emoji.emojiCompat_metadataVersion";
+ field public static final String EDITOR_INFO_REPLACE_ALL_KEY = "android.support.text.emoji.emojiCompat_replaceAll";
+ field public static final int LOAD_STATE_DEFAULT = 3; // 0x3
+ field public static final int LOAD_STATE_FAILED = 2; // 0x2
+ field public static final int LOAD_STATE_LOADING = 0; // 0x0
+ field public static final int LOAD_STATE_SUCCEEDED = 1; // 0x1
+ field public static final int LOAD_STRATEGY_DEFAULT = 0; // 0x0
+ field public static final int LOAD_STRATEGY_MANUAL = 1; // 0x1
+ field public static final int REPLACE_STRATEGY_ALL = 1; // 0x1
+ field public static final int REPLACE_STRATEGY_DEFAULT = 0; // 0x0
+ field public static final int REPLACE_STRATEGY_NON_EXISTENT = 2; // 0x2
+ }
+
+ public abstract static class EmojiCompat.Config {
+ ctor protected EmojiCompat.Config(androidx.emoji.text.EmojiCompat.MetadataRepoLoader);
+ method protected final androidx.emoji.text.EmojiCompat.MetadataRepoLoader! getMetadataRepoLoader();
+ method public androidx.emoji.text.EmojiCompat.Config! registerInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ method public androidx.emoji.text.EmojiCompat.Config! setEmojiSpanIndicatorColor(@ColorInt int);
+ method public androidx.emoji.text.EmojiCompat.Config! setEmojiSpanIndicatorEnabled(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setMetadataLoadStrategy(int);
+ method public androidx.emoji.text.EmojiCompat.Config! setReplaceAll(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setUseEmojiAsDefaultStyle(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setUseEmojiAsDefaultStyle(boolean, java.util.List<java.lang.Integer!>?);
+ method public androidx.emoji.text.EmojiCompat.Config! unregisterInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ }
+
+ public abstract static class EmojiCompat.InitCallback {
+ ctor public EmojiCompat.InitCallback();
+ method public void onFailed(Throwable?);
+ method public void onInitialized();
+ }
+
+ public static interface EmojiCompat.MetadataRepoLoader {
+ method public void load(androidx.emoji.text.EmojiCompat.MetadataRepoLoaderCallback);
+ }
+
+ public abstract static class EmojiCompat.MetadataRepoLoaderCallback {
+ ctor public EmojiCompat.MetadataRepoLoaderCallback();
+ method public abstract void onFailed(Throwable?);
+ method public abstract void onLoaded(androidx.emoji.text.MetadataRepo);
+ }
+
+ @RequiresApi(19) public abstract class EmojiSpan extends android.text.style.ReplacementSpan {
+ method public int getSize(android.graphics.Paint, CharSequence!, int, int, android.graphics.Paint.FontMetricsInt!);
+ }
+
+ public class FontRequestEmojiCompatConfig extends androidx.emoji.text.EmojiCompat.Config {
+ ctor public FontRequestEmojiCompatConfig(android.content.Context, androidx.core.provider.FontRequest);
+ method public androidx.emoji.text.FontRequestEmojiCompatConfig! setHandler(android.os.Handler!);
+ method public androidx.emoji.text.FontRequestEmojiCompatConfig! setRetryPolicy(androidx.emoji.text.FontRequestEmojiCompatConfig.RetryPolicy!);
+ }
+
+ public static class FontRequestEmojiCompatConfig.ExponentialBackoffRetryPolicy extends androidx.emoji.text.FontRequestEmojiCompatConfig.RetryPolicy {
+ ctor public FontRequestEmojiCompatConfig.ExponentialBackoffRetryPolicy(long);
+ method public long getRetryDelay();
+ }
+
+ public abstract static class FontRequestEmojiCompatConfig.RetryPolicy {
+ ctor public FontRequestEmojiCompatConfig.RetryPolicy();
+ method public abstract long getRetryDelay();
+ }
+
+ @AnyThread @RequiresApi(19) public final class MetadataRepo {
+ method public static androidx.emoji.text.MetadataRepo! create(android.graphics.Typeface, java.io.InputStream) throws java.io.IOException;
+ method public static androidx.emoji.text.MetadataRepo! create(android.graphics.Typeface, java.nio.ByteBuffer) throws java.io.IOException;
+ method public static androidx.emoji.text.MetadataRepo! create(android.content.res.AssetManager, String!) throws java.io.IOException;
+ }
+
+}
+
+package androidx.emoji.widget {
+
+ public class EmojiButton extends android.widget.Button {
+ ctor public EmojiButton(android.content.Context!);
+ ctor public EmojiButton(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiButton(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiButton(android.content.Context!, android.util.AttributeSet!, int, int);
+ }
+
+ public class EmojiEditText extends android.widget.EditText {
+ ctor public EmojiEditText(android.content.Context!);
+ ctor public EmojiEditText(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiEditText(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiEditText(android.content.Context!, android.util.AttributeSet!, int, int);
+ method public int getMaxEmojiCount();
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public final class EmojiEditTextHelper {
+ ctor public EmojiEditTextHelper(android.widget.EditText);
+ method public android.text.method.KeyListener getKeyListener(android.text.method.KeyListener);
+ method public int getMaxEmojiCount();
+ method public android.view.inputmethod.InputConnection? onCreateInputConnection(android.view.inputmethod.InputConnection?, android.view.inputmethod.EditorInfo);
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public class EmojiExtractTextLayout extends android.widget.LinearLayout {
+ ctor public EmojiExtractTextLayout(android.content.Context!);
+ ctor public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet?);
+ ctor public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet?, int);
+ ctor @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet!, int, int);
+ method public int getEmojiReplaceStrategy();
+ method public void onUpdateExtractingViews(android.inputmethodservice.InputMethodService!, android.view.inputmethod.EditorInfo!);
+ method public void setEmojiReplaceStrategy(int);
+ }
+
+ public class EmojiTextView extends android.widget.TextView {
+ ctor public EmojiTextView(android.content.Context!);
+ ctor public EmojiTextView(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiTextView(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiTextView(android.content.Context!, android.util.AttributeSet!, int, int);
+ }
+
+ public final class EmojiTextViewHelper {
+ ctor public EmojiTextViewHelper(android.widget.TextView);
+ method public android.text.InputFilter![] getFilters(android.text.InputFilter![]);
+ method public void setAllCaps(boolean);
+ method public void updateTransformationMethod();
+ method public android.text.method.TransformationMethod? wrapTransformationMethod(android.text.method.TransformationMethod?);
+ }
+
+}
+
diff --git a/emoji/core/api/res-1.1.0-beta01.txt b/emoji/core/api/res-1.1.0-beta01.txt
new file mode 100644
index 0000000..8bc8423
--- /dev/null
+++ b/emoji/core/api/res-1.1.0-beta01.txt
@@ -0,0 +1,2 @@
+attr emojiReplaceStrategy
+attr maxEmojiCount
diff --git a/emoji/core/api/restricted_1.1.0-beta01.txt b/emoji/core/api/restricted_1.1.0-beta01.txt
new file mode 100644
index 0000000..0e7fd6b
--- /dev/null
+++ b/emoji/core/api/restricted_1.1.0-beta01.txt
@@ -0,0 +1,220 @@
+// Signature format: 3.0
+package androidx.emoji.text {
+
+ @AnyThread public class EmojiCompat {
+ method public static androidx.emoji.text.EmojiCompat! get();
+ method public String getAssetSignature();
+ method @androidx.emoji.text.EmojiCompat.LoadState public int getLoadState();
+ method public static boolean handleDeleteSurroundingText(android.view.inputmethod.InputConnection, android.text.Editable, @IntRange(from=0) int, @IntRange(from=0) int, boolean);
+ method public static boolean handleOnKeyDown(android.text.Editable, int, android.view.KeyEvent!);
+ method public boolean hasEmojiGlyph(CharSequence);
+ method public boolean hasEmojiGlyph(CharSequence, @IntRange(from=0) int);
+ method public static androidx.emoji.text.EmojiCompat! init(androidx.emoji.text.EmojiCompat.Config);
+ method public void load();
+ method @CheckResult public CharSequence! process(CharSequence);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
+ method @CheckResult public CharSequence! process(CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @androidx.emoji.text.EmojiCompat.ReplaceStrategy int);
+ method public void registerInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @VisibleForTesting public static androidx.emoji.text.EmojiCompat! reset(androidx.emoji.text.EmojiCompat.Config);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @VisibleForTesting public static androidx.emoji.text.EmojiCompat! reset(androidx.emoji.text.EmojiCompat!);
+ method public void unregisterInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void updateEditorInfoAttrs(android.view.inputmethod.EditorInfo);
+ field public static final String EDITOR_INFO_METAVERSION_KEY = "android.support.text.emoji.emojiCompat_metadataVersion";
+ field public static final String EDITOR_INFO_REPLACE_ALL_KEY = "android.support.text.emoji.emojiCompat_replaceAll";
+ field public static final int LOAD_STATE_DEFAULT = 3; // 0x3
+ field public static final int LOAD_STATE_FAILED = 2; // 0x2
+ field public static final int LOAD_STATE_LOADING = 0; // 0x0
+ field public static final int LOAD_STATE_SUCCEEDED = 1; // 0x1
+ field public static final int LOAD_STRATEGY_DEFAULT = 0; // 0x0
+ field public static final int LOAD_STRATEGY_MANUAL = 1; // 0x1
+ field public static final int REPLACE_STRATEGY_ALL = 1; // 0x1
+ field public static final int REPLACE_STRATEGY_DEFAULT = 0; // 0x0
+ field public static final int REPLACE_STRATEGY_NON_EXISTENT = 2; // 0x2
+ }
+
+ public abstract static class EmojiCompat.Config {
+ ctor protected EmojiCompat.Config(androidx.emoji.text.EmojiCompat.MetadataRepoLoader);
+ method protected final androidx.emoji.text.EmojiCompat.MetadataRepoLoader! getMetadataRepoLoader();
+ method public androidx.emoji.text.EmojiCompat.Config! registerInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ method public androidx.emoji.text.EmojiCompat.Config! setEmojiSpanIndicatorColor(@ColorInt int);
+ method public androidx.emoji.text.EmojiCompat.Config! setEmojiSpanIndicatorEnabled(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setMetadataLoadStrategy(@androidx.emoji.text.EmojiCompat.LoadStrategy int);
+ method public androidx.emoji.text.EmojiCompat.Config! setReplaceAll(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setUseEmojiAsDefaultStyle(boolean);
+ method public androidx.emoji.text.EmojiCompat.Config! setUseEmojiAsDefaultStyle(boolean, java.util.List<java.lang.Integer!>?);
+ method public androidx.emoji.text.EmojiCompat.Config! unregisterInitCallback(androidx.emoji.text.EmojiCompat.InitCallback);
+ }
+
+ public abstract static class EmojiCompat.InitCallback {
+ ctor public EmojiCompat.InitCallback();
+ method public void onFailed(Throwable?);
+ method public void onInitialized();
+ }
+
+ @IntDef({androidx.emoji.text.EmojiCompat.LOAD_STATE_DEFAULT, androidx.emoji.text.EmojiCompat.LOAD_STATE_LOADING, androidx.emoji.text.EmojiCompat.LOAD_STATE_SUCCEEDED, androidx.emoji.text.EmojiCompat.LOAD_STATE_FAILED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EmojiCompat.LoadState {
+ }
+
+ @IntDef({androidx.emoji.text.EmojiCompat.LOAD_STRATEGY_DEFAULT, androidx.emoji.text.EmojiCompat.LOAD_STRATEGY_MANUAL}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EmojiCompat.LoadStrategy {
+ }
+
+ public static interface EmojiCompat.MetadataRepoLoader {
+ method public void load(androidx.emoji.text.EmojiCompat.MetadataRepoLoaderCallback);
+ }
+
+ public abstract static class EmojiCompat.MetadataRepoLoaderCallback {
+ ctor public EmojiCompat.MetadataRepoLoaderCallback();
+ method public abstract void onFailed(Throwable?);
+ method public abstract void onLoaded(androidx.emoji.text.MetadataRepo);
+ }
+
+ @IntDef({androidx.emoji.text.EmojiCompat.REPLACE_STRATEGY_DEFAULT, androidx.emoji.text.EmojiCompat.REPLACE_STRATEGY_NON_EXISTENT, androidx.emoji.text.EmojiCompat.REPLACE_STRATEGY_ALL}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EmojiCompat.ReplaceStrategy {
+ }
+
+ @AnyThread @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class EmojiMetadata {
+ method public void draw(android.graphics.Canvas, float, float, android.graphics.Paint);
+ method public int getCodepointAt(int);
+ method public int getCodepointsLength();
+ method public short getCompatAdded();
+ method @androidx.emoji.text.EmojiMetadata.HasGlyph public int getHasGlyph();
+ method public short getHeight();
+ method public int getId();
+ method public short getSdkAdded();
+ method public android.graphics.Typeface! getTypeface();
+ method public short getWidth();
+ method public boolean isDefaultEmoji();
+ method public void setHasGlyph(boolean);
+ field public static final int HAS_GLYPH_ABSENT = 1; // 0x1
+ field public static final int HAS_GLYPH_EXISTS = 2; // 0x2
+ field public static final int HAS_GLYPH_UNKNOWN = 0; // 0x0
+ }
+
+ @IntDef({androidx.emoji.text.EmojiMetadata.HAS_GLYPH_UNKNOWN, androidx.emoji.text.EmojiMetadata.HAS_GLYPH_ABSENT, androidx.emoji.text.EmojiMetadata.HAS_GLYPH_EXISTS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EmojiMetadata.HasGlyph {
+ }
+
+ @RequiresApi(19) public abstract class EmojiSpan extends android.text.style.ReplacementSpan {
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @VisibleForTesting public final int getId();
+ method public int getSize(android.graphics.Paint, CharSequence!, int, int, android.graphics.Paint.FontMetricsInt!);
+ }
+
+ public class FontRequestEmojiCompatConfig extends androidx.emoji.text.EmojiCompat.Config {
+ ctor public FontRequestEmojiCompatConfig(android.content.Context, androidx.core.provider.FontRequest);
+ ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public FontRequestEmojiCompatConfig(android.content.Context, androidx.core.provider.FontRequest, androidx.emoji.text.FontRequestEmojiCompatConfig.FontProviderHelper);
+ method public androidx.emoji.text.FontRequestEmojiCompatConfig! setHandler(android.os.Handler!);
+ method public androidx.emoji.text.FontRequestEmojiCompatConfig! setRetryPolicy(androidx.emoji.text.FontRequestEmojiCompatConfig.RetryPolicy!);
+ }
+
+ public static class FontRequestEmojiCompatConfig.ExponentialBackoffRetryPolicy extends androidx.emoji.text.FontRequestEmojiCompatConfig.RetryPolicy {
+ ctor public FontRequestEmojiCompatConfig.ExponentialBackoffRetryPolicy(long);
+ method public long getRetryDelay();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class FontRequestEmojiCompatConfig.FontProviderHelper {
+ ctor public FontRequestEmojiCompatConfig.FontProviderHelper();
+ method public android.graphics.Typeface! buildTypeface(android.content.Context, androidx.core.provider.FontsContractCompat.FontInfo) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public androidx.core.provider.FontsContractCompat.FontFamilyResult! fetchFonts(android.content.Context, androidx.core.provider.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
+ method public void registerObserver(android.content.Context, android.net.Uri, android.database.ContentObserver);
+ method public void unregisterObserver(android.content.Context, android.database.ContentObserver);
+ }
+
+ public abstract static class FontRequestEmojiCompatConfig.RetryPolicy {
+ ctor public FontRequestEmojiCompatConfig.RetryPolicy();
+ method public abstract long getRetryDelay();
+ }
+
+ @AnyThread @RequiresApi(19) public final class MetadataRepo {
+ method public static androidx.emoji.text.MetadataRepo! create(android.graphics.Typeface, java.io.InputStream) throws java.io.IOException;
+ method public static androidx.emoji.text.MetadataRepo! create(android.graphics.Typeface, java.nio.ByteBuffer) throws java.io.IOException;
+ method public static androidx.emoji.text.MetadataRepo! create(android.content.res.AssetManager, String!) throws java.io.IOException;
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public char[]! getEmojiCharArray();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.text.emoji.flatbuffer.MetadataList! getMetadataList();
+ }
+
+ @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class TypefaceEmojiSpan extends androidx.emoji.text.EmojiSpan {
+ ctor public TypefaceEmojiSpan(androidx.emoji.text.EmojiMetadata!);
+ method public void draw(android.graphics.Canvas, CharSequence!, @IntRange(from=0) int, @IntRange(from=0) int, float, int, int, int, android.graphics.Paint);
+ }
+
+}
+
+package androidx.emoji.widget {
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class EditTextAttributeHelper {
+ ctor public EditTextAttributeHelper(android.view.View, android.util.AttributeSet!, int, int);
+ method public int getMaxEmojiCount();
+ }
+
+ public class EmojiButton extends android.widget.Button {
+ ctor public EmojiButton(android.content.Context!);
+ ctor public EmojiButton(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiButton(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiButton(android.content.Context!, android.util.AttributeSet!, int, int);
+ }
+
+ public class EmojiEditText extends android.widget.EditText {
+ ctor public EmojiEditText(android.content.Context!);
+ ctor public EmojiEditText(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiEditText(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiEditText(android.content.Context!, android.util.AttributeSet!, int, int);
+ method public int getMaxEmojiCount();
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public final class EmojiEditTextHelper {
+ ctor public EmojiEditTextHelper(android.widget.EditText);
+ method public android.text.method.KeyListener getKeyListener(android.text.method.KeyListener);
+ method public int getMaxEmojiCount();
+ method public android.view.inputmethod.InputConnection? onCreateInputConnection(android.view.inputmethod.InputConnection?, android.view.inputmethod.EditorInfo);
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class EmojiExtractEditText extends android.inputmethodservice.ExtractEditText {
+ ctor public EmojiExtractEditText(android.content.Context!);
+ ctor public EmojiExtractEditText(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiExtractEditText(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiExtractEditText(android.content.Context!, android.util.AttributeSet!, int, int);
+ method public int getEmojiReplaceStrategy();
+ method public int getMaxEmojiCount();
+ method public void setEmojiReplaceStrategy(@androidx.emoji.text.EmojiCompat.ReplaceStrategy int);
+ method public void setMaxEmojiCount(@IntRange(from=0) int);
+ }
+
+ public class EmojiExtractTextLayout extends android.widget.LinearLayout {
+ ctor public EmojiExtractTextLayout(android.content.Context!);
+ ctor public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet?);
+ ctor public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet?, int);
+ ctor @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiExtractTextLayout(android.content.Context!, android.util.AttributeSet!, int, int);
+ method public int getEmojiReplaceStrategy();
+ method public void onUpdateExtractingViews(android.inputmethodservice.InputMethodService!, android.view.inputmethod.EditorInfo!);
+ method public void setEmojiReplaceStrategy(@androidx.emoji.text.EmojiCompat.ReplaceStrategy int);
+ }
+
+ public class EmojiTextView extends android.widget.TextView {
+ ctor public EmojiTextView(android.content.Context!);
+ ctor public EmojiTextView(android.content.Context!, android.util.AttributeSet!);
+ ctor public EmojiTextView(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public EmojiTextView(android.content.Context!, android.util.AttributeSet!, int, int);
+ }
+
+ public final class EmojiTextViewHelper {
+ ctor public EmojiTextViewHelper(android.widget.TextView);
+ method public android.text.InputFilter![] getFilters(android.text.InputFilter![]);
+ method public void setAllCaps(boolean);
+ method public void updateTransformationMethod();
+ method public android.text.method.TransformationMethod? wrapTransformationMethod(android.text.method.TransformationMethod?);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ExtractButtonCompat extends android.widget.Button {
+ ctor public ExtractButtonCompat(android.content.Context!);
+ ctor public ExtractButtonCompat(android.content.Context!, android.util.AttributeSet!);
+ ctor public ExtractButtonCompat(android.content.Context!, android.util.AttributeSet!, int);
+ ctor @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public ExtractButtonCompat(android.content.Context!, android.util.AttributeSet!, int, int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class SpannableBuilder extends android.text.SpannableStringBuilder {
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void beginBatchEdit();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void endBatchEdit();
+ }
+
+}
+
diff --git a/emoji/core/build.gradle b/emoji/core/build.gradle
index ba11a0f..13d830b 100644
--- a/emoji/core/build.gradle
+++ b/emoji/core/build.gradle
@@ -22,7 +22,7 @@
// treats this as local jar and package it inside the aar.
api files(configurations.repackage)
- api("androidx.core:core:1.3.0-alpha01")
+ api(project(":core:core"))
implementation("androidx.collection:collection:1.1.0")
androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)