diff --git a/app/android/app/src/main/AndroidManifest.xml b/app/android/app/src/main/AndroidManifest.xml index 177d060..1ad7e7f 100644 --- a/app/android/app/src/main/AndroidManifest.xml +++ b/app/android/app/src/main/AndroidManifest.xml @@ -7,7 +7,6 @@ android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" - android:taskAffinity="" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" diff --git a/app/test/store_readiness_test.dart b/app/test/store_readiness_test.dart index bd59af9..cc89e99 100644 --- a/app/test/store_readiness_test.dart +++ b/app/test/store_readiness_test.dart @@ -69,6 +69,18 @@ void main() { }); }); + test('Android — MainActivity 가 패키지 기본 task 에 있어 LINE 로그인 후 앱으로 돌아온다', () { + // LINE SDK 는 lineauth:// 복귀 시 결과 화면을 NEW_TASK|CLEAR_TOP 으로 띄워 패키지 + // affinity 의 task 를 찾는다. MainActivity 의 taskAffinity 가 비어 있으면 새 task 가 + // 생겨 Chrome 맞춤 탭이 앱 위에 남는다(사용자가 X 를 눌러야 로그인이 끝난다). + final manifest = _read('android/app/src/main/AndroidManifest.xml'); + final mainActivity = RegExp( + r']*android:name="\.MainActivity"[^>]*>', + ).firstMatch(manifest)?.group(0); + expect(mainActivity, isNotNull); + expect(mainActivity, isNot(contains('taskAffinity'))); + }); + test('설정·서명 자산을 git 이 추적하지 않는다', () { final result = Process.runSync('git', [ 'ls-files',