diff --git a/app/build.gradle b/app/build.gradle
index 9b1476805..80069389a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -47,6 +47,7 @@ android {
packagingOptions {
exclude 'META-INF/proguard/androidx-annotations.pro'
}
+ viewBinding.enabled = true
}
allprojects {
repositories {
diff --git a/app/src/main/assets/changelogs/359.txt b/app/src/main/assets/changelogs/359.txt
new file mode 100644
index 000000000..b237b22a1
--- /dev/null
+++ b/app/src/main/assets/changelogs/359.txt
@@ -0,0 +1,5 @@
+Changed:
+
+
+Fixed:
+- Crash when Youtube videos in timelines
\ No newline at end of file
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
@@ -76,6 +76,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);
diff --git a/app/src/main/res/layout/fragment_settings_reveal.xml b/app/src/main/res/layout/fragment_settings_reveal.xml
index c4aaa8a71..e3be902d4 100644
--- a/app/src/main/res/layout/fragment_settings_reveal.xml
+++ b/app/src/main/res/layout/fragment_settings_reveal.xml
@@ -1843,7 +1843,9 @@
android:id="@+id/translation_key"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="@string/your_api_key" />
+ android:hint="@string/your_api_key"
+ android:inputType="text"
+ android:importantForAutofill="no" />
+ android:hint="@string/settings_custom_sharing_url"
+ android:inputType="textUri"
+ android:importantForAutofill="no" />
+ android:inputType="textWebEditText"
+ android:importantForAutofill="no" />
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 28ee0ba50..000a0b10e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1226,4 +1226,5 @@
Announcements
No announcements!
Add a reaction
+ Use your favourite browser inside the app. Uncheck this feature to open links externally.
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 2d1d9aae1..db1fb473c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,7 @@ buildscript {
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.6.1'
+ classpath 'com.android.tools.build:gradle:3.6.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files