Skip to content

Commit

Permalink
Refactoring: Start moving most of the Trait infrastructure into its o…
Browse files Browse the repository at this point in the history
…wn package. (#637)
  • Loading branch information
vanniktech authored Apr 28, 2022
1 parent b992f0d commit 3dee056
Show file tree
Hide file tree
Showing 11 changed files with 31 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import androidx.appcompat.app.AppCompatActivity;
import com.vanniktech.emoji.EmojiEditText;
import com.vanniktech.emoji.EmojiPopup;
import com.vanniktech.emoji.EmojiTrait;
import com.vanniktech.emoji.traits.EmojiTrait;

public class CustomViewActivity extends AppCompatActivity {
@Override protected void onCreate(final Bundle savedInstanceState) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@
import com.vanniktech.emoji.EmojiEditText;
import com.vanniktech.emoji.EmojiManager;
import com.vanniktech.emoji.EmojiPopup;
import com.vanniktech.emoji.EmojiTrait;
import com.vanniktech.emoji.facebook.FacebookEmojiProvider;
import com.vanniktech.emoji.google.GoogleEmojiProvider;
import com.vanniktech.emoji.googlecompat.GoogleCompatEmojiProvider;
import com.vanniktech.emoji.ios.IosEmojiProvider;
import com.vanniktech.emoji.material.MaterialEmojiLayoutFactory;
import com.vanniktech.emoji.traits.EmojiTrait;
import com.vanniktech.emoji.twitter.TwitterEmojiProvider;

import static android.view.View.GONE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@
import com.vanniktech.emoji.EmojiInput;
import com.vanniktech.emoji.EmojiManager;
import com.vanniktech.emoji.EmojiPopup;
import com.vanniktech.emoji.EmojiTrait;
import com.vanniktech.emoji.SearchInPlaceTrait;
import com.vanniktech.emoji.ForceSingleEmojiTrait;
import com.vanniktech.emoji.emoji.Emoji;
import com.vanniktech.emoji.traits.EmojiTrait;
import com.vanniktech.emoji.traits.ForceSingleEmojiTrait;

public class EmojiTextInputEditText extends TextInputEditText implements EmojiEditable, EmojiInput {
private float emojiSize;
Expand Down
2 changes: 2 additions & 0 deletions emoji/src/main/java/com/vanniktech/emoji/EmojiEditText.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
import androidx.annotation.Px;
import androidx.appcompat.widget.AppCompatEditText;
import com.vanniktech.emoji.emoji.Emoji;
import com.vanniktech.emoji.traits.EmojiTrait;
import com.vanniktech.emoji.traits.ForceSingleEmojiTrait;

/** Reference implementation for an EditText with emoji support. */
public class EmojiEditText extends AppCompatEditText implements EmojiEditable, EmojiInput {
Expand Down
2 changes: 2 additions & 0 deletions emoji/src/main/java/com/vanniktech/emoji/EmojiInput.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
*/
package com.vanniktech.emoji

import com.vanniktech.emoji.traits.EmojiTrait

interface EmojiInput {
/** Returns true when [enableKeyboardInput] was called and otherwise false. */
val isKeyboardInputDisabled: Boolean
Expand Down
16 changes: 0 additions & 16 deletions emoji/src/main/java/com/vanniktech/emoji/EmojiTrait.kt

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ import android.text.Editable
import android.text.TextWatcher
import android.widget.EditText
import com.vanniktech.emoji.emoji.Emoji
import com.vanniktech.emoji.traits.EmojiTrait
import com.vanniktech.emoji.traits.EmojiTraitable
import com.vanniktech.emoji.traits.EmptyEmojiTrait

/**
* Popup similar to how Telegram and Slack does it to search for an Emoji
Expand Down
6 changes: 6 additions & 0 deletions emoji/src/main/java/com/vanniktech/emoji/traits/EmojiTrait.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.vanniktech.emoji.traits

interface EmojiTrait {
/** Call this method to reverse the [EmojiTraitable] that you installed. */
fun uninstall()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.vanniktech.emoji.traits

import android.widget.EditText

interface EmojiTraitable {
fun install(editText: EditText): EmojiTrait
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.vanniktech.emoji.traits

internal object EmptyEmojiTrait : EmojiTrait {
override fun uninstall() = Unit
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@
* limitations under the License.
*
*/
package com.vanniktech.emoji
package com.vanniktech.emoji.traits

import android.text.Editable
import android.text.TextWatcher
import android.widget.EditText
import com.vanniktech.emoji.OnlyEmojisInputFilter

/**
* Forces the [EditText] to only contain one Emoji,
Expand Down

0 comments on commit 3dee056

Please sign in to comment.