Loading app/src/main/java/at/bitfire/davdroid/ReLoginWithOidcActivity.kt +4 −42 Original line number Diff line number Diff line Loading @@ -2,18 +2,11 @@ package at.bitfire.davdroid import android.accounts.AccountManager import android.accounts.AccountManager.KEY_ACCOUNT_NAME import android.accounts.AccountManager.KEY_ACCOUNT_SESSION_BUNDLE import android.accounts.AccountManager.KEY_ACCOUNT_TYPE import android.accounts.AccountManager.KEY_BOOLEAN_RESULT import android.accounts.AccountManager.KEY_INTENT import android.accounts.AccountManagerFuture import android.accounts.AuthenticatorException import android.content.Intent import android.os.Build import android.os.Bundle import android.os.PersistableBundle import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import at.bitfire.davdroid.log.Logger import com.owncloud.android.lib.common.operations.OperationCancelledException Loading @@ -21,24 +14,6 @@ import java.io.IOException class ReLoginWithOidcActivity : AppCompatActivity() { private lateinit var addAccountLauncher: ActivityResultLauncher<Intent> override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) { super.onCreate(savedInstanceState, persistentState) // Initialize the ActivityResultLauncher addAccountLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == RESULT_OK) { // Account was added successfully // Handle the result here Logger.log.info("Vincent: callback for resultActivity launch") } } } override fun onStart() { super.onStart() Loading Loading @@ -93,6 +68,8 @@ class ReLoginWithOidcActivity : AppCompatActivity() { Logger.log.info("Vincent: IOException: can't add account: ${exception.message}") } catch (exception: OperationCancelledException) { Logger.log.info("Vincent: OperationCancelledException: can't add account: ${exception.message}") } catch (exception: Exception) { Logger.log.info("Vincent: catch unexpected exception: ${exception.message}") } } Loading @@ -108,25 +85,10 @@ class ReLoginWithOidcActivity : AppCompatActivity() { if (accountName != null) { Logger.log.info("Vincent: ($accountType) account added: $accountName") } finish() return } val intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { result.getParcelable(KEY_INTENT, Intent::class.java) } else { result.getParcelable<Intent>(KEY_INTENT) } try { intent?.let { Logger.log.info("Vincent: start activity for result with intent") addAccountLauncher.launch(it) } } catch (exception: Exception) { Logger.log.info("Vincent: StartAddAccount: exception: ${exception.message}") } } } typealias AliasFuture = AccountManagerFuture<Bundle> Loading
app/src/main/java/at/bitfire/davdroid/ReLoginWithOidcActivity.kt +4 −42 Original line number Diff line number Diff line Loading @@ -2,18 +2,11 @@ package at.bitfire.davdroid import android.accounts.AccountManager import android.accounts.AccountManager.KEY_ACCOUNT_NAME import android.accounts.AccountManager.KEY_ACCOUNT_SESSION_BUNDLE import android.accounts.AccountManager.KEY_ACCOUNT_TYPE import android.accounts.AccountManager.KEY_BOOLEAN_RESULT import android.accounts.AccountManager.KEY_INTENT import android.accounts.AccountManagerFuture import android.accounts.AuthenticatorException import android.content.Intent import android.os.Build import android.os.Bundle import android.os.PersistableBundle import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import at.bitfire.davdroid.log.Logger import com.owncloud.android.lib.common.operations.OperationCancelledException Loading @@ -21,24 +14,6 @@ import java.io.IOException class ReLoginWithOidcActivity : AppCompatActivity() { private lateinit var addAccountLauncher: ActivityResultLauncher<Intent> override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) { super.onCreate(savedInstanceState, persistentState) // Initialize the ActivityResultLauncher addAccountLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == RESULT_OK) { // Account was added successfully // Handle the result here Logger.log.info("Vincent: callback for resultActivity launch") } } } override fun onStart() { super.onStart() Loading Loading @@ -93,6 +68,8 @@ class ReLoginWithOidcActivity : AppCompatActivity() { Logger.log.info("Vincent: IOException: can't add account: ${exception.message}") } catch (exception: OperationCancelledException) { Logger.log.info("Vincent: OperationCancelledException: can't add account: ${exception.message}") } catch (exception: Exception) { Logger.log.info("Vincent: catch unexpected exception: ${exception.message}") } } Loading @@ -108,25 +85,10 @@ class ReLoginWithOidcActivity : AppCompatActivity() { if (accountName != null) { Logger.log.info("Vincent: ($accountType) account added: $accountName") } finish() return } val intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { result.getParcelable(KEY_INTENT, Intent::class.java) } else { result.getParcelable<Intent>(KEY_INTENT) } try { intent?.let { Logger.log.info("Vincent: start activity for result with intent") addAccountLauncher.launch(it) } } catch (exception: Exception) { Logger.log.info("Vincent: StartAddAccount: exception: ${exception.message}") } } } typealias AliasFuture = AccountManagerFuture<Bundle>