@@ -0,0 +1,1514 @@
+package com.vanniktech.emoji;%0A%0Aimport android.content.Context;%0Aimport android.util.AttributeSet;%0Aimport android.view.LayoutInflater;%0Aimport android.view.View;%0Aimport androidx.annotation.Nullable;%0A%0A/** Layout Factory that substitutes certain Views to add automatic Emoji support. */%0Apublic class EmojiLayoutFactory implements LayoutInflater.Factory2 %7B%0A  @Nullable private final LayoutInflater.Factory2 delegate;%0A%0A  public EmojiLayoutFactory() %7B%0A    delegate = null;%0A  %7D%0A%0A  public EmojiLayoutFactory(@Nullable final LayoutInflater.Factory2 delegate) %7B%0A    this.delegate = delegate;%0A  %7D%0A%0A  @Override public View onCreateView(@Nullable final View parent, final String name, final Context context, final AttributeSet attrs) %7B%0A    if (%22TextView%22.equals(name)) %7B%0A      return new EmojiTextView(context, attrs);%0A    %7D else if (%22EditText%22.equals(name)) %7B%0A      return new EmojiEditText(context, attrs);%0A    %7D else if (%22Button%22.equals(name)) %7B%0A      return new EmojiButton(context, attrs);%0A    %7D else if (%22AutoCompleteTextView%22.equals(name)) %7B%0A      return new EmojiAutoCompleteTextView(context, attrs);%0A    %7D else if (%22MultiAutoCompleteTextView%22.equals(name)) %7B%0A      return new EmojiMultiAutoCompleteTextView(context, attrs);%0A    %7D else if (delegate != null) %7B%0A      return delegate.onCreateView(parent, name, context, attrs);%0A    %7D%0A%0A    return null;%0A  %7D%0A%0A  @Override public View onCreateView(final String name, final Context context, final AttributeSet attrs) %7B%0A    return onCreateView(null, name, context, attrs);%0A  %7D%0A%7D%0A

Add EmojiLayoutFactory. (#395)