Loading app/src/main/java/at/bitfire/davdroid/ReLoginWithOidcActivity.kt +6 −9 Original line number Original line Diff line number Diff line Loading @@ -16,21 +16,18 @@ class ReLoginWithOidcActivity : AppCompatActivity() { val accountRemovalCallback: (AliasFuture) -> Unit = { future -> val accountRemovalCallback: (AliasFuture) -> Unit = { future -> val success = future.result.getBoolean(KEY_BOOLEAN_RESULT) val success = future.result.getBoolean(KEY_BOOLEAN_RESULT) Logger.log.info("$accountName removal succeed ? $success") if (success) { if (success) { Logger.log.info("Vincent: $accountName removed") loginAccount(accountManager) loginAccount(accountManager) } else { } else { Logger.log.info("failed to remove account: ${accountName} ") Logger.log.info("failed to remove account: $accountName ") } } } } logoutAccount(accountName, accountManager, accountRemovalCallback) logoutAccount(accountName, accountManager, accountRemovalCallback) } } private fun logoutAccount(accountName: String, private fun logoutAccount(accountName: String, accountManager: AccountManager, accountManager: AccountManager, callback : (AliasFuture) -> Unit) callback : (AliasFuture) -> Unit) Loading @@ -39,9 +36,8 @@ class ReLoginWithOidcActivity : AppCompatActivity() { val activity = this val activity = this eAccounts.first { it.name == accountName }.run { eAccounts.first { it.name == accountName }.run { Logger.log.info("try to remove account: ${this.name} ") //todo remove this before merge Logger.log.info("Vincent: try to remove account: ${this.name} ") //todo remove this before merge accountManager.removeAccount(this, activity, callback, null) accountManager.removeAccount(this, activity, callback, null) } ?: finish() } ?: finish() } } Loading @@ -49,6 +45,7 @@ class ReLoginWithOidcActivity : AppCompatActivity() { val eAccountType = applicationContext.getString(R.string.eelo_account_type) val eAccountType = applicationContext.getString(R.string.eelo_account_type) val authTokenType = null val authTokenType = null Logger.log.info("Vincent: Will start add Account Session") accountManager.startAddAccountSession(eAccountType, accountManager.startAddAccountSession(eAccountType, authTokenType, authTokenType, arrayOf(), arrayOf(), Loading app/src/main/kotlin/at/bitfire/davdroid/receiver/BootCompletedReceiver.kt +5 −6 Original line number Original line Diff line number Diff line Loading @@ -10,7 +10,6 @@ import android.app.PendingIntent import android.content.BroadcastReceiver import android.content.BroadcastReceiver import android.content.Context import android.content.Context import android.content.Intent import android.content.Intent import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.app.NotificationManagerCompat import at.bitfire.davdroid.R import at.bitfire.davdroid.R import at.bitfire.davdroid.ReLoginWithOidcActivity import at.bitfire.davdroid.ReLoginWithOidcActivity Loading Loading @@ -44,7 +43,8 @@ class BootCompletedReceiver: BroadcastReceiver() { val accountSettings = AccountSettings(context, it) val accountSettings = AccountSettings(context, it) accountSettings.initSync() accountSettings.initSync() if (it.type.equals(eAccountType) && !isLoggedWithOpenId(it, accountManager)) { if (eAccountType == it.type && !isLoggedWithOpenId(it, accountManager)) { Logger.log.info("Vincent: eAccountFound. Will notify") notifySwitchToOpenId(it, context) notifySwitchToOpenId(it, context) } } } } Loading @@ -62,7 +62,6 @@ class BootCompletedReceiver: BroadcastReceiver() { val notifText = context.getString(R.string.notification_switch_to_openId_text) val notifText = context.getString(R.string.notification_switch_to_openId_text) val notifIntent = generateLogoutIntent(account.name, context) val notifIntent = generateLogoutIntent(account.name, context) val notification = NotificationUtils.newBuilder(context, CHANNEL_GENERAL) val notification = NotificationUtils.newBuilder(context, CHANNEL_GENERAL) .setContentTitle(notifTitle) .setContentTitle(notifTitle) .setContentText(notifText) .setContentText(notifText) Loading @@ -76,14 +75,14 @@ class BootCompletedReceiver: BroadcastReceiver() { } } private fun generateLogoutIntent(accountName: String, context: Context): PendingIntent { private fun generateLogoutIntent(accountName: String, context: Context): PendingIntent { val reloginIntent = Intent(context, ReLoginWithOidcActivity::class.java).apply { val reLoginIntent = Intent(context, ReLoginWithOidcActivity::class.java).apply { flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK putExtra(AccountManager.KEY_ACCOUNT_NAME, accountName) putExtra(AccountManager.KEY_ACCOUNT_NAME, accountName) } } return PendingIntent.getActivity(context, return PendingIntent.getActivity(context, 0, 0, reloginIntent, reLoginIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) } } } } Loading
app/src/main/java/at/bitfire/davdroid/ReLoginWithOidcActivity.kt +6 −9 Original line number Original line Diff line number Diff line Loading @@ -16,21 +16,18 @@ class ReLoginWithOidcActivity : AppCompatActivity() { val accountRemovalCallback: (AliasFuture) -> Unit = { future -> val accountRemovalCallback: (AliasFuture) -> Unit = { future -> val success = future.result.getBoolean(KEY_BOOLEAN_RESULT) val success = future.result.getBoolean(KEY_BOOLEAN_RESULT) Logger.log.info("$accountName removal succeed ? $success") if (success) { if (success) { Logger.log.info("Vincent: $accountName removed") loginAccount(accountManager) loginAccount(accountManager) } else { } else { Logger.log.info("failed to remove account: ${accountName} ") Logger.log.info("failed to remove account: $accountName ") } } } } logoutAccount(accountName, accountManager, accountRemovalCallback) logoutAccount(accountName, accountManager, accountRemovalCallback) } } private fun logoutAccount(accountName: String, private fun logoutAccount(accountName: String, accountManager: AccountManager, accountManager: AccountManager, callback : (AliasFuture) -> Unit) callback : (AliasFuture) -> Unit) Loading @@ -39,9 +36,8 @@ class ReLoginWithOidcActivity : AppCompatActivity() { val activity = this val activity = this eAccounts.first { it.name == accountName }.run { eAccounts.first { it.name == accountName }.run { Logger.log.info("try to remove account: ${this.name} ") //todo remove this before merge Logger.log.info("Vincent: try to remove account: ${this.name} ") //todo remove this before merge accountManager.removeAccount(this, activity, callback, null) accountManager.removeAccount(this, activity, callback, null) } ?: finish() } ?: finish() } } Loading @@ -49,6 +45,7 @@ class ReLoginWithOidcActivity : AppCompatActivity() { val eAccountType = applicationContext.getString(R.string.eelo_account_type) val eAccountType = applicationContext.getString(R.string.eelo_account_type) val authTokenType = null val authTokenType = null Logger.log.info("Vincent: Will start add Account Session") accountManager.startAddAccountSession(eAccountType, accountManager.startAddAccountSession(eAccountType, authTokenType, authTokenType, arrayOf(), arrayOf(), Loading
app/src/main/kotlin/at/bitfire/davdroid/receiver/BootCompletedReceiver.kt +5 −6 Original line number Original line Diff line number Diff line Loading @@ -10,7 +10,6 @@ import android.app.PendingIntent import android.content.BroadcastReceiver import android.content.BroadcastReceiver import android.content.Context import android.content.Context import android.content.Intent import android.content.Intent import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.app.NotificationManagerCompat import at.bitfire.davdroid.R import at.bitfire.davdroid.R import at.bitfire.davdroid.ReLoginWithOidcActivity import at.bitfire.davdroid.ReLoginWithOidcActivity Loading Loading @@ -44,7 +43,8 @@ class BootCompletedReceiver: BroadcastReceiver() { val accountSettings = AccountSettings(context, it) val accountSettings = AccountSettings(context, it) accountSettings.initSync() accountSettings.initSync() if (it.type.equals(eAccountType) && !isLoggedWithOpenId(it, accountManager)) { if (eAccountType == it.type && !isLoggedWithOpenId(it, accountManager)) { Logger.log.info("Vincent: eAccountFound. Will notify") notifySwitchToOpenId(it, context) notifySwitchToOpenId(it, context) } } } } Loading @@ -62,7 +62,6 @@ class BootCompletedReceiver: BroadcastReceiver() { val notifText = context.getString(R.string.notification_switch_to_openId_text) val notifText = context.getString(R.string.notification_switch_to_openId_text) val notifIntent = generateLogoutIntent(account.name, context) val notifIntent = generateLogoutIntent(account.name, context) val notification = NotificationUtils.newBuilder(context, CHANNEL_GENERAL) val notification = NotificationUtils.newBuilder(context, CHANNEL_GENERAL) .setContentTitle(notifTitle) .setContentTitle(notifTitle) .setContentText(notifText) .setContentText(notifText) Loading @@ -76,14 +75,14 @@ class BootCompletedReceiver: BroadcastReceiver() { } } private fun generateLogoutIntent(accountName: String, context: Context): PendingIntent { private fun generateLogoutIntent(accountName: String, context: Context): PendingIntent { val reloginIntent = Intent(context, ReLoginWithOidcActivity::class.java).apply { val reLoginIntent = Intent(context, ReLoginWithOidcActivity::class.java).apply { flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK putExtra(AccountManager.KEY_ACCOUNT_NAME, accountName) putExtra(AccountManager.KEY_ACCOUNT_NAME, accountName) } } return PendingIntent.getActivity(context, return PendingIntent.getActivity(context, 0, 0, reloginIntent, reLoginIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) } } } }