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);