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 10 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