AWS Identity Manager иногда заставляет приложение зависать на белом экране.Я делаю что-то неправильно? - PullRequest
0 голосов
/ 04 января 2019

Я работаю над простым приложением для Android с AWS Appsync.Я использую AWS Identity Manager для входа в систему, и он отлично работает.Однако, когда пользователь входит в систему, закрывает и снова открывает приложение, иногда приложение застревает на белом экране.

При отладке не похоже, что приложение застревает где-то в моем коде, но вместо этого, когда менеджер удостоверений делает свое дело.

Я тоже не могу найтишаблон, когда он застревает, а когда нет.

Я не знаю, делаю ли я что-то не так, но вот моя работа по аутентификации.У кого-нибудь еще была эта проблема?Мой гугл-фу ничего не находит.

class AuthenticatorActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_authenticator)
        AWSMobileClient.getInstance().initialize(this).execute()

        Log.i("Login", "initializing login screen")

        IdentityManager.getDefaultIdentityManager().addSignInStateChangeListener(
            object : SignInStateChangeListener {
                override fun onUserSignedIn() {
                    Log.d("auth","User signed in")
                }
                override fun onUserSignedOut() {
                    Log.d("auth","User signed out")
                    showSignIn()
                }
            }
        )
        showSignIn()
    }

    private fun showSignIn(){
        AWSMobileClient.getInstance().initialize(this) {
            val config = AuthUIConfiguration.Builder()
                    .userPools(true) // show the Email and Password UI
                    .logoResId(R.mipmap.ic_launcher_round) // Change the logo
                    .backgroundColor(Color.parseColor("#4a5cc0")) // Change the background color
                    .isBackgroundColorFullScreen(false) // Full screen background color
                    .fontFamily("sans-serif-light") // font
                    .canCancel(true) // Add a cancel/back button
                    .build()
            val ui = AWSMobileClient.getInstance().getClient(
                    this@AuthenticatorActivity,
                    SignInUI::class.java) as SignInUI?
            ui?.login(
                    this@AuthenticatorActivity,
                    MainActivity::class.java)?.authUIConfiguration(config)?.execute()
        }.execute()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...