From 8009752eeb77124c432287c371160c19961658ec Mon Sep 17 00:00:00 2001 From: Nick Bradbury Date: Wed, 15 Jun 2016 16:17:59 -0400 Subject: [PATCH 01/12] Updated to support lib 24.0.0 --- WordPress/build.gradle | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index d3e55d6fc01d..c37eb7947eb0 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -85,12 +85,12 @@ dependencies { } compile 'com.google.code.gson:gson:2.6.+' compile 'org.ccil.cowan.tagsoup:tagsoup:1.2.1' - compile 'com.android.support:support-v13:23.4.0' - compile 'com.android.support:appcompat-v7:23.4.0' - compile 'com.android.support:cardview-v7:23.4.0' - compile 'com.android.support:recyclerview-v7:23.4.0' - compile 'com.android.support:design:23.4.0' - compile 'com.android.support:percent:23.4.0' + compile 'com.android.support:support-v13:24.0.0' + compile 'com.android.support:appcompat-v7:24.0.0' + compile 'com.android.support:cardview-v7:24.0.0' + compile 'com.android.support:recyclerview-v7:24.0.0' + compile 'com.android.support:design:24.0.0' + compile 'com.android.support:percent:24.0.0' compile 'com.google.android.gms:play-services-gcm:8.4.0' compile 'com.google.android.gms:play-services-auth:8.4.0' compile 'com.github.chrisbanes.photoview:library:1.2.4' From 09562f338a5cd4d406dc0005ad35f7f26a21ae9c Mon Sep 17 00:00:00 2001 From: Nick Bradbury Date: Wed, 15 Jun 2016 16:22:01 -0400 Subject: [PATCH 02/12] Updated build tools & compile/target SDK to 24 --- WordPress/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index c37eb7947eb0..8fc25ef54c96 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -27,15 +27,15 @@ android { jumboMode = true } - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 24 + buildToolsVersion "24.0.0" defaultConfig { applicationId "org.wordpress.android" versionName "alpha-14" versionCode 277 minSdkVersion 16 - targetSdkVersion 23 + targetSdkVersion 24 vectorDrawables.useSupportLibrary = true buildConfigField "boolean", "IN_APP_BILLING_AVAILABLE", "false" From 4335b23440e13c0de8698a70c16042fde6201860 Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 16 Jun 2016 11:40:27 +0200 Subject: [PATCH 03/12] Add multidex support --- WordPress/build.gradle | 8 ++++++-- .../main/java/org/wordpress/android/WordPress.java | 11 +++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index 8fc25ef54c96..e5bc9608a199 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -37,6 +37,7 @@ android { minSdkVersion 16 targetSdkVersion 24 + multiDexEnabled true vectorDrawables.useSupportLibrary = true buildConfigField "boolean", "IN_APP_BILLING_AVAILABLE", "false" } @@ -52,18 +53,20 @@ android { wasabi { // "hot" version, can be installed along release, alpha or beta versions buildConfigField "boolean", "IN_APP_BILLING_AVAILABLE", "true" applicationId "org.wordpress.android.beta" + minSdkVersion 21 // to take advantage of "fast" multi dex (pre-dex each module) } } buildTypes { release { - // Proguard is only used to fix an issue with some Samsung device - // https://github.com/wordpress-mobile/WordPress-Android/issues/2151 + // Proguard is used to shrink our apk, and reduce the number of methods in our final apk, + // but we don't obfuscate the bytecode. minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg' } debug { + minifyEnabled false buildConfigField "String", "APP_PN_KEY", "\"org.wordpress.android.debug.build\"" ext.enableCrashlytics = false } @@ -85,6 +88,7 @@ dependencies { } compile 'com.google.code.gson:gson:2.6.+' compile 'org.ccil.cowan.tagsoup:tagsoup:1.2.1' + compile 'com.android.support:multidex:1.0.1' compile 'com.android.support:support-v13:24.0.0' compile 'com.android.support:appcompat-v7:24.0.0' compile 'com.android.support:cardview-v7:24.0.0' diff --git a/WordPress/src/main/java/org/wordpress/android/WordPress.java b/WordPress/src/main/java/org/wordpress/android/WordPress.java index a6abd13ef86e..7802c267a8b2 100644 --- a/WordPress/src/main/java/org/wordpress/android/WordPress.java +++ b/WordPress/src/main/java/org/wordpress/android/WordPress.java @@ -13,6 +13,8 @@ import android.os.Bundle; import android.os.StrictMode; import android.os.SystemClock; +import android.support.multidex.MultiDex; +import android.support.multidex.MultiDexApplication; import android.text.TextUtils; import android.util.AndroidRuntimeException; import android.webkit.WebSettings; @@ -88,7 +90,7 @@ import de.greenrobot.event.EventBus; import io.fabric.sdk.android.Fabric; -public class WordPress extends Application { +public class WordPress extends MultiDexApplication { public static String versionName; public static Blog currentBlog; public static WordPressDB wpDB; @@ -109,8 +111,13 @@ public class WordPress extends Application { private static Context mContext; private static BitmapLruCache mBitmapCache; + protected void attachBaseContext(Context base) { + super.attachBaseContext(base); + MultiDex.install(this); + } + /** - * Updates Options for the current blog in background. + * Updates Options for the current blog in background. */ public static RateLimitedTask sUpdateCurrentBlogOption = new RateLimitedTask(SECONDS_BETWEEN_OPTIONS_UPDATE) { protected boolean run() { From 27ea264ec22023d54faf267f32dd154179ed8289 Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 16 Jun 2016 11:41:18 +0200 Subject: [PATCH 04/12] Allow proguard to shrink and optimize, kill the samsung workaround that should be fixed by support libs v24 --- WordPress/proguard.cfg | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/WordPress/proguard.cfg b/WordPress/proguard.cfg index 676b7bc6f42e..0fe5a991cde4 100644 --- a/WordPress/proguard.cfg +++ b/WordPress/proguard.cfg @@ -1,9 +1,4 @@ --keepattributes ** -# Used as a workaround for some Samsung devices on 4.2.2 - https://github.com/wordpress-mobile/WordPress-Android/issues/2151 --keep class !android.support.v7.view.menu.**,** {*;} --dontpreverify --dontoptimize --dontshrink +-dontobfuscate -keepclassmembers class ** { public void onEvent*(**); From 5ef3ee64f5790e84affc66879b5fed500ccfa018 Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 16 Jun 2016 11:42:06 +0200 Subject: [PATCH 05/12] Use the lastest gms libs, previous was incompatible with targetSdk 24 --- WordPress/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index e5bc9608a199..22d2a226dd72 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -95,8 +95,8 @@ dependencies { compile 'com.android.support:recyclerview-v7:24.0.0' compile 'com.android.support:design:24.0.0' compile 'com.android.support:percent:24.0.0' - compile 'com.google.android.gms:play-services-gcm:8.4.0' - compile 'com.google.android.gms:play-services-auth:8.4.0' + compile 'com.google.android.gms:play-services-gcm:9.0.2' + compile 'com.google.android.gms:play-services-auth:9.0.2' compile 'com.github.chrisbanes.photoview:library:1.2.4' compile 'com.helpshift:android-helpshift-aar:4.4.0' compile 'de.greenrobot:eventbus:2.4.0' From 392dba77574a4ca5dd86cc56655b60fc12f97b7f Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 16 Jun 2016 11:44:51 +0200 Subject: [PATCH 06/12] Revert "Revert "Update to emailchecker2"" This reverts commit 6ed74b76aaeb583c2dd0a064f1dbd715ee91de93. --- .travis.yml | 3 ++- WordPress/build.gradle | 5 +++-- .../wordpress/android/ui/accounts/NewUserFragment.java | 9 ++------- .../wordpress/android/ui/accounts/SignInFragment.java | 9 ++------- 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9fad7b50b5fe..496dde059cb0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: android jdk: oraclejdk7 -sudo: false +sudo: required notifications: # Slack notification on failure (secured token). @@ -22,6 +22,7 @@ android: env: global: + - MALLOC_ARENA_MAX=2 - GRADLE_OPTS="-XX:MaxPermSize=4g -Xmx4g" - ANDROID_SDKS=android-14 - ANDROID_TARGET=android-14 diff --git a/WordPress/build.gradle b/WordPress/build.gradle index 22d2a226dd72..1281def339cb 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -2,6 +2,7 @@ buildscript { repositories { jcenter() maven { url 'https://maven.fabric.io/public' } + } dependencies { classpath 'com.android.tools.build:gradle:2.1.2' @@ -25,6 +26,7 @@ android { dexOptions { jumboMode = true + javaMaxHeapSize = "4g" } compileSdkVersion 24 @@ -103,6 +105,7 @@ dependencies { compile 'com.automattic:rest:1.0.6' compile 'org.wordpress:graphview:3.4.0' compile 'org.wordpress:persistentedittext:1.0.1' + compile 'org.wordpress:emailchecker2:1.1.0' compile 'com.yalantis:ucrop:1.5.0' compile 'com.github.xizzhu:simple-tool-tip:0.5.0' @@ -112,12 +115,10 @@ dependencies { androidTestCompile 'org.mockito:mockito-core:+' androidTestCompile 'com.squareup.okhttp:mockwebserver:2.7.5' - // Provided by the WordPress-Android Repository compile 'org.wordpress:drag-sort-listview:0.6.1' // not found in maven central compile 'org.wordpress:slidinguppanel:1.0.0' // not found in maven central compile 'org.wordpress:passcodelock:1.2.0' - compile 'org.wordpress:emailchecker:0.3' // Simperium compile 'com.simperium.android:simperium:0.6.8' diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/NewUserFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/NewUserFragment.java index 1e6409af37e1..a257b2e32d22 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/NewUserFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/NewUserFragment.java @@ -32,7 +32,7 @@ import org.wordpress.android.util.EditTextUtils; import org.wordpress.android.util.UserEmailUtils; import org.wordpress.android.widgets.WPTextView; -import org.wordpress.emailchecker.EmailChecker; +import org.wordpress.emailchecker2.EmailChecker; import org.wordpress.persistentedittext.PersistentEditTextHelper; import java.util.regex.Matcher; @@ -46,14 +46,9 @@ public class NewUserFragment extends AbstractFragment implements TextWatcher { private WPTextView mSignupButton; private WPTextView mProgressTextSignIn; private RelativeLayout mProgressBarSignIn; - private EmailChecker mEmailChecker; private boolean mEmailAutoCorrected; private boolean mAutoCompleteUrl; - public NewUserFragment() { - mEmailChecker = new EmailChecker(); - } - @Override public void afterTextChanged(Editable s) { } @@ -319,7 +314,7 @@ private void autocorrectEmail() { return; } final String email = EditTextUtils.getText(mEmailTextField).trim(); - String suggest = mEmailChecker.suggestDomainCorrection(email); + String suggest = EmailChecker.suggestDomainCorrection(email); if (suggest.compareTo(email) != 0) { mEmailAutoCorrected = true; mEmailTextField.setText(suggest); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/SignInFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/SignInFragment.java index b00ec9ba55ea..d5d9e5e4ca45 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/SignInFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/SignInFragment.java @@ -76,7 +76,7 @@ import org.wordpress.android.util.ToastUtils; import org.wordpress.android.util.WPUrlUtils; import org.wordpress.android.widgets.WPTextView; -import org.wordpress.emailchecker.EmailChecker; +import org.wordpress.emailchecker2.EmailChecker; import org.xmlrpc.android.ApiHelper; import java.util.EnumSet; @@ -132,13 +132,8 @@ public class SignInFragment extends AbstractFragment implements TextWatcher, Con protected ImageView mInfoButton; protected ImageView mInfoButtonSecondary; - protected final EmailChecker mEmailChecker; protected GoogleApiClient mCredentialsClient; - public SignInFragment() { - mEmailChecker = new EmailChecker(); - } - @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -481,7 +476,7 @@ private void autocorrectUsername() { return; } // It looks like an email address, then try to correct it - String suggest = mEmailChecker.suggestDomainCorrection(email); + String suggest = EmailChecker.suggestDomainCorrection(email); if (suggest.compareTo(email) != 0) { mEmailAutoCorrected = true; mUsernameEditText.setText(suggest); From c805133603b51c2ba3c32ae7e15a2e2f075994e1 Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 16 Jun 2016 11:52:50 +0200 Subject: [PATCH 07/12] Fix travis config --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 496dde059cb0..af47462013b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,8 +17,8 @@ android: - extra-android-support - platform-tools - tools - - build-tools-23.0.3 - - android-23 + - build-tools-24.0.0 + - android-24 env: global: From 1eeee2ae8d4f95d3e4e2e7a30749fc9e0e712564 Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 16 Jun 2016 12:02:26 +0200 Subject: [PATCH 08/12] update compileSdkVersion and buildToolsVersion in every subtrees --- WordPress/build.gradle | 2 +- libs/analytics/WordPressAnalytics/build.gradle | 4 ++-- libs/editor/WordPressEditor/build.gradle | 4 ++-- libs/editor/example/build.gradle | 4 ++-- libs/networking/WordPressNetworking/build.gradle | 4 ++-- libs/utils/WordPressUtils/build.gradle | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index 1281def339cb..7d7fee0e1b4a 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -96,7 +96,7 @@ dependencies { compile 'com.android.support:cardview-v7:24.0.0' compile 'com.android.support:recyclerview-v7:24.0.0' compile 'com.android.support:design:24.0.0' - compile 'com.android.support:percent:24.0.0' + compile 'com.android.support:percent:24.0.0' compile 'com.google.android.gms:play-services-gcm:9.0.2' compile 'com.google.android.gms:play-services-auth:9.0.2' compile 'com.github.chrisbanes.photoview:library:1.2.4' diff --git a/libs/analytics/WordPressAnalytics/build.gradle b/libs/analytics/WordPressAnalytics/build.gradle index 7b4cb5ecd5c8..b6205d570503 100644 --- a/libs/analytics/WordPressAnalytics/build.gradle +++ b/libs/analytics/WordPressAnalytics/build.gradle @@ -24,8 +24,8 @@ dependencies { android { publishNonDefault true - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 24 + buildToolsVersion "24.0.0" defaultConfig { versionName "1.2.0" diff --git a/libs/editor/WordPressEditor/build.gradle b/libs/editor/WordPressEditor/build.gradle index 66cd22622146..923e37df0fff 100644 --- a/libs/editor/WordPressEditor/build.gradle +++ b/libs/editor/WordPressEditor/build.gradle @@ -18,8 +18,8 @@ repositories { android { publishNonDefault true - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 24 + buildToolsVersion "24.0.0" defaultConfig { versionCode 11 diff --git a/libs/editor/example/build.gradle b/libs/editor/example/build.gradle index 6817f207e57e..57ed32302735 100644 --- a/libs/editor/example/build.gradle +++ b/libs/editor/example/build.gradle @@ -14,8 +14,8 @@ repositories { apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 24 + buildToolsVersion "24.0.0" defaultConfig { applicationId "org.wordpress.editorexample" diff --git a/libs/networking/WordPressNetworking/build.gradle b/libs/networking/WordPressNetworking/build.gradle index cc5688feeaaa..60cf8e464079 100644 --- a/libs/networking/WordPressNetworking/build.gradle +++ b/libs/networking/WordPressNetworking/build.gradle @@ -18,8 +18,8 @@ apply plugin: 'maven' android { publishNonDefault true - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 24 + buildToolsVersion "24.0.0" defaultConfig { minSdkVersion 14 diff --git a/libs/utils/WordPressUtils/build.gradle b/libs/utils/WordPressUtils/build.gradle index bded275669f3..7082bb6ff6b3 100644 --- a/libs/utils/WordPressUtils/build.gradle +++ b/libs/utils/WordPressUtils/build.gradle @@ -28,8 +28,8 @@ android { publishNonDefault true - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion 24 + buildToolsVersion "24.0.0" defaultConfig { versionName "1.9.0" From ebb01b8e2d16e0a067d947b9b052bbe24ebaa628 Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Thu, 16 Jun 2016 12:37:16 +0200 Subject: [PATCH 09/12] use oraclejdk8 in travis --- .travis.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index af47462013b2..e6033b4c4e1b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: android -jdk: oraclejdk7 +jdk: oraclejdk8 sudo: required notifications: @@ -16,6 +16,7 @@ android: - extra-android-m2repository - extra-android-support - platform-tools + - platform-tools-preview - tools - build-tools-24.0.0 - android-24 @@ -27,9 +28,12 @@ env: - ANDROID_SDKS=android-14 - ANDROID_TARGET=android-14 +before_install: + - echo yes | android update sdk -a --filter platform-tools-preview --no-ui --force + install: # Setup gradle.properties - cp WordPress/gradle.properties-example WordPress/gradle.properties script: - - ./gradlew -PdisablePreDex assembleVanillaRelease lint || (grep -A20 -B2 'severity="Error"' WordPress/build/outputs/lint-results.xml; exit 1) + - ./gradlew -PdisablePreDex assembleVanillaRelease lint || (grep -A20 -B2 'severity="Error"' WordPress/build/outputs/lint-results-vanillaDebug.xml; exit 1) From 8d9d6b781bdf3860a4b816023c191a641498c51a Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Wed, 22 Jun 2016 12:30:51 +0200 Subject: [PATCH 10/12] Add comments to travis config --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index e6033b4c4e1b..b9ae9de05ce5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,7 @@ android: - extra-android-m2repository - extra-android-support - platform-tools + # TODO: Remove platform-tools-preview when platform-tools are updated to v24+ - platform-tools-preview - tools - build-tools-24.0.0 @@ -29,6 +30,7 @@ env: - ANDROID_TARGET=android-14 before_install: + # TODO: Remove the following line when platform-tools or platform-tools-preview are updated to v24+ - echo yes | android update sdk -a --filter platform-tools-preview --no-ui --force install: From 1adf7f879a7646a763a923bbb5415f97cbce243a Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Wed, 22 Jun 2016 13:22:50 +0200 Subject: [PATCH 11/12] Fix travis build (google removed platform-tools-preview from their repo) --- .travis.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b9ae9de05ce5..de255f5c116a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,8 +16,6 @@ android: - extra-android-m2repository - extra-android-support - platform-tools - # TODO: Remove platform-tools-preview when platform-tools are updated to v24+ - - platform-tools-preview - tools - build-tools-24.0.0 - android-24 @@ -30,8 +28,8 @@ env: - ANDROID_TARGET=android-14 before_install: - # TODO: Remove the following line when platform-tools or platform-tools-preview are updated to v24+ - - echo yes | android update sdk -a --filter platform-tools-preview --no-ui --force + # TODO: Remove the following line when Travis' platform-tools are updated to v24+ + - echo yes | android update sdk -a --filter platform-tools --no-ui --force install: # Setup gradle.properties From 7d681cb63e5533ed6b0a43d934df6ec4e32855fb Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Wed, 22 Jun 2016 17:05:53 +0200 Subject: [PATCH 12/12] remove unecessary method --- .../src/main/java/org/wordpress/android/WordPress.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/WordPress.java b/WordPress/src/main/java/org/wordpress/android/WordPress.java index 7802c267a8b2..441431301947 100644 --- a/WordPress/src/main/java/org/wordpress/android/WordPress.java +++ b/WordPress/src/main/java/org/wordpress/android/WordPress.java @@ -13,7 +13,6 @@ import android.os.Bundle; import android.os.StrictMode; import android.os.SystemClock; -import android.support.multidex.MultiDex; import android.support.multidex.MultiDexApplication; import android.text.TextUtils; import android.util.AndroidRuntimeException; @@ -111,11 +110,6 @@ public class WordPress extends MultiDexApplication { private static Context mContext; private static BitmapLruCache mBitmapCache; - protected void attachBaseContext(Context base) { - super.attachBaseContext(base); - MultiDex.install(this); - } - /** * Updates Options for the current blog in background. */