Skip to content

Commit 9745012

Browse files
authored
Title and subtitle modified for file list filters
Fixes #77: title and subtitle modified when filter is applied while file listing
2 parents 33970b3 + d5dd429 commit 9745012

File tree

3 files changed

+29
-4
lines changed

3 files changed

+29
-4
lines changed

app/src/main/java/com/github/code/gambit/ui/fragment/home/main/HomeFragment.kt

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import com.github.code.gambit.ui.fragment.home.FileListAdapter
2323
import com.github.code.gambit.ui.fragment.home.FileUrlClickCallback
2424
import com.github.code.gambit.ui.fragment.home.filtercomponent.Filter
2525
import com.github.code.gambit.ui.fragment.home.filtercomponent.FilterComponent
26+
import com.github.code.gambit.ui.fragment.home.filtercomponent.FilterType
2627
import com.github.code.gambit.ui.fragment.home.searchcomponent.FileSearchComponent
2728
import com.github.code.gambit.utility.extention.copyToClipboard
2829
import com.github.code.gambit.utility.extention.exitFullscreen
@@ -43,7 +44,10 @@ import com.takusemba.spotlight.Target
4344
import com.takusemba.spotlight.shape.Circle
4445
import dagger.hilt.android.AndroidEntryPoint
4546
import timber.log.Timber
47+
import java.text.SimpleDateFormat
48+
import java.util.Locale
4649
import javax.inject.Inject
50+
import kotlin.collections.ArrayList
4751

4852
@AndroidEntryPoint
4953
class HomeFragment : Fragment(R.layout.fragment_home), FileUrlClickCallback, BottomNavController {
@@ -73,6 +77,8 @@ class HomeFragment : Fragment(R.layout.fragment_home), FileUrlClickCallback, Bot
7377
private lateinit var fileSearchComponent: FileSearchComponent
7478
private lateinit var filterComponent: FilterComponent
7579

80+
private val customDateFormat = SimpleDateFormat("dd MMM YY", Locale.getDefault())
81+
7682
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
7783
super.onViewCreated(view, savedInstanceState)
7884
_binding = FragmentHomeBinding.bind(view)
@@ -170,8 +176,24 @@ class HomeFragment : Fragment(R.layout.fragment_home), FileUrlClickCallback, Bot
170176
adapter.backup()
171177
binding.clearFilter.show()
172178
binding.linearProgress.hide()
173-
binding.headerTitle.text = "Uploaded"
174-
binding.headerSubtitle.text = it.header
179+
binding.headerTitle.text = getString(R.string.uploaded)
180+
binding.headerSubtitle.text = when (it.filter.type) {
181+
FilterType.NULL -> getString(R.string.recently)
182+
FilterType.TODAY -> getString(R.string.today)
183+
FilterType.YESTERDAY -> getString(R.string.yesterday)
184+
FilterType.LAST_WEEK -> getString(R.string.last_week)
185+
FilterType.LAST_MONTH -> getString(R.string.last_month)
186+
FilterType.CUSTOM -> {
187+
val header =
188+
getString(R.string.uploaded) + getString(R.string.space) + getString(
189+
R.string.between
190+
)
191+
binding.headerTitle.text = header
192+
val start = customDateFormat.format(it.filter.start)
193+
val end = customDateFormat.format(it.filter.end)
194+
"$start - $end"
195+
}
196+
}
175197
adapter.addAll(it.files, true)
176198
}
177199
is HomeState.FileDeleted -> {

app/src/main/java/com/github/code/gambit/ui/fragment/home/main/HomeViewModel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ constructor(private val homeRepository: HomeRepository) : ViewModel() {
7979
when (it) {
8080
is ServiceResult.Error -> postError(it.exception)
8181
is ServiceResult.Success -> {
82-
_homeState.postValue(HomeState.FilterResult(it.data, filter.type.toString()))
82+
_homeState.postValue(HomeState.FilterResult(it.data, filter))
8383
}
8484
}
8585
}
@@ -136,7 +136,7 @@ sealed class HomeState {
136136
data class Loading(val isSearchResultLoading: Boolean = false) : HomeState()
137137
data class FilesLoaded(val files: List<File>, val isSearchResult: Boolean = false) : HomeState()
138138
data class FileDeleted(val file: File) : HomeState()
139-
data class FilterResult(val files: List<File>, val header: String) : HomeState()
139+
data class FilterResult(val files: List<File>, val filter: Filter) : HomeState()
140140
data class UrlsLoaded(val urls: List<Url>) : HomeState()
141141
data class UrlGenerated(val url: Url) : HomeState()
142142
data class Error(val message: String) : HomeState()

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,7 @@
7676
<string name="clear_filter">Clear Filter</string>
7777
<string name="drag_down_from_here">drag down from here</string>
7878
<string name="log_out">Log Out</string>
79+
<string name="uploaded">Uploaded</string>
80+
<string name="between">between</string>
81+
<string name="space">&#160;</string>
7982
</resources>

0 commit comments

Comments
 (0)