diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5f41638d..ff64244b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -32,7 +32,7 @@
-
+
diff --git a/app/src/main/java/org/mapcomplete/MainActivity.java b/app/src/main/java/org/mapcomplete/MainActivity.java
index 6bc968bf..9b7f591c 100644
--- a/app/src/main/java/org/mapcomplete/MainActivity.java
+++ b/app/src/main/java/org/mapcomplete/MainActivity.java
@@ -21,6 +21,8 @@ public class MainActivity extends BridgeActivity {
private PluginCall locationRequest = null;
private PluginCall authRequest = null;
+ private JSObject loginToken = null;
+
@Override
public void onCreate(Bundle savedInstanceState) {
registerPlugin(Databridge.class);
@@ -31,6 +33,9 @@ public class MainActivity extends BridgeActivity {
});
Databridge.addResponder("request:login", pluginCall -> {
this.authRequest = pluginCall;
+ if(this.loginToken != null){
+ pluginCall.resolve(this.loginToken);
+ }
});
super.onCreate(savedInstanceState);
}
@@ -62,16 +67,17 @@ public class MainActivity extends BridgeActivity {
return;
}
- if (Objects.equals(url.getPath(), "/land.html")) {
- var code = url.getQueryParameter("code");
- var state = url.getQueryParameter("state");
+ if (Objects.equals(url.getPath(), "/passthrough.html")) {
+ var token = url.getQueryParameter("oauth_token");
JSObject obj = new JSObject();
- obj.put("code", code);
- obj.put("state", state);
+ obj.put("oauth_token", token);
JSObject res = new JSObject();
res.put("value", obj);
- Log.i("main", "Resolving auth call");
- this.authRequest.resolve(res);
+ Log.i("main", "Resolving auth call, param is " + token);
+ this.loginToken = res;
+ if(this.authRequest != null){
+ this.authRequest.resolve(res);
+ }
return;
}