From 15c41a50c771c655f86c94cb24ded148a43b3d50 Mon Sep 17 00:00:00 2001 From: S-6203-ATLED Date: Fri, 13 May 2022 16:18:49 +0900 Subject: [PATCH] =?UTF-8?q?#79=20=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E6=99=82=E3=81=AE400=E3=82=A8=E3=83=A9=E3=83=BC=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=EF=BC=88=E3=83=87=E3=83=90=E3=82=A4=E3=82=B9ID?= =?UTF-8?q?=E7=99=BB=E9=8C=B2=E5=BE=8C=E3=81=AB=E3=82=BB=E3=83=83=E3=82=B7?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E6=83=85=E5=A0=B1API=E5=91=BC=E3=81=B3?= =?UTF-8?q?=E5=87=BA=E3=81=97=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../atled/agileworks/view/ui/MainActivity.kt | 13 --------- .../agileworks/view/ui/login/LoginFragment.kt | 29 ++++++++++++------- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt b/app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt index c9839248..1322ca82 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt @@ -51,7 +51,6 @@ class MainActivity : BaseActivity() { DrawerMenu.setup(this, drawer_layout, navigation_drawer) app_ver_label.text = getString(R.string.app_ver_format, BuildConfig.VERSION_NAME) setupNotification() - setupFcm() if (isDirectOpen()) { DirectOpenDocumentActivity.start(this, intent.extras) @@ -97,18 +96,6 @@ class MainActivity : BaseActivity() { manager.createNotificationChannel(channel) } - private fun setupFcm() { - // 非同期なので最初の API 呼び出しに間に合わない可能性はあるが、最初の何回かの API 呼出で - // デバイス ID 付加されずに最終利用日時が更新されないだけなので気にしない。 - FcmRepository().getFcmToken { _, token -> - if (token != null) { - DeviceInfoRepository().loadOrCreateDeviceId(this, token) { _, deviceId -> - Log.d(TAG, "device id = $deviceId") - } - } - } - } - override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) val isDarkTheme = newConfig.uiMode and Configuration.UI_MODE_NIGHT_MASK diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt index 3eaf474b..5eb23f87 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt @@ -21,8 +21,6 @@ import jp.atled.agileworks.BuildConfig import jp.atled.agileworks.R import jp.atled.agileworks.AwApp import jp.atled.agileworks.databinding.FragmentLoginBinding -import jp.atled.agileworks.model.CertRepository -import jp.atled.agileworks.model.NotificationRepository import jp.atled.agileworks.model.api.ApiClient import jp.atled.agileworks.view.ui.MainActivity import jp.atled.agileworks.view.ui.license.License @@ -36,7 +34,7 @@ import com.journeyapps.barcodescanner.ScanContract import com.journeyapps.barcodescanner.ScanOptions import com.journeyapps.barcodescanner.ScanIntentResult -import jp.atled.agileworks.model.LoginRepository +import jp.atled.agileworks.model.* class LoginFragment: Fragment() { @@ -234,12 +232,6 @@ class LoginFragment: Fragment() { override fun onPause() { Log.d(TAG, "call onPause()") super.onPause() - - try { - mOAuthService.saveAuthState() - } catch (e: Exception) { - Log.e(TAG, "exception: ${e.message ?: "(unknown exception)"}") - } } override fun onStop() { @@ -346,6 +338,11 @@ class LoginFragment: Fragment() { response, ex -> Log.d(TAG, "response?.jsonSerializeString()=" + response?.jsonSerializeString()) mOAuthService.getAuthState().update(response, ex) + try { + mOAuthService.saveAuthState() + } catch (e: Exception) { + Log.e(TAG, "exception: ${e.message ?: "(unknown exception)"}") + } if (response != null) { // トークンの更新に成功したら、MainActivity を起動 FirebaseInstanceId.getInstance().instanceId.addOnCompleteListener { task -> @@ -356,7 +353,7 @@ class LoginFragment: Fragment() { } else { Log.w(TAG, "getInstanceId failed", task.exception) } - whenAuthorizationSucceeds() + setupFcm() } } else { // 失敗したらログイン画面 @@ -366,6 +363,18 @@ class LoginFragment: Fragment() { Log.d(TAG, "return handleAuthorizationResponse()") } + private fun setupFcm() { + FcmRepository().getFcmToken { _, token -> + if (token != null) { + DeviceInfoRepository().loadOrCreateDeviceId(this.requireActivity(), token) { _, deviceId -> + Log.d(TAG, "device id = $deviceId") + // レスポンスが返ってきたらMainActivity起動 + whenAuthorizationSucceeds() + } + } + } + } + private fun whenAuthorizationSucceeds() { Log.d(TAG, "call whenAuthorizationSucceeds()") MainActivity.start(this.requireActivity(), arguments) -- GitLab