history pref category

This commit is contained in:
Bnyro 2022-07-15 22:12:51 +02:00
parent 728f345f1d
commit 49848be904
22 changed files with 137 additions and 80 deletions

View File

@ -14,7 +14,6 @@ import com.github.libretube.fragments.PlayerFragment
import com.github.libretube.obj.StreamItem
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.formatShort
import com.squareup.picasso.Picasso
class ChannelAdapter(
private val videoFeed: MutableList<StreamItem>,

View File

@ -7,7 +7,6 @@ import com.github.libretube.databinding.ChapterColumnBinding
import com.github.libretube.obj.ChapterSegment
import com.github.libretube.util.ConnectionHelper
import com.google.android.exoplayer2.ExoPlayer
import com.squareup.picasso.Picasso
class ChaptersAdapter(
private val chapters: List<ChapterSegment>,

View File

@ -17,7 +17,6 @@ import com.github.libretube.obj.CommentsPage
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.RetrofitInstance
import com.github.libretube.util.formatShort
import com.squareup.picasso.Picasso
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

View File

@ -19,7 +19,6 @@ import com.github.libretube.obj.StreamItem
import com.github.libretube.preferences.PreferenceHelper
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.RetrofitInstance
import com.squareup.picasso.Picasso
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

View File

@ -15,7 +15,6 @@ import com.github.libretube.preferences.PreferenceHelper
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.RetrofitInstance
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.squareup.picasso.Picasso
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

View File

@ -12,7 +12,6 @@ import com.github.libretube.databinding.RepliesRowBinding
import com.github.libretube.obj.Comment
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.formatShort
import com.squareup.picasso.Picasso
class RepliesAdapter(
private val replies: MutableList<Comment>

View File

@ -23,7 +23,6 @@ import com.github.libretube.preferences.PreferenceHelper
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.RetrofitInstance
import com.github.libretube.util.formatShort
import com.squareup.picasso.Picasso
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

View File

@ -17,7 +17,6 @@ import com.github.libretube.fragments.PlayerFragment
import com.github.libretube.obj.StreamItem
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.formatShort
import com.squareup.picasso.Picasso
class SubscriptionAdapter(
private val videoFeed: List<StreamItem>,

View File

@ -14,7 +14,6 @@ import com.github.libretube.obj.Subscription
import com.github.libretube.preferences.PreferenceHelper
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.RetrofitInstance
import com.squareup.picasso.Picasso
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

View File

@ -17,7 +17,6 @@ import com.github.libretube.fragments.PlayerFragment
import com.github.libretube.obj.StreamItem
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.formatShort
import com.squareup.picasso.Picasso
class TrendingAdapter(
private val videoFeed: List<StreamItem>,

View File

@ -16,7 +16,6 @@ import com.github.libretube.dialogs.VideoOptionsDialog
import com.github.libretube.fragments.PlayerFragment
import com.github.libretube.obj.WatchHistoryItem
import com.github.libretube.util.ConnectionHelper
import com.squareup.picasso.Picasso
class WatchHistoryAdapter(
private val watchHistory: MutableList<WatchHistoryItem>,

View File

@ -17,7 +17,6 @@ import com.github.libretube.preferences.PreferenceHelper
import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.RetrofitInstance
import com.github.libretube.util.formatShort
import com.squareup.picasso.Picasso
import retrofit2.HttpException
import java.io.IOException

View File

@ -81,6 +81,13 @@ class AboutFragment : Fragment() {
showSnackBar(text)
true
}
binding.community.setOnClickListener {
val communityFragment = CommunityFragment()
parentFragmentManager.beginTransaction()
.replace(R.id.settings, communityFragment)
.commitNow()
}
}
private fun openLinkFromHref(link: String) {

View File

@ -18,21 +18,6 @@ class AdvancedSettings : PreferenceFragmentCompat() {
val settingsActivity = activity as SettingsActivity
settingsActivity.changeTopBarText(getString(R.string.advanced))
// clear search history
val clearHistory = findPreference<Preference>("clear_history")
clearHistory?.setOnPreferenceClickListener {
PreferenceHelper.removePreference(requireContext(), "search_history")
true
}
// clear watch history and positions
val clearWatchHistory = findPreference<Preference>("clear_watch_history")
clearWatchHistory?.setOnPreferenceClickListener {
PreferenceHelper.removePreference(requireContext(), "watch_history")
PreferenceHelper.removePreference(requireContext(), "watch_positions")
true
}
val dataSaverMode = findPreference<SwitchPreferenceCompat>("data_saver_mode")
dataSaverMode?.setOnPreferenceChangeListener { _, _ ->
val restartDialog = RequireRestartDialog()

View File

@ -0,0 +1,38 @@
package com.github.libretube.preferences
import android.os.Bundle
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import com.github.libretube.R
import com.github.libretube.activities.SettingsActivity
class HistorySettings : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.history_settings, rootKey)
val settingsActivity = activity as SettingsActivity
settingsActivity.changeTopBarText(getString(R.string.history))
// clear search history
val clearHistory = findPreference<Preference>("clear_history")
clearHistory?.setOnPreferenceClickListener {
PreferenceHelper.removePreference(requireContext(), "search_history")
true
}
// clear watch history and positions
val clearWatchHistory = findPreference<Preference>("clear_watch_history")
clearWatchHistory?.setOnPreferenceClickListener {
PreferenceHelper.removePreference(requireContext(), "watch_history")
true
}
// clear watch positions
val clearWatchPositions = findPreference<Preference>("clear_watch_positions")
clearWatchPositions?.setOnPreferenceClickListener {
PreferenceHelper.removePreference(requireContext(), "watch_positions")
true
}
}
}

View File

@ -64,6 +64,13 @@ class MainSettings : PreferenceFragmentCompat() {
true
}
val history = findPreference<Preference>("history")
history?.setOnPreferenceClickListener {
val newFragment = HistorySettings()
navigateToSettingsFragment(newFragment)
true
}
val advanced = findPreference<Preference>("advanced")
advanced?.setOnPreferenceClickListener {
val newFragment = AdvancedSettings()
@ -84,13 +91,6 @@ class MainSettings : PreferenceFragmentCompat() {
navigateToSettingsFragment(newFragment)
true
}
val community = findPreference<Preference>("community")
community?.setOnPreferenceClickListener {
val newFragment = CommunityFragment()
navigateToSettingsFragment(newFragment)
true
}
}
private fun navigateToSettingsFragment(newFragment: Fragment) {

View File

@ -1,7 +1,6 @@
package com.github.libretube.util
import android.content.Context
import android.graphics.Color
import android.net.ConnectivityManager
import android.widget.ImageView
import com.github.libretube.Globals

View File

@ -117,6 +117,24 @@
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:id="@+id/community"
style="@style/AboutCard">
<LinearLayout style="@style/AboutItem">
<ImageView
style="@style/AboutImageView"
android:src="@drawable/ic_community" />
<TextView
style="@style/AboutTextView"
android:text="@string/community" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
</ScrollView>

View File

@ -145,7 +145,7 @@
<string name="advanced">Advanced</string>
<string name="player">Player</string>
<string name="appearance_summary">Adjust the app to your liking.</string>
<string name="advanced_summary">Downloads, history</string>
<string name="advanced_summary">Downloads, reset</string>
<string name="live">Live</string>
<string name="no_replies">This comment has no replies.</string>
<string name="authors">Authors</string>
@ -209,7 +209,7 @@
<string name="restore">Restore</string>
<string name="watch_history">Watch History</string>
<string name="watch_positions">Remember position</string>
<string name="watch_positions_summary">Remember the watch position and automatically seek to it.</string>
<string name="watch_positions_summary">Restore last watch position</string>
<string name="auth_instance">Authentication instance</string>
<string name="auth_instance_summary">Use a different instance for authenticated calls.</string>
<string name="auth_instances">Choose an auth instance</string>
@ -244,4 +244,9 @@
<string name="no_player_found">No external player found. Please make sure you have one installed.</string>
<string name="data_saver_mode">Data saver mode</string>
<string name="data_saver_mode_summary">Don\'t load thumbnails and other images to save data.</string>
<string name="search_history_summary">Store the search queries locally</string>
<string name="watch_history_summary">Keep track of watched videos locally</string>
<string name="history_summary">Watch and search history</string>
<string name="watch_positions_title">Watch positions</string>
<string name="reset_watch_positions">Reset watch positions</string>
</resources>

View File

@ -31,44 +31,7 @@
</PreferenceCategory>
<PreferenceCategory app:title="@string/search_history">
<SwitchPreferenceCompat
android:defaultValue="true"
android:icon="@drawable/ic_history_filled"
app:key="search_history_toggle"
app:title="@string/search_history" />
<Preference
android:icon="@drawable/ic_trash"
app:key="clear_history"
app:title="@string/clear_history" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/watch_history">
<SwitchPreferenceCompat
android:defaultValue="true"
android:icon="@drawable/ic_time_outlined"
app:key="watch_history_toggle"
app:title="@string/watch_history" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:icon="@drawable/ic_play_filled"
app:key="watch_position_toggle"
app:summary="@string/watch_positions_summary"
app:title="@string/watch_positions" />
<Preference
android:icon="@drawable/ic_trash"
app:key="clear_watch_history"
app:title="@string/clear_history" />
</PreferenceCategory>
<PreferenceCategory>
<PreferenceCategory app:title="@string/advanced">
<SwitchPreferenceCompat
android:icon="@drawable/ic_data_saver"

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory app:title="@string/search_history">
<SwitchPreferenceCompat
android:defaultValue="true"
android:icon="@drawable/ic_history_filled"
android:summary="@string/search_history_summary"
app:key="search_history_toggle"
app:title="@string/search_history" />
<Preference
android:icon="@drawable/ic_trash"
app:key="clear_history"
app:title="@string/clear_history" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/watch_history">
<SwitchPreferenceCompat
android:defaultValue="true"
android:icon="@drawable/ic_time_outlined"
android:summary="@string/watch_history_summary"
app:key="watch_history_toggle"
app:title="@string/watch_history" />
<Preference
android:icon="@drawable/ic_trash"
app:key="clear_watch_history"
app:title="@string/clear_history" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/watch_positions_title">
<SwitchPreferenceCompat
android:defaultValue="true"
android:icon="@drawable/ic_play_filled"
app:key="watch_position_toggle"
app:summary="@string/watch_positions_summary"
app:title="@string/watch_positions" />
<Preference
app:title="@string/reset_watch_positions"
android:icon="@drawable/ic_reset"
app:key="reset_watch_positions" />
</PreferenceCategory>
</PreferenceScreen>

View File

@ -50,6 +50,12 @@
app:summary="@string/player_summary"
app:title="@string/audio_video" />
<Preference
android:icon="@drawable/ic_history_filled"
android:summary="@string/history_summary"
app:key="history"
app:title="@string/history" />
<Preference
android:icon="@drawable/ic_list"
app:key="advanced"
@ -71,11 +77,6 @@
app:key="about"
app:title="@string/about" />
<Preference
android:icon="@drawable/ic_community"
app:key="community"
app:title="@string/community" />
</PreferenceCategory>
</PreferenceScreen>