Loading app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt +28 −4 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ import android.view.animation.AnimationUtils import android.widget.ProgressBar import android.widget.Toast import androidx.appcompat.app.ActionBar import androidx.appcompat.view.ActionMode import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.Toolbar import androidx.drawerlayout.widget.DrawerLayout Loading Loading @@ -708,7 +709,7 @@ open class MessageList : showMessageList() } } else if (this::searchView.isInitialized && !searchView.isIconified) { searchView.isIconified = true collapseSearchView() } else { if (isDrawerEnabled && account != null && supportFragmentManager.backStackEntryCount == 0) { if (K9.isShowUnifiedInbox) { Loading Loading @@ -918,6 +919,7 @@ open class MessageList : if (drawer!!.isOpen) { drawer!!.close() } else { collapseSearchView() drawer!!.open() } } else { Loading @@ -935,16 +937,28 @@ open class MessageList : override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.message_list_option, menu) // setup search view val searchItem = menu.findItem(R.id.search) initializeSearchMenuItem(searchItem) return true } private fun initializeSearchMenuItem(searchItem: MenuItem) { // Reuse existing SearchView if available if (::searchView.isInitialized) { searchItem.actionView = searchView return } searchView = searchItem.actionView as SearchView searchView.maxWidth = Int.MAX_VALUE searchView.queryHint = resources.getString(R.string.search_action) val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager val searchManager = getSystemService(SEARCH_SERVICE) as SearchManager searchView.setSearchableInfo(searchManager.getSearchableInfo(componentName)) searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { override fun onQueryTextSubmit(query: String): Boolean { messageListFragment?.onSearchRequested(query) collapseSearchView() return true } Loading @@ -952,8 +966,11 @@ open class MessageList : return false } }) } return true private fun collapseSearchView() { searchView.setQuery(null, false) searchView.isIconified = true } fun setActionBarTitle(title: String, subtitle: String? = null) { Loading Loading @@ -1000,6 +1017,8 @@ open class MessageList : showMessageView() } } collapseSearchView() } override fun onForward(messageReference: MessageReference, decryptionResultForReply: Parcelable?) { Loading Loading @@ -1082,6 +1101,11 @@ open class MessageList : return true } override fun startSupportActionMode(callback: ActionMode.Callback): ActionMode? { collapseSearchView() return super.startSupportActionMode(callback) } override fun showThread(account: Account, threadRootId: Long) { showMessageViewPlaceHolder() Loading app/ui/legacy/src/main/java/com/fsck/k9/fragment/MessageListFragment.kt +2 −3 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ import android.widget.AdapterView.OnItemLongClickListener import android.widget.ListView import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.view.ActionMode import androidx.core.os.bundleOf import androidx.fragment.app.Fragment Loading Loading @@ -1534,8 +1533,7 @@ class MessageListFragment : } private fun startAndPrepareActionMode() { val activity = requireActivity() as AppCompatActivity actionMode = activity.startSupportActionMode(actionModeCallback) actionMode = fragmentListener.startSupportActionMode(actionModeCallback) actionMode?.invalidate() } Loading Loading @@ -2003,6 +2001,7 @@ class MessageListFragment : fun setMessageListTitle(title: String, subtitle: String?) fun onCompose(account: Account?) fun startSearch(query: String, account: Account?, folderId: Long?): Boolean fun startSupportActionMode(callback: ActionMode.Callback): ActionMode? fun goBack() fun onFolderNotFoundError() Loading Loading
app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt +28 −4 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ import android.view.animation.AnimationUtils import android.widget.ProgressBar import android.widget.Toast import androidx.appcompat.app.ActionBar import androidx.appcompat.view.ActionMode import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.Toolbar import androidx.drawerlayout.widget.DrawerLayout Loading Loading @@ -708,7 +709,7 @@ open class MessageList : showMessageList() } } else if (this::searchView.isInitialized && !searchView.isIconified) { searchView.isIconified = true collapseSearchView() } else { if (isDrawerEnabled && account != null && supportFragmentManager.backStackEntryCount == 0) { if (K9.isShowUnifiedInbox) { Loading Loading @@ -918,6 +919,7 @@ open class MessageList : if (drawer!!.isOpen) { drawer!!.close() } else { collapseSearchView() drawer!!.open() } } else { Loading @@ -935,16 +937,28 @@ open class MessageList : override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.message_list_option, menu) // setup search view val searchItem = menu.findItem(R.id.search) initializeSearchMenuItem(searchItem) return true } private fun initializeSearchMenuItem(searchItem: MenuItem) { // Reuse existing SearchView if available if (::searchView.isInitialized) { searchItem.actionView = searchView return } searchView = searchItem.actionView as SearchView searchView.maxWidth = Int.MAX_VALUE searchView.queryHint = resources.getString(R.string.search_action) val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager val searchManager = getSystemService(SEARCH_SERVICE) as SearchManager searchView.setSearchableInfo(searchManager.getSearchableInfo(componentName)) searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { override fun onQueryTextSubmit(query: String): Boolean { messageListFragment?.onSearchRequested(query) collapseSearchView() return true } Loading @@ -952,8 +966,11 @@ open class MessageList : return false } }) } return true private fun collapseSearchView() { searchView.setQuery(null, false) searchView.isIconified = true } fun setActionBarTitle(title: String, subtitle: String? = null) { Loading Loading @@ -1000,6 +1017,8 @@ open class MessageList : showMessageView() } } collapseSearchView() } override fun onForward(messageReference: MessageReference, decryptionResultForReply: Parcelable?) { Loading Loading @@ -1082,6 +1101,11 @@ open class MessageList : return true } override fun startSupportActionMode(callback: ActionMode.Callback): ActionMode? { collapseSearchView() return super.startSupportActionMode(callback) } override fun showThread(account: Account, threadRootId: Long) { showMessageViewPlaceHolder() Loading
app/ui/legacy/src/main/java/com/fsck/k9/fragment/MessageListFragment.kt +2 −3 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ import android.widget.AdapterView.OnItemLongClickListener import android.widget.ListView import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.view.ActionMode import androidx.core.os.bundleOf import androidx.fragment.app.Fragment Loading Loading @@ -1534,8 +1533,7 @@ class MessageListFragment : } private fun startAndPrepareActionMode() { val activity = requireActivity() as AppCompatActivity actionMode = activity.startSupportActionMode(actionModeCallback) actionMode = fragmentListener.startSupportActionMode(actionModeCallback) actionMode?.invalidate() } Loading Loading @@ -2003,6 +2001,7 @@ class MessageListFragment : fun setMessageListTitle(title: String, subtitle: String?) fun onCompose(account: Account?) fun startSearch(query: String, account: Account?, folderId: Long?): Boolean fun startSupportActionMode(callback: ActionMode.Callback): ActionMode? fun goBack() fun onFolderNotFoundError() Loading