diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c5ea5b12a..0dfe06b06 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -38,13 +38,6 @@ - - - - - - - + @@ -63,6 +57,21 @@ + + + + + + + + + + + + + + + diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index dcc2f81bb..5d041d496 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -192,7 +192,13 @@ public class AppDetails extends ListActivity { appid = ""; Uri data = getIntent().getData(); if (data != null) { - appid = data.getEncodedSchemeSpecificPart(); + if (data.isHierarchical()) + // fdroid://details?id=app.id + // market://details?id=app.id + appid = data.getQueryParameter("id"); + else + // fdroid.app:app.id (old scheme) + appid = data.getEncodedSchemeSpecificPart(); Log.d("FDroid", "AppDetails launched from link, for '" + appid + "'"); } else if (!i.hasExtra("appid")) { diff --git a/src/org/fdroid/fdroid/FDroid.java b/src/org/fdroid/fdroid/FDroid.java index fb871c7e0..bb7f3ac70 100644 --- a/src/org/fdroid/fdroid/FDroid.java +++ b/src/org/fdroid/fdroid/FDroid.java @@ -83,12 +83,7 @@ public class FDroid extends FragmentActivity { setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL); Intent i = getIntent(); - Uri data = i.getData(); - if (data != null && data.getScheme().equals("market")) { - Intent call = new Intent(this, AppDetails.class); - call.putExtra("appid", data.getQueryParameter("id")); - startActivityForResult(call, REQUEST_APPDETAILS); - } else if (i.hasExtra("uri")) { + if (i.hasExtra("uri")) { Intent call = new Intent(this, ManageRepo.class); call.putExtra("uri", i.getStringExtra("uri")); startActivityForResult(call, REQUEST_MANAGEREPOS);