From 15309911a57afcf3b25fd8b12504dc1ec7b7cd62 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 9 Jan 2019 20:44:04 +0000 Subject: [PATCH] Fix potential crash when there's an error getting journal members. --- .../ui/CollectionMembersListFragment.kt | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/etesync/syncadapter/ui/CollectionMembersListFragment.kt b/app/src/main/java/com/etesync/syncadapter/ui/CollectionMembersListFragment.kt index b520c0d9..f0b647a7 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/CollectionMembersListFragment.kt +++ b/app/src/main/java/com/etesync/syncadapter/ui/CollectionMembersListFragment.kt @@ -35,9 +35,9 @@ class CollectionMembersListFragment : ListFragment(), AdapterView.OnItemClickLis override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) data = (context!!.applicationContext as App).data - account = arguments!!.getParcelable(Constants.KEY_ACCOUNT) + account = arguments!!.getParcelable(Constants.KEY_ACCOUNT)!! info = arguments!!.getSerializable(Constants.KEY_COLLECTION_INFO) as CollectionInfo - journalEntity = JournalModel.Journal.fetch(data!!, info!!.getServiceEntity(data), info!!.uid) + journalEntity = JournalModel.Journal.fetch(data, info.getServiceEntity(data), info.uid) } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { @@ -51,28 +51,27 @@ class CollectionMembersListFragment : ListFragment(), AdapterView.OnItemClickLis override fun refresh() { asyncTask = doAsync { - var members: List? = null; try { - val settings = AccountSettings(context!!, account!!) + val settings = AccountSettings(context!!, account) val httpClient = HttpClient.create(context!!, settings) val journalsManager = JournalManager(httpClient, HttpUrl.get(settings.uri!!)!!) - val journal = JournalManager.Journal.fakeWithUid(journalEntity!!.uid) - members = journalsManager.listMembers(journal) + val journal = JournalManager.Journal.fakeWithUid(journalEntity.uid) + val members = journalsManager.listMembers(journal) + + uiThread { + val listAdapter = MembersListAdapter(context!!) + setListAdapter(listAdapter) + + listAdapter.addAll(members) + + emptyTextView!!.setText(R.string.collection_members_list_empty) + } } catch (e: Exception) { uiThread { emptyTextView!!.text = e.localizedMessage } } - - uiThread { - val listAdapter = MembersListAdapter(context!!) - setListAdapter(listAdapter) - - listAdapter.addAll(members) - - emptyTextView!!.setText(R.string.collection_members_list_empty) - } } }