Add chrome custom tab support

Drop api 14 support, minimum is now 15 (still Android 4.0, required by the custom tab lib)
Update dependencies
multisite
Floens 9 years ago
parent a8fa5fd869
commit e9f812ee58
  1. 24
      Clover/app/build.gradle
  2. 2
      Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java
  3. 3
      Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java
  4. 4
      Clover/app/src/main/java/org/floens/chan/ui/controller/ImageViewerController.java
  5. 3
      Clover/app/src/main/java/org/floens/chan/ui/controller/ViewThreadController.java
  6. 4
      Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadLayout.java
  7. 10
      Clover/app/src/main/java/org/floens/chan/utils/AndroidUtils.java
  8. 2
      Clover/build.gradle
  9. 4
      Clover/gradle/wrapper/gradle-wrapper.properties

@ -2,11 +2,11 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
buildToolsVersion '23.0.3'
defaultConfig {
applicationId "org.floens.chan"
minSdkVersion 14
minSdkVersion 15
targetSdkVersion 23
versionName "v2.1.3"
@ -72,16 +72,9 @@ android {
productFlavors {
normal {
applicationId = "org.floens.chan"
// resValue "string", "app_name", "Clover F-Droid"
resValue "string", "app_name", "Clover"
resValue "string", "app_flavor_name", ""
}
play {
applicationId = "org.floens.clover"
resValue "string", "app_name", "Clover"
resValue "string", "app_flavor_name", "Google Play"
}
}
sourceSets {
@ -90,12 +83,13 @@ android {
}
dependencies {
compile 'com.android.support:support-v13:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.android.support:support-annotations:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:support-v13:23.2.1'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:recyclerview-v7:23.2.1'
compile 'com.android.support:cardview-v7:23.2.1'
compile 'com.android.support:support-annotations:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:customtabs:23.2.1'
compile 'org.jsoup:jsoup:1.8.3'
compile 'com.j256.ormlite:ormlite-core:4.48'

@ -130,7 +130,7 @@ public class ChanSettings {
fontSize = new StringSetting(p, "preference_font", tablet ? "16" : "14");
fontCondensed = new BooleanSetting(p, "preference_font_condensed", false);
openLinkConfirmation = new BooleanSetting(p, "preference_open_link_confirmation", true);
openLinkConfirmation = new BooleanSetting(p, "preference_open_link_confirmation", false);
autoRefreshThread = new BooleanSetting(p, "preference_auto_refresh_thread", true);
// imageAutoLoad = new BooleanSetting(p, "preference_image_auto_load", true);
imageAutoLoadNetwork = new StringSetting(p, "preference_image_auto_load_network", MediaAutoLoadMode.WIFI.name);

@ -18,6 +18,7 @@
package org.floens.chan.ui.controller;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
@ -135,7 +136,7 @@ public class BrowseController extends ThreadController implements ToolbarMenuIte
if (id == SHARE_ID) {
AndroidUtils.shareLink(link);
} else {
AndroidUtils.openLink(link);
AndroidUtils.openLinkInBrowser((Activity) context, link);
}
break;

@ -166,7 +166,7 @@ public class ImageViewerController extends Controller implements ImageViewerPres
saveShare(true, postImage);
break;
case OPEN_BROWSER_ID:
AndroidUtils.openLink(postImage.imageUrl);
AndroidUtils.openLinkInBrowser((Activity) context, postImage.imageUrl);
break;
case SEARCH_ID:
List<FloatingMenuItem> items = new ArrayList<>();
@ -179,7 +179,7 @@ public class ImageViewerController extends Controller implements ImageViewerPres
public void onFloatingMenuItemClicked(FloatingMenu menu, FloatingMenuItem item) {
for (ImageSearch imageSearch : ImageSearch.engines) {
if (((Integer) item.getId()) == imageSearch.getId()) {
AndroidUtils.openLink(imageSearch.getUrl(presenter.getCurrentPostImage().imageUrl));
AndroidUtils.openLinkInBrowser((Activity) context, imageSearch.getUrl(presenter.getCurrentPostImage().imageUrl));
break;
}
}

@ -17,6 +17,7 @@
*/
package org.floens.chan.ui.controller;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
@ -198,7 +199,7 @@ public class ViewThreadController extends ThreadController implements ThreadLayo
if (id == SHARE_ID) {
AndroidUtils.shareLink(link);
} else {
AndroidUtils.openLink(link);
AndroidUtils.openLinkInBrowser((Activity) context, link);
}
break;

@ -281,14 +281,14 @@ public class ThreadLayout extends CoordinatorLayout implements ThreadPresenter.T
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
AndroidUtils.openLink(link);
AndroidUtils.openLinkInBrowser((Activity) getContext(), link);
}
})
.setTitle(R.string.open_link_confirmation)
.setMessage(link)
.show();
} else {
AndroidUtils.openLink(link);
AndroidUtils.openLinkInBrowser((Activity) getContext(), link);
}
}

@ -39,6 +39,7 @@ import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.preference.PreferenceManager;
import android.support.customtabs.CustomTabsIntent;
import android.support.design.widget.Snackbar;
import android.view.View;
import android.view.ViewGroup;
@ -56,6 +57,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import static org.floens.chan.ui.theme.ThemeHelper.theme;
public class AndroidUtils {
private static final String TAG = "AndroidUtils";
@ -146,6 +149,13 @@ public class AndroidUtils {
}
}
public static void openLinkInBrowser(Activity activity, String link) {
CustomTabsIntent intent = new CustomTabsIntent.Builder()
.setToolbarColor(theme().primaryColor.color)
.build();
intent.launchUrl(activity, Uri.parse(link));
}
public static void shareLink(String link) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");

@ -4,7 +4,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.android.tools.build:gradle:2.1.0-alpha5'
}
}

@ -1,6 +1,6 @@
#Mon Oct 26 15:16:34 CET 2015
#Tue Feb 23 22:00:42 CET 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

Loading…
Cancel
Save