diff options
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt | 52 |
1 files changed, 24 insertions, 28 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt index 346d4880..403ac40b 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt @@ -39,7 +39,7 @@ import org.jetbrains.anko.coroutines.experimental.bg import twitter4j.TwitterFactory import twitter4j.auth.RequestToken -class OAuthActivity : Activity(), View.OnClickListener, TextWatcher { +class OAuthActivity : Activity(), TextWatcher { private var token: String? = null private var tokenSecret: String? = null @@ -48,7 +48,29 @@ class OAuthActivity : Activity(), View.OnClickListener, TextWatcher { setContentView(R.layout.layout_oauth) editText_oauth_pin.addTextChangedListener(this) - button_oauth_auth.setOnClickListener(this) + button_oauth_auth.setOnClickListener { + async(UI) { + val pin = editText_oauth_pin.text.toString() + val acct = bg { + val requestToken = RequestToken(token, tokenSecret) + TwitterFactory().instance.getOAuthAccessToken(requestToken, pin) + } + + try { + val accessToken = acct.await() + val intent = Intent() + intent.putExtra(KEY_TOKEN, accessToken.token) + intent.putExtra(KEY_TOKEN_SECRET, accessToken.tokenSecret) + intent.putExtra(KEY_USER_ID, accessToken.userId) + intent.putExtra(KEY_SCREEN_NAME, accessToken.screenName) + setResult(Activity.RESULT_OK, intent) + } catch (e: Exception) { + Application.toast(R.string.notice_error_authenticate) + setResult(Activity.RESULT_CANCELED) + } + finish() + } + } button_oauth_auth.isEnabled = false if (savedInstanceState != null) { @@ -76,32 +98,6 @@ class OAuthActivity : Activity(), View.OnClickListener, TextWatcher { outState.putString(KEY_REQUEST_TOKEN_SECRET, tokenSecret) } - override fun onClick(v: View) { - when (v.id) { - R.id.button_oauth_auth -> async(UI) { - val pin = editText_oauth_pin.text.toString() - val acct = bg { - val requestToken = RequestToken(token, tokenSecret) - TwitterFactory().instance.getOAuthAccessToken(requestToken, pin) - } - - try { - val accessToken = acct.await() - val intent = Intent() - intent.putExtra(KEY_TOKEN, accessToken.token) - intent.putExtra(KEY_TOKEN_SECRET, accessToken.tokenSecret) - intent.putExtra(KEY_USER_ID, accessToken.userId) - intent.putExtra(KEY_SCREEN_NAME, accessToken.screenName) - setResult(Activity.RESULT_OK, intent) - } catch (e: Exception) { - Application.toast(R.string.notice_error_authenticate) - setResult(Activity.RESULT_CANCELED) - } - finish() - } - } - } - override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { |