diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 4d3db9f80..cafacbd19 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -129,6 +129,12 @@ + + diff --git a/custom_rules.xml b/custom_rules.xml new file mode 100644 index 000000000..8306b3fb5 --- /dev/null +++ b/custom_rules.xml @@ -0,0 +1,15 @@ + + + + + Downloading XML test report… + + + + + + + + + + diff --git a/src/org/fdroid/fdroid/FDroid.java b/src/org/fdroid/fdroid/FDroid.java index 6576b8582..08b6e3609 100644 --- a/src/org/fdroid/fdroid/FDroid.java +++ b/src/org/fdroid/fdroid/FDroid.java @@ -257,7 +257,7 @@ public class FDroid extends FragmentActivity { case REQUEST_APPDETAILS: break; case REQUEST_MANAGEREPOS: - if (data.hasExtra(ManageRepo.REQUEST_UPDATE)) { + if (data != null && data.hasExtra(ManageRepo.REQUEST_UPDATE)) { AlertDialog.Builder ask_alrt = new AlertDialog.Builder(this); ask_alrt.setTitle(getString(R.string.repo_update_title)); ask_alrt.setIcon(android.R.drawable.ic_menu_rotate); diff --git a/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java b/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java index c30f23397..fa43cb82b 100644 --- a/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java +++ b/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java @@ -208,6 +208,14 @@ public class RepoListFragment extends ListFragment * case means it should be downcased. */ uri = Uri.parse(uri.toString().toLowerCase(Locale.ENGLISH)); + } else if (uri.getPath().startsWith("/FDROID/REPO")) { + /* + * some QR scanners chop off the fdroidrepo:// and just try + * http://, then the incoming URI does not get downcased + * properly, and the query string is stripped off. So just + * downcase the path, and carry on to get something working. + */ + uri = Uri.parse(uri.toString().toLowerCase(Locale.ENGLISH)); } // make scheme and host lowercase so they're readable in dialogs scheme = scheme.toLowerCase(Locale.ENGLISH);