From 7ef88c7ab6624b991fe64d32709f1fb5a0b05490 Mon Sep 17 00:00:00 2001 From: Sergiotarxz Date: Wed, 30 Aug 2023 16:52:59 +0200 Subject: [PATCH] Adding auto open urls in app. --- app/build.gradle.kts | 10 ++- app/build/outputs/apk/debug/app-debug.apk | Bin 5385302 -> 5386453 bytes app/src/main/AndroidManifest.xml | 16 +++- .../java/info/burguillos/bi/MainActivity.java | 74 ++++++++++++------ .../main/java/info/burguillos/bi/OpenUrl.java | 30 +++++++ 5 files changed, 104 insertions(+), 26 deletions(-) create mode 100644 app/src/main/java/info/burguillos/bi/OpenUrl.java diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 39f2fe6..4e534d3 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -32,8 +32,6 @@ android { } dependencies { - val core_version = "1.10.1" - implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.8.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") @@ -44,3 +42,11 @@ dependencies { implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") } + +allprojects { + gradle.projectsEvaluated { + tasks.withType { + options.compilerArgs.add("-Xlint:deprecation") + } + } +} diff --git a/app/build/outputs/apk/debug/app-debug.apk b/app/build/outputs/apk/debug/app-debug.apk index 63dba17c96623e29cb967c1309cf3c3025ea4d7e..56304c44a122f8238931dcf3a65f8aea5d6f4cce 100644 GIT binary patch delta 21535 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 v$HWh`R6 - + + + + + + + + + + diff --git a/app/src/main/java/info/burguillos/bi/MainActivity.java b/app/src/main/java/info/burguillos/bi/MainActivity.java index 7cabb18..dacb092 100644 --- a/app/src/main/java/info/burguillos/bi/MainActivity.java +++ b/app/src/main/java/info/burguillos/bi/MainActivity.java @@ -2,6 +2,7 @@ package info.burguillos.bi; import android.webkit.WebView; import android.webkit.WebViewClient; +import android.webkit.WebResourceRequest; import android.webkit.JavascriptInterface; import android.util.Log; @@ -11,6 +12,7 @@ import android.content.Intent; import android.app.PendingIntent; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import android.view.View; +import android.net.Uri; import android.widget.RelativeLayout; import android.content.pm.ShortcutInfo; import android.graphics.BitmapFactory; @@ -31,15 +33,15 @@ public class MainActivity extends AppCompatActivity { private RelativeLayout relativeLayout; private static Bitmap getBitmap(String url) { - try { - InputStream is = (InputStream) new URL(url).getContent(); - Bitmap d = BitmapFactory.decodeStream(is); - is.close(); - return d; - } catch (Exception e) { + try { + InputStream is = (InputStream) new URL(url).getContent(); + Bitmap d = BitmapFactory.decodeStream(is); + is.close(); + return d; + } catch (Exception e) { Log.w("BurguillosInfo", e); - return null; - } + return null; + } } @Override @@ -88,15 +90,15 @@ public class MainActivity extends AppCompatActivity { targetIntent.putExtra("url", url); Log.w("BurguillosInfo", "Created intent " + url + " " + shortLabel); - Bitmap bitmapIcon = getBitmap(iconUrl); - if (bitmapIcon == null) { - Log.w("BurguillosInfo", "No bitmap."); - } + Bitmap bitmapIcon = getBitmap(iconUrl); + if (bitmapIcon == null) { + Log.w("BurguillosInfo", "No bitmap."); + } ShortcutInfo pinShortcutInfo = new ShortcutInfo.Builder(MainActivity.this, url) .setShortLabel(shortLabel) .setIntent(targetIntent) - .setIcon(Icon.createWithBitmap(getBitmap(iconUrl))) + .setIcon(Icon.createWithBitmap(getBitmap(iconUrl))) .build(); Log.w("BurguillosInfo", "Built pin."); @@ -105,17 +107,11 @@ public class MainActivity extends AppCompatActivity { } } webView.addJavascriptInterface(new WebCallsAndroidCode(), "Android"); - Bundle resultIntent = getIntent().getExtras(); + Intent resultIntent = getIntent(); - String url = "https://burguillos.info"; - if(resultIntent != null) - { - String paramURL = resultIntent.getString("url"); - if (paramURL != null) { - Log.w("BurguillosInfo", paramURL); - url += paramURL; - } - } + String baseUrl = "https://burguillos.info"; + String url = baseUrl; + url = getCorrectUrlForIntent(resultIntent, url); webView.loadUrl(url); webView.getSettings().setJavaScriptEnabled(true); @@ -126,9 +122,41 @@ public class MainActivity extends AppCompatActivity { public void onPageStarted(WebView view, String url) { } + @Override + public boolean shouldOverrideUrlLoading(WebView view, + WebResourceRequest request) { + Uri uri = request.getUrl(); + if (!uri.toString().startsWith(baseUrl) && !uri.toString().startsWith("/")) { + final Intent intent = new Intent(Intent.ACTION_VIEW, uri); + startActivity(intent); + return true; + } + return false; + } }); } + public static String getCorrectUrlForIntent(Intent resultIntent, String url) { + Bundle extras = resultIntent.getExtras(); + if(extras != null) + { + String paramURL = extras.getString("url"); + if (paramURL != null) { + return url + paramURL; + } + } + Uri possibleUri = resultIntent.getData(); + if (possibleUri== null) { + return url; + } + String possibleUrl = possibleUri.toString(); + if (possibleUrl.startsWith("http")) { + return possibleUrl; + } + Log.w("BurguillosInfo", url); + return url; + } + @Override public void onBackPressed() { WebView webView = findViewById(R.id.web); diff --git a/app/src/main/java/info/burguillos/bi/OpenUrl.java b/app/src/main/java/info/burguillos/bi/OpenUrl.java new file mode 100644 index 0000000..112797f --- /dev/null +++ b/app/src/main/java/info/burguillos/bi/OpenUrl.java @@ -0,0 +1,30 @@ +package info.burguillos.bi; + +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.webkit.WebResourceRequest; +import android.webkit.JavascriptInterface; +import android.util.Log; + +import android.view.ViewTreeObserver; +import android.view.MotionEvent; +import android.content.Intent; +import android.app.PendingIntent; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; +import android.view.View; +import android.net.Uri; +import android.widget.RelativeLayout; +import android.content.pm.ShortcutInfo; +import android.graphics.BitmapFactory; +import android.graphics.Bitmap; +import android.graphics.drawable.Icon; +import java.io.InputStream; +import java.net.URL; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; +import android.content.pm.ShortcutManager; + +public class OpenUrl extends AppCompatActivity { +}