@@ -4,53 +4,36 @@ package com.seok.gfd.views
44import android.content.Intent
55import android.net.Uri
66import android.os.Bundle
7+ import android.os.Handler
8+ import android.view.View
79import androidx.appcompat.app.AppCompatActivity
810import androidx.lifecycle.Observer
911import androidx.lifecycle.ViewModelProviders
1012import com.seok.gfd.BuildConfig
1113import com.seok.gfd.R
12- import com.seok.gfd.utils.ProgressbarDialog
1314import com.seok.gfd.utils.SharedPreference
1415import com.seok.gfd.viewmodel.UserViewModel
1516import kotlinx.android.synthetic.main.activity_login.*
1617import org.jetbrains.anko.longToast
1718import java.net.HttpURLConnection
1819
19- @Suppress(
20- " NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS" ,
21- " RECEIVER_NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS"
22- )
2320class LoginActivity : AppCompatActivity () {
2421
2522 private lateinit var userViewModel: UserViewModel
2623 private lateinit var sharedPreference: SharedPreference
27- private lateinit var progressbar: ProgressbarDialog
2824
2925 override fun onCreate (savedInstanceState : Bundle ? ) {
3026 super .onCreate(savedInstanceState)
3127 setContentView(R .layout.activity_login)
3228
3329 init ()
3430 initViewModelFun()
35-
36- // 로그인 버튼 눌렀을 경우 Github login 창으로 넘김
37- login_img_login.setOnClickListener {
38- progressbar.show()
39- val intent = Intent (
40- Intent .ACTION_VIEW ,
41- Uri .parse(BuildConfig .GITHUB_OAUTH_URL + BuildConfig .GITHUB_CLIENT_ID )
42- )
43- // onNewIntent() 리다이렉트
44- startActivityForResult(intent, HttpURLConnection .HTTP_OK )
45- }
46- userViewModel.getUserInfoAndSignInGithub(sharedPreference.getValue(BuildConfig .PREFERENCES_TOKEN_KEY ))
31+ setOnClickFun()
4732
4833 }
4934
5035 // ViewModel 세팅 및 초기화
5136 private fun init () {
52- progressbar = ProgressbarDialog (this )
53- progressbar.show()
5437 sharedPreference = SharedPreference (application)
5538 userViewModel = ViewModelProviders .of(this ).get(UserViewModel ::class .java)
5639 userViewModel.getUsersCount()
@@ -72,7 +55,7 @@ class LoginActivity : AppCompatActivity() {
7255 if (it == HttpURLConnection .HTTP_OK ) {
7356 goToMainActivity()
7457 } else {
75- progressbar.hide()
58+ login_progress_bar.visibility = View . INVISIBLE
7659 longToast(getString(R .string.fail_access_token))
7760 }
7861 })
@@ -92,7 +75,34 @@ class LoginActivity : AppCompatActivity() {
9275 private fun goToMainActivity () {
9376 startActivity(Intent (this , MainActivity ::class .java))
9477 overridePendingTransition(R .anim.fade_in, R .anim.fade_out)
95- progressbar.hide()
96- finish()
78+ }
79+
80+ private fun setOnClickFun (){
81+ // Guest 로그인 버튼을 눌렀을 경우
82+ login_img_guest.setOnClickListener {
83+ syncUI()
84+ }
85+
86+ // 로그인 버튼 눌렀을 경우 Github login 창으로 넘김
87+ login_img_login.setOnClickListener {
88+ syncUI()
89+ val intent = Intent (
90+ Intent .ACTION_VIEW ,
91+ Uri .parse(BuildConfig .GITHUB_OAUTH_URL + BuildConfig .GITHUB_CLIENT_ID )
92+ )
93+ // onNewIntent() 리다이렉트
94+ startActivityForResult(intent, HttpURLConnection .HTTP_OK )
95+ }
96+ }
97+
98+ private fun syncUI (){
99+ login_progress_bar.visibility = View .VISIBLE
100+ login_img_login.isClickable = false
101+ login_img_guest.isClickable = false
102+ Handler ().postDelayed({
103+ login_progress_bar.visibility = View .INVISIBLE
104+ login_img_login.isClickable = true
105+ login_img_guest.isClickable = true
106+ }, 3000 )
97107 }
98108}
0 commit comments