mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-27 23:40:33 +05:30
feat: add full local mode option to instance settings
This commit is contained in:
parent
7db8212c72
commit
676c62a7e0
@ -39,13 +39,11 @@ interface MediaServiceRepository {
|
|||||||
suspend fun getPlaylistNextPage(playlistId: String, nextPage: String): Playlist
|
suspend fun getPlaylistNextPage(playlistId: String, nextPage: String): Playlist
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val instance by lazy {
|
val instance: MediaServiceRepository
|
||||||
if (PlayerHelper.disablePipedProxy && PlayerHelper.localStreamExtraction) {
|
get() = when {
|
||||||
// TODO: LocalStreamsExtractionPipedMediaServiceRepository()
|
PlayerHelper.fullLocalMode -> NewPipeMediaServiceRepository()
|
||||||
NewPipeMediaServiceRepository()
|
PlayerHelper.localStreamExtraction -> LocalStreamsExtractionPipedMediaServiceRepository()
|
||||||
} else {
|
else -> PipedMediaServiceRepository()
|
||||||
PipedMediaServiceRepository()
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -133,6 +133,7 @@ object PreferenceKeys {
|
|||||||
const val MAX_CONCURRENT_DOWNLOADS = "max_parallel_downloads"
|
const val MAX_CONCURRENT_DOWNLOADS = "max_parallel_downloads"
|
||||||
const val EXTERNAL_DOWNLOAD_PROVIDER = "external_download_provider"
|
const val EXTERNAL_DOWNLOAD_PROVIDER = "external_download_provider"
|
||||||
const val DISABLE_VIDEO_IMAGE_PROXY = "disable_video_image_proxy"
|
const val DISABLE_VIDEO_IMAGE_PROXY = "disable_video_image_proxy"
|
||||||
|
const val FULL_LOCAL_MODE = "full_local_mode"
|
||||||
const val LOCAL_RYD = "local_return_youtube_dislikes"
|
const val LOCAL_RYD = "local_return_youtube_dislikes"
|
||||||
const val LOCAL_STREAM_EXTRACTION = "local_stream_extraction"
|
const val LOCAL_STREAM_EXTRACTION = "local_stream_extraction"
|
||||||
|
|
||||||
|
@ -357,6 +357,12 @@ object PlayerHelper {
|
|||||||
false
|
false
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val fullLocalMode: Boolean
|
||||||
|
get() = PreferenceHelper.getBoolean(
|
||||||
|
PreferenceKeys.FULL_LOCAL_MODE,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
val localStreamExtraction: Boolean
|
val localStreamExtraction: Boolean
|
||||||
get() = PreferenceHelper.getBoolean(
|
get() = PreferenceHelper.getBoolean(
|
||||||
PreferenceKeys.LOCAL_STREAM_EXTRACTION,
|
PreferenceKeys.LOCAL_STREAM_EXTRACTION,
|
||||||
|
@ -472,6 +472,7 @@
|
|||||||
<string name="crashlog">Crashlog</string>
|
<string name="crashlog">Crashlog</string>
|
||||||
<string name="never_show_again">Never show this again</string>
|
<string name="never_show_again">Never show this again</string>
|
||||||
<string name="update_information">Update information</string>
|
<string name="update_information">Update information</string>
|
||||||
|
<string name="mode_of_operation">Mode of operation</string>
|
||||||
|
|
||||||
<!-- Backup & Restore Settings -->
|
<!-- Backup & Restore Settings -->
|
||||||
<string name="import_subscriptions_from">Import subscriptions from</string>
|
<string name="import_subscriptions_from">Import subscriptions from</string>
|
||||||
@ -532,6 +533,9 @@
|
|||||||
<string name="local_feed_extraction_summary">Directly fetch the feed from YouTube. This may be significantly slower.</string>
|
<string name="local_feed_extraction_summary">Directly fetch the feed from YouTube. This may be significantly slower.</string>
|
||||||
<string name="show_upcoming_videos">Show upcoming videos</string>
|
<string name="show_upcoming_videos">Show upcoming videos</string>
|
||||||
<string name="updating_feed">Updating feed …</string>
|
<string name="updating_feed">Updating feed …</string>
|
||||||
|
<string name="full_local_mode">Full local mode</string>
|
||||||
|
<string name="full_local_mode_desc">Directly fetch everything from YouTube, without using Piped.</string>
|
||||||
|
<string name="authentication">Authentication</string>
|
||||||
|
|
||||||
<!-- Notification channel strings -->
|
<!-- Notification channel strings -->
|
||||||
<string name="download_channel_name">Download Service</string>
|
<string name="download_channel_name">Download Service</string>
|
||||||
|
@ -2,6 +2,26 @@
|
|||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
|
<PreferenceCategory app:title="@string/mode_of_operation">
|
||||||
|
|
||||||
|
<SwitchPreferenceCompat
|
||||||
|
android:icon="@drawable/ic_region"
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:title="@string/full_local_mode"
|
||||||
|
android:key="full_local_mode"
|
||||||
|
android:disableDependentsState="true"
|
||||||
|
android:summary="@string/full_local_mode_desc" />
|
||||||
|
|
||||||
|
<SwitchPreferenceCompat
|
||||||
|
android:defaultValue="true"
|
||||||
|
android:icon="@drawable/ic_region"
|
||||||
|
android:dependency="full_local_mode"
|
||||||
|
android:summary="@string/local_stream_extraction_summary"
|
||||||
|
android:title="@string/local_stream_extraction"
|
||||||
|
app:key="local_stream_extraction" />
|
||||||
|
|
||||||
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/instance">
|
<PreferenceCategory app:title="@string/instance">
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
@ -10,19 +30,41 @@
|
|||||||
app:entries="@array/instances"
|
app:entries="@array/instances"
|
||||||
app:entryValues="@array/instancesValue"
|
app:entryValues="@array/instancesValue"
|
||||||
app:key="selectInstance"
|
app:key="selectInstance"
|
||||||
|
android:dependency="full_local_mode"
|
||||||
app:title="@string/instances" />
|
app:title="@string/instances" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:icon="@drawable/ic_add_instance"
|
android:icon="@drawable/ic_add_instance"
|
||||||
app:key="customInstance"
|
app:key="customInstance"
|
||||||
|
android:dependency="full_local_mode"
|
||||||
app:summary="@string/customInstance_summary"
|
app:summary="@string/customInstance_summary"
|
||||||
app:title="@string/customInstance" />
|
app:title="@string/customInstance" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:icon="@drawable/ic_trash"
|
android:icon="@drawable/ic_trash"
|
||||||
app:key="clearCustomInstances"
|
app:key="clearCustomInstances"
|
||||||
|
android:dependency="full_local_mode"
|
||||||
app:title="@string/clear_customInstances" />
|
app:title="@string/clear_customInstances" />
|
||||||
|
|
||||||
|
<SwitchPreferenceCompat
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:icon="@drawable/ic_server"
|
||||||
|
android:dependency="full_local_mode"
|
||||||
|
android:summary="@string/disable_proxy_summary"
|
||||||
|
android:title="@string/disable_proxy"
|
||||||
|
app:key="disable_video_image_proxy" />
|
||||||
|
|
||||||
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/authentication">
|
||||||
|
|
||||||
|
<SwitchPreferenceCompat
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:icon="@drawable/ic_region"
|
||||||
|
android:summary="@string/local_feed_extraction_summary"
|
||||||
|
android:title="@string/local_feed_extraction"
|
||||||
|
app:key="local_feed_extraction" />
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
<SwitchPreferenceCompat
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:icon="@drawable/ic_auth"
|
android:icon="@drawable/ic_auth"
|
||||||
@ -39,21 +81,6 @@
|
|||||||
app:key="selectAuthInstance"
|
app:key="selectAuthInstance"
|
||||||
app:title="@string/auth_instances" />
|
app:title="@string/auth_instances" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/audio_video">
|
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
|
||||||
android:defaultValue="false"
|
|
||||||
android:icon="@drawable/ic_list"
|
|
||||||
android:summary="@string/hls_instead_of_dash_summary"
|
|
||||||
android:title="@string/hls_instead_of_dash"
|
|
||||||
app:key="use_hls" />
|
|
||||||
|
|
||||||
</PreferenceCategory>
|
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/account">
|
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:icon="@drawable/ic_login_filled"
|
android:icon="@drawable/ic_login_filled"
|
||||||
android:summary="@string/notgmail"
|
android:summary="@string/notgmail"
|
||||||
@ -75,42 +102,27 @@
|
|||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/proxy">
|
<PreferenceCategory app:title="@string/audio_video">
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
<SwitchPreferenceCompat
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:icon="@drawable/ic_server"
|
android:icon="@drawable/ic_list"
|
||||||
android:summary="@string/disable_proxy_summary"
|
android:summary="@string/hls_instead_of_dash_summary"
|
||||||
android:title="@string/disable_proxy"
|
android:title="@string/hls_instead_of_dash"
|
||||||
app:key="disable_video_image_proxy" />
|
app:key="use_hls" />
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
</PreferenceCategory>
|
||||||
android:defaultValue="true"
|
|
||||||
android:icon="@drawable/ic_region"
|
<PreferenceCategory app:title="@string/misc">
|
||||||
android:summary="@string/local_stream_extraction_summary"
|
|
||||||
android:title="@string/local_stream_extraction"
|
|
||||||
android:dependency="disable_video_image_proxy"
|
|
||||||
app:key="local_stream_extraction" />
|
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
<SwitchPreferenceCompat
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:icon="@drawable/ic_dislike"
|
android:icon="@drawable/ic_dislike"
|
||||||
|
android:dependency="local_stream_extraction"
|
||||||
android:summary="@string/local_ryd_summary"
|
android:summary="@string/local_ryd_summary"
|
||||||
android:title="@string/local_ryd"
|
android:title="@string/local_ryd"
|
||||||
android:dependency="local_stream_extraction"
|
|
||||||
app:key="local_return_youtube_dislikes" />
|
app:key="local_return_youtube_dislikes" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/subscriptions">
|
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
|
||||||
android:defaultValue="false"
|
|
||||||
android:icon="@drawable/ic_region"
|
|
||||||
android:summary="@string/local_feed_extraction_summary"
|
|
||||||
android:title="@string/local_feed_extraction"
|
|
||||||
app:key="local_feed_extraction" />
|
|
||||||
|
|
||||||
</PreferenceCategory>
|
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
Loading…
x
Reference in New Issue
Block a user