diff options
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.kt')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.kt | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.kt index 37eec009..21b518d7 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.kt @@ -42,10 +42,12 @@ import net.lacolaco.smileessence.World import net.lacolaco.smileessence.data.Account import net.lacolaco.smileessence.data.ImageCache import net.lacolaco.smileessence.logging.Logger -import net.lacolaco.smileessence.twitter.OAuthSession import net.lacolaco.smileessence.view.dialog.ConfirmDialogFragment import kotlinx.android.synthetic.main.layout_edit_list.* import kotlinx.android.synthetic.main.list_item_account.view.* +import kotlinx.coroutines.experimental.android.UI +import kotlinx.coroutines.experimental.async +import org.jetbrains.anko.coroutines.experimental.bg import org.jetbrains.anko.intentFor import org.jetbrains.anko.startActivityForResult @@ -156,7 +158,7 @@ class ManageAccountsActivity : Activity(), AdapterView.OnItemClickListener, Adap } } - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { when (requestCode) { REQUEST_OAUTH -> { receiveOAuth(requestCode, resultCode, data) @@ -167,13 +169,18 @@ class ManageAccountsActivity : Activity(), AdapterView.OnItemClickListener, Adap } } - private fun receiveOAuth(requestCode: Int, resultCode: Int, data: Intent) { + private fun receiveOAuth(requestCode: Int, resultCode: Int, data: Intent?) { if (resultCode == Activity.RESULT_OK) { - val account = Account.register(data.getStringExtra(OAuthSession.KEY_TOKEN), - data.getStringExtra(OAuthSession.KEY_TOKEN_SECRET), - data.getLongExtra(OAuthSession.KEY_USER_ID, -1L), - data.getStringExtra(OAuthSession.KEY_SCREEN_NAME)) - adapter.add(account) + async(UI) { + data!! + adapter.add(bg { + Account.register( + data.getStringExtra(OAuthActivity.KEY_TOKEN), + data.getStringExtra(OAuthActivity.KEY_TOKEN_SECRET), + data.getLongExtra(OAuthActivity.KEY_USER_ID, -1L), + data.getStringExtra(OAuthActivity.KEY_SCREEN_NAME)) + }.await()) + } } else { Logger.error(requestCode) Application.toast(R.string.notice_error_authenticate) |