diff --git a/Screengrabfile b/Screengrabfile index 951eaab337..6032361102 100644 --- a/Screengrabfile +++ b/Screengrabfile @@ -1,9 +1,9 @@ app_package_name 'com.vanniktech.emoji.sample' use_tests_in_packages ['com.vanniktech.emoji.sample.screenshots'] -app_apk_path 'app/build/outputs/apk/app-0.5.0-SNAPSHOT-debug.apk' -tests_apk_path 'app/build/outputs/apk/app-0.5.0-SNAPSHOT-debug-androidTest.apk' +app_apk_path 'app/build/outputs/apk/app-0.6.0-SNAPSHOT-debug.apk' +tests_apk_path 'app/build/outputs/apk/app-0.6.0-SNAPSHOT-debug-androidTest.apk' locales ['en-US'] -clear_previous_screenshots true \ No newline at end of file +clear_previous_screenshots true diff --git a/app/src/main/java/com/vanniktech/emoji/sample/ChatAdapter.java b/app/src/main/java/com/vanniktech/emoji/sample/ChatAdapter.java index c85296ce0e..8ce127dcd5 100644 --- a/app/src/main/java/com/vanniktech/emoji/sample/ChatAdapter.java +++ b/app/src/main/java/com/vanniktech/emoji/sample/ChatAdapter.java @@ -51,7 +51,7 @@ static class ChatViewHolder extends RecyclerView.ViewHolder { ChatViewHolder(final View view) { super(view); - textView = (EmojiTextView) view.findViewById(R.id.adapter_chat_text_view); + textView = view.findViewById(R.id.adapter_chat_text_view); } } } diff --git a/app/src/main/java/com/vanniktech/emoji/sample/MainActivity.java b/app/src/main/java/com/vanniktech/emoji/sample/MainActivity.java index 19d54c4484..1d4f89562d 100644 --- a/app/src/main/java/com/vanniktech/emoji/sample/MainActivity.java +++ b/app/src/main/java/com/vanniktech/emoji/sample/MainActivity.java @@ -30,6 +30,7 @@ import com.vanniktech.emoji.one.EmojiOneProvider; import com.vanniktech.emoji.twitter.TwitterEmojiProvider; +@SuppressWarnings("CPD-START") // We don't care about duplicate code in the sample. public class MainActivity extends AppCompatActivity { static final String TAG = "MainActivity"; @@ -47,10 +48,10 @@ public class MainActivity extends AppCompatActivity { chatAdapter = new ChatAdapter(); - editText = (EmojiEditText) findViewById(R.id.main_activity_chat_bottom_message_edittext); - rootView = (ViewGroup) findViewById(R.id.main_activity_root_view); - emojiButton = (ImageView) findViewById(R.id.main_activity_emoji); - final ImageView sendButton = (ImageView) findViewById(R.id.main_activity_send); + editText = findViewById(R.id.main_activity_chat_bottom_message_edittext); + rootView = findViewById(R.id.main_activity_root_view); + emojiButton = findViewById(R.id.main_activity_emoji); + final ImageView sendButton = findViewById(R.id.main_activity_send); emojiButton.setColorFilter(ContextCompat.getColor(this, R.color.emoji_icons), PorterDuff.Mode.SRC_IN); sendButton.setColorFilter(ContextCompat.getColor(this, R.color.emoji_icons), PorterDuff.Mode.SRC_IN); @@ -72,7 +73,7 @@ public class MainActivity extends AppCompatActivity { } }); - final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.main_activity_recycler_view); + final RecyclerView recyclerView = findViewById(R.id.main_activity_recycler_view); recyclerView.setAdapter(chatAdapter); recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)); diff --git a/app/src/main/java/com/vanniktech/emoji/sample/MainDialog.java b/app/src/main/java/com/vanniktech/emoji/sample/MainDialog.java index 12ef4c2095..c83b4fb799 100644 --- a/app/src/main/java/com/vanniktech/emoji/sample/MainDialog.java +++ b/app/src/main/java/com/vanniktech/emoji/sample/MainDialog.java @@ -27,6 +27,7 @@ import com.vanniktech.emoji.listeners.OnSoftKeyboardCloseListener; import com.vanniktech.emoji.listeners.OnSoftKeyboardOpenListener; +@SuppressWarnings("CPD-START") // We don't care about duplicate code in the sample. public class MainDialog extends DialogFragment { static final String FRAGMENT_MANAGER_TAG = "dialog_main"; static final String TAG = "MainDialog"; @@ -66,10 +67,10 @@ public Dialog onCreateDialog(final Bundle savedInstanceState) { private View buildView() { final View result = View.inflate(getContext(), R.layout.dialog_main, null); - editText = (EmojiEditText) result.findViewById(R.id.main_dialog_chat_bottom_message_edittext); - rootView = (ViewGroup) result.findViewById(R.id.main_dialog_root_view); - emojiButton = (ImageView) result.findViewById(R.id.main_dialog_emoji); - final ImageView sendButton = (ImageView) result.findViewById(R.id.main_dialog_send); + editText = result.findViewById(R.id.main_dialog_chat_bottom_message_edittext); + rootView = result.findViewById(R.id.main_dialog_root_view); + emojiButton = result.findViewById(R.id.main_dialog_emoji); + final ImageView sendButton = result.findViewById(R.id.main_dialog_send); emojiButton.setColorFilter(ContextCompat.getColor(getContext(), R.color.emoji_icons), PorterDuff.Mode.SRC_IN); sendButton.setColorFilter(ContextCompat.getColor(getContext(), R.color.emoji_icons), PorterDuff.Mode.SRC_IN); @@ -91,7 +92,7 @@ private View buildView() { } }); - final RecyclerView recyclerView = (RecyclerView) result.findViewById(R.id.main_dialog_recycler_view); + final RecyclerView recyclerView = result.findViewById(R.id.main_dialog_recycler_view); recyclerView.setAdapter(chatAdapter); recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false)); diff --git a/build.gradle b/build.gradle index b32c840e0a..d4c1bc8697 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,8 @@ apply plugin: 'com.vanniktech.android.junit.jacoco' buildscript { ext.versions = [ - testRules: '0.5', + espresso: '3.0.0', + testRules: '1.0.0', ] ext.deps = [ @@ -17,7 +18,7 @@ buildscript { 'rules': "com.android.support.test:rules:${versions.testRules}", ], ], - 'fastLaneScreenGrab': "tools.fastlane:screengrab:1.0.3", + 'fastLaneScreenGrab': "tools.fastlane:screengrab:1.1.0", ] repositories { @@ -26,7 +27,7 @@ buildscript { } dependencies { classpath 'com.vanniktech:gradle-code-quality-tools-plugin:0.7.0' - classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.6.0' + classpath 'com.vanniktech:gradle-android-junit-jacoco-plugin:0.7.0' classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.github.ben-manes:gradle-versions-plugin:0.15.0' @@ -52,9 +53,6 @@ codeQualityTools { errorProne { toolVersion = '2.0.21' } - cpd { - ignoreFailures = true // Fix in a follow up. - } } junitJacoco { @@ -74,11 +72,11 @@ subprojects { ext { minSdkVersion = 15 - compileSdkVersion = 25 - targetSdkVersion = 25 - buildToolsVersion = '25.0.3' + compileSdkVersion = 26 + targetSdkVersion = 26 + buildToolsVersion = '26.0.1' - supportLibraryVersion = '25.4.0' + supportLibraryVersion = '26.0.0' leakCanaryVersion = '1.5.1' versionCode = VERSION_CODE @@ -96,8 +94,8 @@ ext { testing = [ junit : 'junit:junit:4.12', - robolectric : 'org.robolectric:robolectric:3.3.2', - mockito : 'org.mockito:mockito-core:2.8.9', + robolectric : 'org.robolectric:robolectric:3.4.2', + mockito : 'org.mockito:mockito-core:2.8.47', privateConstructor: 'com.pushtorefresh.java-private-constructor-checker:checker:1.2.0', assertJ : 'org.assertj:assertj-core:3.8.0' ] @@ -106,6 +104,6 @@ ext { } task wrapper(type: Wrapper) { - gradleVersion = '4.0' + gradleVersion = '4.1' distributionType = Wrapper.DistributionType.ALL } \ No newline at end of file diff --git a/emoji/src/main/java/com/vanniktech/emoji/EmojiButton.java b/emoji/src/main/java/com/vanniktech/emoji/EmojiButton.java index 31ebe18587..678e6c57ac 100644 --- a/emoji/src/main/java/com/vanniktech/emoji/EmojiButton.java +++ b/emoji/src/main/java/com/vanniktech/emoji/EmojiButton.java @@ -10,6 +10,7 @@ import android.text.SpannableStringBuilder; import android.util.AttributeSet; +@SuppressWarnings("CPD-START") // The Emoji widgets have almost the same code, so ignore CPD here. public class EmojiButton extends AppCompatButton { private float emojiSize; diff --git a/emoji/src/main/java/com/vanniktech/emoji/EmojiEditText.java b/emoji/src/main/java/com/vanniktech/emoji/EmojiEditText.java index c26100d7a1..a915e27098 100644 --- a/emoji/src/main/java/com/vanniktech/emoji/EmojiEditText.java +++ b/emoji/src/main/java/com/vanniktech/emoji/EmojiEditText.java @@ -11,6 +11,7 @@ import android.view.KeyEvent; import com.vanniktech.emoji.emoji.Emoji; +@SuppressWarnings("CPD-START") // The Emoji widgets have almost the same code, so ignore CPD here. public class EmojiEditText extends AppCompatEditText { private float emojiSize; diff --git a/emoji/src/main/java/com/vanniktech/emoji/EmojiTextView.java b/emoji/src/main/java/com/vanniktech/emoji/EmojiTextView.java index cf945b9788..7e119c6bff 100644 --- a/emoji/src/main/java/com/vanniktech/emoji/EmojiTextView.java +++ b/emoji/src/main/java/com/vanniktech/emoji/EmojiTextView.java @@ -10,6 +10,7 @@ import android.text.SpannableStringBuilder; import android.util.AttributeSet; +@SuppressWarnings("CPD-START") // The Emoji widgets have almost the same code, so ignore CPD here. public class EmojiTextView extends AppCompatTextView { private float emojiSize; diff --git a/emoji/src/main/java/com/vanniktech/emoji/EmojiVariantPopup.java b/emoji/src/main/java/com/vanniktech/emoji/EmojiVariantPopup.java index ee33b5c078..53f1bea701 100644 --- a/emoji/src/main/java/com/vanniktech/emoji/EmojiVariantPopup.java +++ b/emoji/src/main/java/com/vanniktech/emoji/EmojiVariantPopup.java @@ -71,7 +71,7 @@ void dismiss() { private View initView(@NonNull final Context context, @NonNull final Emoji emoji, final int width) { final View result = View.inflate(context, R.layout.emoji_skin_popup, null); - final LinearLayout imageContainer = (LinearLayout) result.findViewById(R.id.container); + final LinearLayout imageContainer = result.findViewById(R.id.container); final List variants = emoji.getBase().getVariants(); variants.add(0, emoji.getBase()); diff --git a/emoji/src/main/java/com/vanniktech/emoji/EmojiView.java b/emoji/src/main/java/com/vanniktech/emoji/EmojiView.java index 833f16eca2..1d41185750 100644 --- a/emoji/src/main/java/com/vanniktech/emoji/EmojiView.java +++ b/emoji/src/main/java/com/vanniktech/emoji/EmojiView.java @@ -52,8 +52,8 @@ context.getTheme().resolveAttribute(R.attr.colorAccent, value, true); themeAccentColor = value.data; - final ViewPager emojisPager = (ViewPager) findViewById(R.id.emojis_pager); - final LinearLayout emojisTab = (LinearLayout) findViewById(R.id.emojis_tab); + final ViewPager emojisPager = findViewById(R.id.emojis_pager); + final LinearLayout emojisTab = findViewById(R.id.emojis_tab); emojisPager.addOnPageChangeListener(this); final EmojiCategory[] categories = EmojiManager.getInstance().getCategories(); diff --git a/emoji/src/test/java/com/vanniktech/emoji/EmojiManagerTest.java b/emoji/src/test/java/com/vanniktech/emoji/EmojiManagerTest.java index 93df35fd0e..4f31b277e5 100644 --- a/emoji/src/test/java/com/vanniktech/emoji/EmojiManagerTest.java +++ b/emoji/src/test/java/com/vanniktech/emoji/EmojiManagerTest.java @@ -189,16 +189,6 @@ public void noProviderInstalled() { assertThat(text.getSpans(0, text.length(), EmojiSpan.class)).hasSize(1); } - @Test public void takeLongest() { - EmojiManager.install(provider); - - final Spannable text = new SpannableString(new String(new int[] { 0x1234, 0x4321 }, 0, 1)); - - EmojiManager.replaceWithImages(RuntimeEnvironment.application, text, 22); - - assertThat(text.getSpans(0, text.length(), EmojiSpan.class)).hasSize(1); - } - @Test public void empty() { EmojiManager.install(provider); diff --git a/generator/package.json b/generator/package.json index c8445f54bc..b7a63a3f1b 100644 --- a/generator/package.json +++ b/generator/package.json @@ -12,7 +12,7 @@ "cheerio": "^1.0.0-rc.1", "command-line-args": "^4.0.6", "download": "^6.2.5", - "fs-extra": "^3.0.1", + "fs-extra": "^4.0.1", "imagemin": "^5.3.1", "imagemin-optipng": "^5.2.1", "stable": "^0.1.6", diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 640e258fdb..128dc636c2 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1ae911a89b..2ad0cde4cd 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Jun 19 17:19:50 CEST 2017 +#Mon Aug 07 22:13:18 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip diff --git a/gradlew b/gradlew index 4453ccea33..cccdd3d517 100755 --- a/gradlew +++ b/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " }