diff --git a/app/src/full/AndroidManifest.xml b/app/src/full/AndroidManifest.xml
index a98dd272d..70c2bbe0f 100644
--- a/app/src/full/AndroidManifest.xml
+++ b/app/src/full/AndroidManifest.xml
@@ -44,6 +44,8 @@
+
+
= 23
+ && PackageManager.PERMISSION_GRANTED
+ != ContextCompat.checkSelfPermission(activity, coarseLocation)) {
+ ActivityCompat.requestPermissions(activity, new String[]{coarseLocation},
+ MainActivity.REQUEST_LOCATION_PERMISSIONS);
+ } else {
+ activity.startActivity(new Intent(activity, SwapWorkflowActivity.class));
+ }
}
});
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 6fa949376..d30c736e2 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
@@ -30,6 +30,7 @@ import android.content.IntentFilter;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.app.AppCompatActivity;
@@ -77,6 +78,7 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
public static final String EXTRA_VIEW_UPDATES = "org.fdroid.fdroid.views.main.MainActivity.VIEW_UPDATES";
public static final String EXTRA_VIEW_SETTINGS = "org.fdroid.fdroid.views.main.MainActivity.VIEW_SETTINGS";
+ static final int REQUEST_LOCATION_PERMISSIONS = 0xEF0F;
static final int REQUEST_STORAGE_PERMISSIONS = 0xB004;
private static final String ADD_REPO_INTENT_HANDLED = "addRepoIntentHandled";
@@ -208,6 +210,14 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
checkForAddRepoIntent(intent);
}
+ @Override
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { // NOCHECKSTYLE LineLength
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ if (requestCode == REQUEST_LOCATION_PERMISSIONS) {
+ startActivity(new Intent(this, SwapWorkflowActivity.class));
+ }
+ }
+
@Override
public void onTabSelected(int position) {
pager.scrollToPosition(position);