diff options
author | tom79 <tschneider.ac@gmail.com> | 2020-04-11 14:43:33 +0200 |
---|---|---|
committer | tom79 <tschneider.ac@gmail.com> | 2020-04-11 14:43:33 +0200 |
commit | 62fd00c871020c5983dc02c4c1b26505f97630f3 (patch) | |
tree | fd2e2f6a17f6214d7a8da7620b0c010f27f801ec /app/src/main/java | |
parent | 4284bccab9bb84269452e16fe67976b4f9942446 (diff) |
Fix crash when playing youtube videos
Diffstat (limited to 'app/src/main/java')
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("&", "&"); - 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("&", "&"); - 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); |