diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebFragment.kt b/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebFragment.kt index 9b0e7da7c0b9e4d269a8eabccf81b07b7f2c7996..038b25eefca0bd010a648b91346aa40090f75eb4 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebFragment.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebFragment.kt @@ -139,7 +139,6 @@ class DocumentWebFragment : Fragment(), DocumentWebPresenter { override fun onResume() { super.onResume() startNetworkCallback() - checkSetNetworkState() } override fun onPause() { 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 9fd004f53c3dc898a3b3b2dbd203ff12db289dd9..48aa9a611bbfc967312f56a2b88f44a1d0795363 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 @@ -85,8 +85,7 @@ class LoginFragment: Fragment() { Log.d(TAG, "authState.isAuthorized == true") Log.d(TAG,"appBackGroundStatus == true") disableLogin() - checkCookie() - onSuccessAuth() + setCookie() } else { // 認証済みの場合、生体/デバイス認証を実行 Log.d(TAG, "authState.isAuthorized == true") @@ -257,7 +256,7 @@ class LoginFragment: Fragment() { Log.d(TAG, "call startBiometricPrompt()") BiometricPrompt.auth(this.requireActivity()) { when (it) { - BiometricPrompt.Result.Success -> onSuccessAuth() + BiometricPrompt.Result.Success -> setCookie() BiometricPrompt.Result.UnsupportedHardware -> onFailureAuthBiometricPrompt(R.string.auth_biometric_unsupported_hardware) BiometricPrompt.Result.NotHasBiometricsOnHardware -> onFailureAuthBiometricPrompt(R.string.auth_biometric_not_has_biometrics_on_hardware) BiometricPrompt.Result.Cancel -> onFailureAuthBiometricPrompt(R.string.auth_biometric_cancel) @@ -267,7 +266,7 @@ class LoginFragment: Fragment() { } private fun onSuccessAuth() { - // トークンを更新 + // トークン更新に成功するとメイン画面へ Log.d(TAG, "call onBiometricAuth()") mOAuthService.performAction(AuthState.AuthStateAction() { accessToken, _, ex -> @@ -451,53 +450,35 @@ class LoginFragment: Fragment() { } // Cookieにセッション情報がセットされているかを判定 - private fun checkCookie() { + private fun setCookie() { val url = AwApp.Baseurl() CookieManager.getInstance().apply { - // Cookieの情報を取得 - val getCookieValue = getCookie(url) - // 取得したCookieがnullでなければ;で分割 - val cookieValue = getCookieValue?.split(';') - var jSessionId: String? = null - cookieValue?.forEach { p -> - // 文字列の先頭スペース削除 - val cookieValueTrim = p.trimStart() - // = で文字列分割 - val keyValue = cookieValueTrim.split('=') - // 分割した値がJSESSIONIDなら - if(keyValue[0] == "JSESSIONID") { - // 配列の要素数がが2以上なら - if (keyValue.size >= 2){ - jSessionId = keyValue[1] - } - // ループから抜ける - return@forEach - } - } - // JSESSIONIDがNullもしくは空ならセッションIDをセット - if (jSessionId.isNullOrEmpty()) { - // メインスレッドでHTTP通信をするとエラーになるためスレッドを分けて処理 - val job = SupervisorJob() - val scope = CoroutineScope(Dispatchers.Default + job) - scope.launch { - // セッションID取得、Cookieへセット、内部に保持 - try { - // HTTP通信 - val response = ApiClient.instance.getSession().execute() - if (response.isSuccessful) { - response.body()!!.session_id?.apply { - val sessionId = response.body()!!.session_id - setCookie("https://${LoginRepository().loadServerUrl()}", "JSESSIONID=${sessionId}; Path=/${LoginRepository().loadServerContext()}; HttpOnly;Secure;SameSite=None") - flush() - // セッションID保存 - AwApp.instance.applicationContext.getSharedPreferences("cookie", Context.MODE_PRIVATE) - .edit() - .putString("sessionId", sessionId) - .apply() - } + // メインスレッドでHTTP通信をするとエラーになるためスレッドを分けて処理 + val job = SupervisorJob() + val scope = CoroutineScope(Dispatchers.Default + job) + scope.launch { + // セッションID取得、Cookieへセット、内部に保持 + try { + // HTTP通信 + val response = ApiClient.instance.getSession().execute() + if (response.isSuccessful) { + response.body()!!.session_id?.apply { + val sessionId = response.body()!!.session_id + setCookie("https://${LoginRepository().loadServerUrl()}", "JSESSIONID=${sessionId}; Path=/${LoginRepository().loadServerContext()}; HttpOnly;Secure;SameSite=None") + flush() + // セッションID保存 + AwApp.instance.applicationContext.getSharedPreferences("cookie", Context.MODE_PRIVATE) + .edit() + .putString("sessionId", sessionId) + .apply() } - } catch (e: Exception) { - Log.e(TAG, e.toString(), e) + //トークン更新に成功するとメイン画面へ + whenAuthorizationSucceeds() + } + } catch (e: Exception) { + Log.e(TAG, e.toString(), e) + requireActivity().runOnUiThread { + loginAlert(R.string.auth_biometric_failure_dialog_message) } } } diff --git a/gradle/wrapper/gradle-7.0.2-all.zip b/gradle/wrapper/gradle-7.0.2-all.zip deleted file mode 100644 index 2851666d247972b37c0827bcf0d4d7409fc39a01..0000000000000000000000000000000000000000 Binary files a/gradle/wrapper/gradle-7.0.2-all.zip and /dev/null differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 418196d68e1bda8a09666f9ca63a0b7e4923bea2..e58cdc6383820cb358b24487e110994f23b252f5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=gradle-7.0.2-all.zip +#distributionUrl=gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip