From 3938146f93c2d123065a7228ed4e2673bf18a4c2 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 21 Dec 2017 10:08:27 +0100 Subject: [PATCH] set up "Android App Links" handling aka "Digital Asset Links" Add all the new URL path possibilities with the new website to the filter, and the possible, official host names. This makes it more likely that f-droid.org links go straight to F-Droid. * https://developers.google.com/digital-asset-links/v1/getting-started * https://developer.android.com/training/app-links/verify-site-associations.html fdroid-website#165 --- app/src/main/AndroidManifest.xml | 19 ++++++------------- .../fdroid/views/main/MainActivity.java | 18 +++++++++--------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76086e59d..fa543d83c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -301,7 +301,7 @@ - + @@ -311,20 +311,13 @@ + - - - - - - - - - - - - + + + + diff --git a/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java b/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java index 50636c861..1e3ad2412 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/main/MainActivity.java @@ -16,11 +16,9 @@ import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.view.ViewGroup; import android.widget.Toast; - import com.ashokvarma.bottomnavigation.BadgeItem; import com.ashokvarma.bottomnavigation.BottomNavigationBar; import com.ashokvarma.bottomnavigation.BottomNavigationItem; - import org.fdroid.fdroid.AppDetails2; import org.fdroid.fdroid.AppUpdateStatusManager; import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus; @@ -226,18 +224,20 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB } switch (host) { case "f-droid.org": - if (path.startsWith("/repository/browse")) { + case "www.f-droid.org": + case "staging.f-droid.org": + if (path.startsWith("/app/") || path.startsWith("/packages/") + || path.matches("^/[a-z][a-z][a-zA-Z_-]*/packages/.*")) { + // http://f-droid.org/app/packageName + packageName = data.getLastPathSegment(); + } else if (path.startsWith("/repository/browse")) { // http://f-droid.org/repository/browse?fdfilter=search+query query = UriCompat.getQueryParameter(data, "fdfilter"); // http://f-droid.org/repository/browse?fdid=packageName packageName = UriCompat.getQueryParameter(data, "fdid"); - } else if (path.startsWith("/app")) { - // http://f-droid.org/app/packageName - packageName = data.getLastPathSegment(); - if ("app".equals(packageName)) { - packageName = null; - } + } else if ("/app".equals(data.getPath()) || "/packages".equals(data.getPath())) { + packageName = null; } break; case "details":