summaryrefslogtreecommitdiffstats
path: root/app/src/main/java
diff options
context:
space:
mode:
authortom79 <tschneider.ac@gmail.com>2020-04-11 14:43:33 +0200
committertom79 <tschneider.ac@gmail.com>2020-04-11 14:43:33 +0200
commit62fd00c871020c5983dc02c4c1b26505f97630f3 (patch)
treefd2e2f6a17f6214d7a8da7620b0c010f27f801ec /app/src/main/java
parent4284bccab9bb84269452e16fe67976b4f9942446 (diff)
Fix crash when playing youtube videos
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java12
-rw-r--r--app/src/main/java/app/fedilab/android/helper/Helper.java8
-rw-r--r--app/src/main/java/app/fedilab/android/webview/MastalabWebChromeClient.java5
3 files changed, 22 insertions, 3 deletions
diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
index 761778fd3..a31920fa0 100644
--- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
+++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
@@ -2141,7 +2141,11 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
if (status.getReblog() == null) {
if (status.getWebviewURL() != null) {
String url = status.getWebviewURL().replaceAll("&amp;", "&");
- holder.status_cardview_webview.loadUrl(url);
+ try {
+ holder.status_cardview_webview.loadUrl(url);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
holder.status_cardview_webview.setVisibility(View.VISIBLE);
holder.status_cardview_video.setVisibility(View.VISIBLE);
holder.webview_preview.setVisibility(View.GONE);
@@ -2153,7 +2157,11 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
} else {
if (status.getReblog().getWebviewURL() != null) {
String url = status.getReblog().getWebviewURL().replaceAll("&amp;", "&");
- holder.status_cardview_webview.loadUrl(url);
+ try {
+ holder.status_cardview_webview.loadUrl(url);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
holder.status_cardview_webview.setVisibility(View.VISIBLE);
holder.status_cardview_video.setVisibility(View.VISIBLE);
holder.webview_preview.setVisibility(View.GONE);
diff --git a/app/src/main/java/app/fedilab/android/helper/Helper.java b/app/src/main/java/app/fedilab/android/helper/Helper.java
index f21d7b05e..ee5e6fb8a 100644
--- a/app/src/main/java/app/fedilab/android/helper/Helper.java
+++ b/app/src/main/java/app/fedilab/android/helper/Helper.java
@@ -79,6 +79,7 @@ import android.view.WindowManager;
import android.webkit.CookieManager;
import android.webkit.MimeTypeMap;
import android.webkit.URLUtil;
+import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Button;
@@ -2222,7 +2223,12 @@ public class Helper {
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
-
+ webView.setWebChromeClient(new WebChromeClient() {
+ @Override
+ public Bitmap getDefaultVideoPoster() {
+ return Bitmap.createBitmap(50, 50, Bitmap.Config.ARGB_8888);
+ }
+ });
boolean proxyEnabled = sharedpreferences.getBoolean(Helper.SET_PROXY_ENABLED, false);
if (proxyEnabled) {
String host = sharedpreferences.getString(Helper.SET_PROXY_HOST, "127.0.0.1");
diff --git a/app/src/main/java/app/fedilab/android/webview/MastalabWebChromeClient.java b/app/src/main/java/app/fedilab/android/webview/MastalabWebChromeClient.java
index 925b16c59..b66395c35 100644
--- a/app/src/main/java/app/fedilab/android/webview/MastalabWebChromeClient.java
+++ b/app/src/main/java/app/fedilab/android/webview/MastalabWebChromeClient.java
@@ -77,6 +77,11 @@ public class MastalabWebChromeClient extends WebChromeClient implements MediaPla
}
@Override
+ public Bitmap getDefaultVideoPoster() {
+ return Bitmap.createBitmap(50, 50, Bitmap.Config.ARGB_8888);
+ }
+
+ @Override
public void onReceivedIcon(WebView view, Bitmap icon) {
super.onReceivedIcon(view, icon);
LayoutInflater mInflater = LayoutInflater.from(activity);