mirror of
https://github.com/lichess-org/mobile.git
synced 2026-05-26 13:50:52 +00:00
Merge branch 'freebeartogoodhome-androidLogin'
This commit is contained in:
@@ -154,15 +154,23 @@
|
||||
android:name="flutterEmbedding"
|
||||
android:value="2" />
|
||||
</application>
|
||||
<!-- Required to query activities that can process text, see:
|
||||
https://developer.android.com/training/package-visibility and
|
||||
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
|
||||
|
||||
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
|
||||
<!-- On Android 11+ (API 30) package visibility is restricted: the app can only see/resolve other
|
||||
apps it explicitly declares intents for here. See:
|
||||
https://developer.android.com/training/package-visibility -->
|
||||
<queries>
|
||||
<!-- Lets the Flutter engine resolve text-processing apps (io.flutter.plugin.text.ProcessTextPlugin), see:
|
||||
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT -->
|
||||
<intent>
|
||||
<action android:name="android.intent.action.PROCESS_TEXT"/>
|
||||
<data android:mimeType="text/plain"/>
|
||||
</intent>
|
||||
<!-- Lets url_launcher discover a browser/Custom Tabs handler for https. Required for OAuth
|
||||
login: without it, launchUrl() can't resolve a browser on Android 11+ and returns false,
|
||||
so the in-app browser never opens and sign-in fails. -->
|
||||
<intent>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="https" />
|
||||
</intent>
|
||||
</queries>
|
||||
</manifest>
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.lichess.mobileV2
|
||||
|
||||
import android.app.ActivityManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Rect
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
@@ -20,6 +21,16 @@ class MainActivity: FlutterActivity() {
|
||||
super.onCreate(savedInstanceState)
|
||||
}
|
||||
|
||||
// The OAuth redirect (org.lichess.mobile://login-callback) is delivered here, not in onCreate,
|
||||
// because OAuthCallbackActivity forwards it to this already-running singleTop instance. Flutter's
|
||||
// default handling leaves getIntent() pointing at the stale launch intent, so app_links would read
|
||||
// the wrong URI and the login flow would never receive the callback. setIntent() updates the
|
||||
// activity's current intent to the one carrying the OAuth code so app_links surfaces it correctly.
|
||||
override fun onNewIntent(intent: Intent) {
|
||||
setIntent(intent)
|
||||
super.onNewIntent(intent)
|
||||
}
|
||||
|
||||
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
|
||||
super.configureFlutterEngine(flutterEngine)
|
||||
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, GESTURES_CHANNEL).setMethodCallHandler {
|
||||
|
||||
Reference in New Issue
Block a user