Skip to content

Commit

Permalink
Fixes searchview
Browse files Browse the repository at this point in the history
  • Loading branch information
feelfreelinux committed Dec 11, 2017
1 parent 6f9ac6f commit 288ece5
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 39 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ android {
applicationId "io.github.feelfreelinux.wykopmobilny"
minSdkVersion 17
targetSdkVersion 26
versionCode 13
versionName "0.3.2.1"
versionCode 14
versionName "0.4.0"

def credentialsPropertiesFile = rootProject.file("credentials.properties")
def credentialsProperties = new Properties()
Expand Down
1 change: 0 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@
<activity android:name=".ui.modules.input.entry.comment.EditEntryCommentActivity" />
<activity android:name=".ui.modules.pm.conversation.ConversationActivity" />
<activity android:name=".ui.modules.settings.SettingsActivity" />
<activity android:name=".ui.modules.mywykop.MyWykopFragment" />

<receiver android:name=".ui.modules.notifications.notificationsservice.WykopNotificationsBroadcastReceiver">
<intent-filter>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ interface SearchFragmentQuery {

class SearchFragment : BaseFragment(), SearchView.OnQueryTextListener, SearchFragmentQuery {
override var searchQuery = ""
val viewPagerAdapter by lazy { SearchPagerAdapter(resources, childFragmentManager) }
lateinit var viewPagerAdapter : SearchPagerAdapter
override fun onQueryTextSubmit(query: String?): Boolean {
query?.let {
if (query.length > 2) {
Expand Down Expand Up @@ -44,16 +44,23 @@ class SearchFragment : BaseFragment(), SearchView.OnQueryTextListener, SearchFra

override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
(activity as BaseActivity).supportActionBar?.setTitle(R.string.search)
viewPagerAdapter = SearchPagerAdapter(resources, childFragmentManager)
pager.adapter = viewPagerAdapter
tabLayout.setupWithViewPager(pager)
}

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
(activity as BaseActivity).supportActionBar?.setTitle(R.string.search)
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
super.onCreateOptionsMenu(menu, inflater)
menu.clear()
inflater.inflate(R.menu.search_menu, menu)
val searchView = menu.findItem(R.id.action_search).actionView as SearchView
val item = menu.findItem(R.id.action_search)
item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM or MenuItem.SHOW_AS_ACTION_WITH_TEXT)
val searchView = item.actionView as SearchView
searchView.setOnQueryTextListener(this)
searchView.setIconifiedByDefault(false)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ class EntrySearchFragment : BaseFeedFragment<Entry>(), EntrySearchView {

override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
WykopApp.uiInjector.inject(this)
presenter.subscribe(this)
dataFragment = supportFragmentManager.getDataFragmentInstance(DATA_FRAGMENT_TAG)
dataFragment.data?.apply {
presenter.page = page
}
val parent = (parentFragment as SearchFragmentQuery)
if (queryString != parent.searchQuery) {
queryString = parent.searchQuery
Expand All @@ -39,13 +45,7 @@ class EntrySearchFragment : BaseFeedFragment<Entry>(), EntrySearchView {

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
WykopApp.uiInjector.inject(this)
presenter.subscribe(this)
dataFragment = supportFragmentManager.getDataFragmentInstance(DATA_FRAGMENT_TAG)
dataFragment.data?.apply {
presenter.page = page
}
presenter.subscribe(this)

initAdapter(dataFragment.data?.model)
}

Expand All @@ -64,11 +64,12 @@ class EntrySearchFragment : BaseFeedFragment<Entry>(), EntrySearchView {
}
override fun onDetach() {
super.onDetach()
if (::presenter.isInitialized)
presenter.unsubscribe()
}

override fun onDestroy() {
super.onDestroy()
override fun onPause() {
super.onPause()
if (isRemoving) fragmentManager.removeDataFragment(dataFragment)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ class LinkSearchFragment : BaseFeedFragment<Link>(), LinkSearchView {

override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
WykopApp.uiInjector.inject(this)
presenter.subscribe(this)
dataFragment = supportFragmentManager.getDataFragmentInstance(DATA_FRAGMENT_TAG)
dataFragment.data?.apply {
presenter.page = page
}
val parent = (parentFragment as SearchFragmentQuery)
if (queryString != parent.searchQuery) {
queryString = parent.searchQuery
Expand All @@ -43,13 +49,7 @@ class LinkSearchFragment : BaseFeedFragment<Link>(), LinkSearchView {

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
WykopApp.uiInjector.inject(this)
presenter.subscribe(this)
dataFragment = supportFragmentManager.getDataFragmentInstance(DATA_FRAGMENT_TAG)
dataFragment.data?.apply {
presenter.page = page
}
presenter.subscribe(this)

initAdapter(dataFragment.data?.model)
}

Expand All @@ -68,11 +68,12 @@ class LinkSearchFragment : BaseFeedFragment<Link>(), LinkSearchView {
}
override fun onDetach() {
super.onDetach()
if (::presenter.isInitialized)
presenter.unsubscribe()
}

override fun onDestroy() {
super.onDestroy()
override fun onPause() {
super.onPause()
if (isRemoving) fragmentManager.removeDataFragment(dataFragment)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,12 @@ import android.view.View
import android.view.ViewGroup
import io.github.feelfreelinux.wykopmobilny.R
import io.github.feelfreelinux.wykopmobilny.WykopApp
import io.github.feelfreelinux.wykopmobilny.base.BaseActivity
import io.github.feelfreelinux.wykopmobilny.base.BaseFragment
import io.github.feelfreelinux.wykopmobilny.models.dataclass.Author
import io.github.feelfreelinux.wykopmobilny.models.dataclass.Conversation
import io.github.feelfreelinux.wykopmobilny.models.fragments.DataFragment
import io.github.feelfreelinux.wykopmobilny.models.fragments.getDataFragmentInstance
import io.github.feelfreelinux.wykopmobilny.models.fragments.removeDataFragment
import io.github.feelfreelinux.wykopmobilny.ui.adapters.ConversationsListAdapter
import io.github.feelfreelinux.wykopmobilny.ui.adapters.ProfilesAdapter
import io.github.feelfreelinux.wykopmobilny.ui.modules.pm.conversationslist.ConversationsListFragment
import io.github.feelfreelinux.wykopmobilny.ui.modules.pm.conversationslist.ConversationsListPresenter
import io.github.feelfreelinux.wykopmobilny.ui.modules.search.SearchFragmentQuery
import io.github.feelfreelinux.wykopmobilny.utils.isVisible
import io.github.feelfreelinux.wykopmobilny.utils.prepare
Expand All @@ -38,7 +33,7 @@ class UsersSearchFragment : BaseFragment(), UsersSearchView, SwipeRefreshLayout.
}
}
var queryString = ""
private lateinit var conversationsDataFragment : DataFragment<List<Author>>
private lateinit var dataFragment: DataFragment<List<Author>>
@Inject lateinit var presenter : UsersSearchPresenter
private val profilesAdapter by lazy { ProfilesAdapter() }

Expand All @@ -55,6 +50,8 @@ class UsersSearchFragment : BaseFragment(), UsersSearchView, SwipeRefreshLayout.

override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
dataFragment = fragmentManager.getDataFragmentInstance(DATA_FRAGMENT_TAG)
WykopApp.uiInjector.inject(this)
val parent = (parentFragment as SearchFragmentQuery)
if (queryString != parent.searchQuery) {
queryString = parent.searchQuery
Expand All @@ -65,8 +62,7 @@ class UsersSearchFragment : BaseFragment(), UsersSearchView, SwipeRefreshLayout.
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
conversationsDataFragment = fragmentManager.getDataFragmentInstance(DATA_FRAGMENT_TAG)
WykopApp.uiInjector.inject(this)

swiperefresh.setOnRefreshListener(this)

recyclerView.apply {
Expand All @@ -76,11 +72,11 @@ class UsersSearchFragment : BaseFragment(), UsersSearchView, SwipeRefreshLayout.
swiperefresh.isRefreshing = false
presenter.subscribe(this)

if (conversationsDataFragment.data == null) {
if (dataFragment.data == null) {
loadingView.isVisible = true
onRefresh()
} else {
profilesAdapter.dataset.addAll(conversationsDataFragment.data!!)
profilesAdapter.dataset.addAll(dataFragment.data!!)
profilesAdapter.notifyDataSetChanged()
loadingView.isVisible = false
}
Expand All @@ -95,13 +91,19 @@ class UsersSearchFragment : BaseFragment(), UsersSearchView, SwipeRefreshLayout.

override fun onSaveInstanceState(outState: Bundle?) {
super.onSaveInstanceState(outState)
if (::conversationsDataFragment.isInitialized)
conversationsDataFragment.data = profilesAdapter.dataset
if (::dataFragment.isInitialized)
dataFragment.data = profilesAdapter.dataset
}

override fun onDetach() {
super.onDetach()
if (::presenter.isInitialized)
presenter.unsubscribe()
}

override fun onDestroy() {
super.onDestroy()
if (isRemoving) fragmentManager.removeDataFragment(conversationsDataFragment)
override fun onPause() {
super.onPause()
if (isRemoving) fragmentManager.removeDataFragment(dataFragment)
}

}

0 comments on commit 288ece5

Please sign in to comment.