Skip to content
Snippets Groups Projects
Verified Commit 5798533e authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Further preparations for chat archive screen

parent d0adc426
No related branches found
No related tags found
No related merge requests found
...@@ -32,6 +32,8 @@ import de.kuschku.quasseldroid.ui.chat.add.join.ChannelJoinActivity ...@@ -32,6 +32,8 @@ import de.kuschku.quasseldroid.ui.chat.add.join.ChannelJoinActivity
import de.kuschku.quasseldroid.ui.chat.add.join.ChannelJoinFragmentProvider import de.kuschku.quasseldroid.ui.chat.add.join.ChannelJoinFragmentProvider
import de.kuschku.quasseldroid.ui.chat.add.query.QueryCreateActivity import de.kuschku.quasseldroid.ui.chat.add.query.QueryCreateActivity
import de.kuschku.quasseldroid.ui.chat.add.query.QueryCreateFragmentProvider import de.kuschku.quasseldroid.ui.chat.add.query.QueryCreateFragmentProvider
import de.kuschku.quasseldroid.ui.chat.archive.ArchiveActivity
import de.kuschku.quasseldroid.ui.chat.archive.ArchiveFragmentProvider
import de.kuschku.quasseldroid.ui.chat.topic.TopicActivity import de.kuschku.quasseldroid.ui.chat.topic.TopicActivity
import de.kuschku.quasseldroid.ui.chat.topic.TopicFragmentProvider import de.kuschku.quasseldroid.ui.chat.topic.TopicFragmentProvider
import de.kuschku.quasseldroid.ui.clientsettings.about.AboutActivity import de.kuschku.quasseldroid.ui.clientsettings.about.AboutActivity
...@@ -105,6 +107,10 @@ abstract class ActivityModule { ...@@ -105,6 +107,10 @@ abstract class ActivityModule {
@ContributesAndroidInjector(modules = [ChatActivityModule::class, ChatFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class]) @ContributesAndroidInjector(modules = [ChatActivityModule::class, ChatFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class])
abstract fun bindChatActivity(): ChatActivity abstract fun bindChatActivity(): ChatActivity
@ActivityScope
@ContributesAndroidInjector(modules = [ArchiveFragmentProvider::class, SettingsModule::class, DatabaseModule::class, ActivityBaseModule::class])
abstract fun bindArchiveActivity(): ArchiveActivity
// Info // Info
@ActivityScope @ActivityScope
......
...@@ -23,21 +23,37 @@ import android.os.Bundle ...@@ -23,21 +23,37 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.RecyclerView
import butterknife.BindView
import butterknife.ButterKnife import butterknife.ButterKnife
import de.kuschku.quasseldroid.R import de.kuschku.quasseldroid.R
import de.kuschku.quasseldroid.util.helper.toLiveData
import de.kuschku.quasseldroid.util.service.ServiceBoundFragment import de.kuschku.quasseldroid.util.service.ServiceBoundFragment
import de.kuschku.quasseldroid.viewmodel.helper.QuasselViewModelHelper import de.kuschku.quasseldroid.viewmodel.helper.QuasselViewModelHelper
import javax.inject.Inject import javax.inject.Inject
class ArchiveFragment : ServiceBoundFragment() { class ArchiveFragment : ServiceBoundFragment() {
@BindView(R.id.list_temporary)
lateinit var listTemporary: RecyclerView
@BindView(R.id.list_permanently)
lateinit var listPermanently: RecyclerView
@Inject @Inject
lateinit var modelHelper: QuasselViewModelHelper lateinit var modelHelper: QuasselViewModelHelper
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? { savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.add_join, container, false) val view = inflater.inflate(R.layout.chat_archive, container, false)
ButterKnife.bind(this, view) ButterKnife.bind(this, view)
val chatlistId = arguments?.getInt("chatlist_id", -1)
val chatlist = modelHelper.bufferViewConfigMap.map {
it[chatlistId]
}
return view return view
} }
} }
...@@ -63,6 +63,7 @@ import de.kuschku.quasseldroid.ui.chat.ChatActivity ...@@ -63,6 +63,7 @@ import de.kuschku.quasseldroid.ui.chat.ChatActivity
import de.kuschku.quasseldroid.ui.chat.add.create.ChannelCreateActivity import de.kuschku.quasseldroid.ui.chat.add.create.ChannelCreateActivity
import de.kuschku.quasseldroid.ui.chat.add.join.ChannelJoinActivity import de.kuschku.quasseldroid.ui.chat.add.join.ChannelJoinActivity
import de.kuschku.quasseldroid.ui.chat.add.query.QueryCreateActivity import de.kuschku.quasseldroid.ui.chat.add.query.QueryCreateActivity
import de.kuschku.quasseldroid.ui.chat.archive.ArchiveActivity
import de.kuschku.quasseldroid.ui.coresettings.network.NetworkEditActivity import de.kuschku.quasseldroid.ui.coresettings.network.NetworkEditActivity
import de.kuschku.quasseldroid.ui.info.channellist.ChannelListActivity import de.kuschku.quasseldroid.ui.info.channellist.ChannelListActivity
import de.kuschku.quasseldroid.util.ColorContext import de.kuschku.quasseldroid.util.ColorContext
...@@ -488,6 +489,10 @@ class BufferViewConfigFragment : ServiceBoundFragment() { ...@@ -488,6 +489,10 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
chatListToolbar.menu.findItem(R.id.action_search).isChecked = modelHelper.chat.bufferSearchTemporarilyVisible.value chatListToolbar.menu.findItem(R.id.action_search).isChecked = modelHelper.chat.bufferSearchTemporarilyVisible.value
chatListToolbar.setOnMenuItemClickListener { item -> chatListToolbar.setOnMenuItemClickListener { item ->
when (item.itemId) { when (item.itemId) {
R.id.action_archived_chats -> {
ArchiveActivity.launch(requireContext(), chatlistId = modelHelper.chat.bufferViewConfigId.value)
true
}
R.id.action_search -> { R.id.action_search -> {
item.isChecked = !item.isChecked item.isChecked = !item.isChecked
modelHelper.chat.bufferSearchTemporarilyVisible.onNext(item.isChecked) modelHelper.chat.bufferSearchTemporarilyVisible.onNext(item.isChecked)
......
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
android:text="@string/label_temporarily_archived_long" /> android:text="@string/label_temporarily_archived_long" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/list_temporary"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:listitem="@layout/widget_buffer_reorder" /> tools:listitem="@layout/widget_buffer_reorder" />
...@@ -74,6 +75,7 @@ ...@@ -74,6 +75,7 @@
android:text="@string/label_permanently_archived_long" /> android:text="@string/label_permanently_archived_long" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/list_permanently"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:listitem="@layout/widget_buffer_reorder" /> tools:listitem="@layout/widget_buffer_reorder" />
......
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
--> -->
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_archived_chats"
android:title="@string/label_archived_chats" />
<item <item
android:id="@+id/action_search" android:id="@+id/action_search"
android:checkable="true" android:checkable="true"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment