diff --git a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.kt b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.kt index 6a683f938458e435a9b94a0f1b9f2a2f0d3a28e6..3fbc4ea0a2a05d992d4050db5820d11699b717e8 100644 --- a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.kt +++ b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.kt @@ -186,7 +186,10 @@ class HomeActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListen startActivity(intent) } } else if (DRingService.ACTION_CONV_ACCEPT == action || Intent.ACTION_VIEW == action) { - startConversation(ConversationPath.fromIntent(intent)!!) + val path = ConversationPath.fromBundle(extra) + if (path != null) { + startConversation(path) + } } //else { val fragmentManager = supportFragmentManager fContent = fragmentManager.findFragmentById(R.id.main_frame) @@ -258,18 +261,19 @@ class HomeActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListen mAccountService.observableAccountList .observeOn(AndroidSchedulers.mainThread()) .subscribe({ accounts -> - if (mAccountAdapter == null) { - mAccountAdapter = AccountSpinnerAdapter(this@HomeActivity, ArrayList(accounts), mDisposable).apply { - setNotifyOnChange(false) - mBinding?.spinnerToolbar?.adapter = this - } - } else { - mAccountAdapter!!.clear() - mAccountAdapter!!.addAll(accounts) - mAccountAdapter!!.notifyDataSetChanged() + mAccountAdapter?.apply { + clear() + addAll(accounts) + notifyDataSetChanged() if (accounts.isNotEmpty()) { mBinding!!.spinnerToolbar.setSelection(0) } + } ?: run { + AccountSpinnerAdapter(this@HomeActivity, ArrayList(accounts), mDisposable).apply { + mAccountAdapter = this + setNotifyOnChange(false) + mBinding?.spinnerToolbar?.adapter = this + } } if (fContent is SmartListFragment) { showProfileInfo()