diff --git a/.travis.yml b/.travis.yml index e953821d..a95a49de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ android: - platform-tools - tools - extra-android-m2repository - - build-tools-25.0.2 - - android-25 + - build-tools-26.0.2 + - android-26 script: cd Clover && ./gradlew build --console plain -x lint diff --git a/Clover/app/build.gradle b/Clover/app/build.gradle index e1b95926..c9ae1444 100644 --- a/Clover/app/build.gradle +++ b/Clover/app/build.gradle @@ -13,9 +13,9 @@ def getCommitHash = { -> } android { - compileSdkVersion 25 + compileSdkVersion 26 // update the travis config when changing this - buildToolsVersion '25.0.3' + buildToolsVersion '26.0.2' defaultConfig { minSdkVersion 15 @@ -73,10 +73,12 @@ android { } defaultPublishConfig "default" + flavorDimensions "default" productFlavors { // The app name refers to the name as displayed on the launcher. // the flavor name is appended to the name in the settings. "default" { + dimension "default" applicationId "org.floens.chan" resValue "string", "app_name", "Clover" resValue "string", "app_flavor_name", "" @@ -84,6 +86,7 @@ android { } dev { + dimension "default" applicationId "org.floens.chan.dev" resValue "string", "app_name", "Clover dev" resValue "string", "app_flavor_name", "" @@ -91,6 +94,7 @@ android { } fdroid { + dimension "default" applicationId "org.floens.chan" resValue "string", "app_name", "Clover" resValue "string", "app_flavor_name", "F-Droid" @@ -120,24 +124,26 @@ android { } dependencies { - compile 'com.android.support:support-v13:25.3.1' - compile 'com.android.support:appcompat-v7:25.3.1' - compile 'com.android.support:recyclerview-v7:25.3.1' - compile 'com.android.support:cardview-v7:25.3.1' - compile 'com.android.support:support-annotations:25.3.1' - compile 'com.android.support:design:25.3.1' - compile 'com.android.support:customtabs:25.3.1' - compile 'com.android.support.constraint:constraint-layout:1.0.2' - - compile 'org.jsoup:jsoup:1.9.2' - compile 'com.j256.ormlite:ormlite-core:4.48' - compile 'com.j256.ormlite:ormlite-android:4.48' - compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.16' - compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0' - compile 'com.squareup.okhttp3:okhttp:3.4.1' - compile 'de.greenrobot:eventbus:2.4.0' - compile 'org.nibor.autolink:autolink:0.6.0' - compile 'com.google.code.gson:gson:2.8.1' + def supportVersion = '25.4.0' + + implementation "com.android.support:support-v13:${supportVersion}" + implementation "com.android.support:appcompat-v7:${supportVersion}" + implementation "com.android.support:recyclerview-v7:${supportVersion}" + implementation "com.android.support:cardview-v7:${supportVersion}" + implementation "com.android.support:support-annotations:${supportVersion}" + implementation "com.android.support:design:${supportVersion}" + implementation "com.android.support:customtabs:${supportVersion}" + implementation 'com.android.support.constraint:constraint-layout:1.0.2' + + implementation 'com.squareup.okhttp3:okhttp:3.8.0' + implementation 'com.j256.ormlite:ormlite-core:4.48' + implementation 'com.j256.ormlite:ormlite-android:4.48' + implementation 'org.jsoup:jsoup:1.9.2' + implementation 'pl.droidsonroids.gif:android-gif-drawable:1.1.16' + implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0' + implementation 'de.greenrobot:eventbus:2.4.0' + implementation 'org.nibor.autolink:autolink:0.6.0' + implementation 'com.google.code.gson:gson:2.8.1' // Yes that's dagger 1, "deprecated". // There's little wrong with it, except that it might be slow at runtime. diff --git a/Clover/app/src/main/java/org/floens/chan/controller/Controller.java b/Clover/app/src/main/java/org/floens/chan/controller/Controller.java index 9dffa588..d8154a5c 100644 --- a/Clover/app/src/main/java/org/floens/chan/controller/Controller.java +++ b/Clover/app/src/main/java/org/floens/chan/controller/Controller.java @@ -215,13 +215,13 @@ public abstract class Controller { if (animated) { ControllerTransition transition = new FadeOutTransition(); transition.from = this; - transition.perform(); transition.setCallback(new ControllerTransition.Callback() { @Override public void onControllerTransitionCompleted(ControllerTransition transition) { finishPresenting(); } }); + transition.perform(); } else { finishPresenting(); } diff --git a/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java b/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java index 7d819beb..f24ad897 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java +++ b/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java @@ -286,8 +286,11 @@ public class ReplyPresenter implements CaptchaCallback, ImagePickDelegate.ImageP if (withText) { String[] lines = post.comment.toString().split("\n+"); + final Pattern quotePattern = Pattern.compile("^>>(>/[a-z0-9]+/)?\\d+.*$"); // matches for >>123, >>123 (OP), >>123 (You), >>>/fit/123 for (String line : lines) { - textToInsert += ">" + line + "\n"; + if(!quotePattern.matcher(line).matches()) { // do not include post no from quoted post + textToInsert += ">" + line + "\n"; + } } } diff --git a/Clover/build.gradle b/Clover/build.gradle index 8f33bc1d..4e7d5fe7 100644 --- a/Clover/build.gradle +++ b/Clover/build.gradle @@ -1,15 +1,17 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { + google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.0.1' } } allprojects { repositories { + google() jcenter() maven { url 'https://maven.google.com' diff --git a/Clover/gradle/wrapper/gradle-wrapper.properties b/Clover/gradle/wrapper/gradle-wrapper.properties index 8faa73e1..a2361484 100644 --- a/Clover/gradle/wrapper/gradle-wrapper.properties +++ b/Clover/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Mar 07 00:32:11 EST 2017 +#Tue Oct 31 23:48:24 CET 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip diff --git a/README.md b/README.md index b6056739..e9ebc3bf 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Clover - 4chan browser for Android -[![build status](https://travis-ci.org/Floens/Clover.svg?branch=dev)](https://travis-ci.org/Floens/Clover) +[![slack](https://slack.plebco.de/badge.svg)](https://slack.plebco.de/) +[![irc](https://img.shields.io/badge/freenode-%23Clover-blue.svg)](https://webchat.freenode.net/?url=irc:///#Clover) Clover is a fast Android app for browsing [4chan](https://www.4chan.org/). Clover adds inline replying, thread watching, notifications, themes, pass support, filters and a whole lot more. Clover is licensed under the GPL and will always be free. @@ -26,4 +27,4 @@ See the [Clover setup guide](https://github.com/Floens/Clover/wiki/Building-Clov ## License * Clover is [GPLv3](https://github.com/Floens/Clover/blob/master/COPYING.txt) -* [Licenses of the used libraries](https://github.com/Floens/Clover/master/Clover/app/src/main/assets/html/licenses.html). +* [Licenses of the used libraries](https://github.com/Floens/Clover/blob/dev/Clover/app/src/main/assets/html/licenses.html).