From fb7053da2079b624d6129ef81370a9d5774bcb9a Mon Sep 17 00:00:00 2001 From: k0shk0sh Date: Sat, 4 Jan 2020 12:18:49 +0100 Subject: [PATCH] download apk using chrome --- .../com/fastaccess/provider/rest/RestProvider.java | 10 ++++++++++ .../provider/timeline/handler/QuoteHandler.java | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java index 1c7158e2..2723e8ce 100644 --- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java +++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java @@ -1,7 +1,9 @@ package com.fastaccess.provider.rest; +import android.app.Activity; import android.app.DownloadManager; import android.content.Context; +import android.content.Intent; import android.net.Uri; import android.os.Environment; import android.text.TextUtils; @@ -23,6 +25,7 @@ import com.fastaccess.data.service.RepoService; import com.fastaccess.data.service.ReviewService; import com.fastaccess.data.service.SearchService; import com.fastaccess.data.service.UserRestService; +import com.fastaccess.helper.ActivityHelper; import com.fastaccess.helper.InputHelper; import com.fastaccess.helper.PrefGetter; import com.fastaccess.provider.rest.converters.GithubResponseConverter; @@ -98,6 +101,13 @@ public class RestProvider { try { if (InputHelper.isEmpty(url)) return; boolean isEnterprise = LinkParserHelper.isEnterprise(url); + if (url.endsWith(".apk")) { + Activity activity = ActivityHelper.getActivity(context); + if (activity != null) { + ActivityHelper.startCustomTab(activity, url); + return; + } + } Uri uri = Uri.parse(url); DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE); DownloadManager.Request request = new DownloadManager.Request(uri); diff --git a/app/src/main/java/com/fastaccess/provider/timeline/handler/QuoteHandler.java b/app/src/main/java/com/fastaccess/provider/timeline/handler/QuoteHandler.java index 1ead0e21..b1492f0f 100644 --- a/app/src/main/java/com/fastaccess/provider/timeline/handler/QuoteHandler.java +++ b/app/src/main/java/com/fastaccess/provider/timeline/handler/QuoteHandler.java @@ -1,6 +1,7 @@ package com.fastaccess.provider.timeline.handler; import androidx.annotation.ColorInt; + import android.text.SpannableStringBuilder; import com.zzhoujay.markdown.style.MarkDownQuoteSpan; @@ -21,6 +22,10 @@ import lombok.AllArgsConstructor; @Override public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end) { - builder.setSpan(new MarkDownQuoteSpan(color), start + 1, builder.length(), 33); + try { + builder.setSpan(new MarkDownQuoteSpan(color), start + 1, builder.length(), 33); + } catch (IndexOutOfBoundsException e) { + builder.setSpan(new MarkDownQuoteSpan(color), start, builder.length(), 33); + } } }