mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 16:00:31 +05:30
Merge pull request #929 from Bnyro/master
network type for notifcations option
This commit is contained in:
commit
f018e41545
@ -88,7 +88,7 @@ object PreferenceHelper {
|
|||||||
fun getSearchHistory(): List<String> {
|
fun getSearchHistory(): List<String> {
|
||||||
return try {
|
return try {
|
||||||
val json = settings.getString("search_history", "")!!
|
val json = settings.getString("search_history", "")!!
|
||||||
val type = object : TypeReference<List<String>>(){}
|
val type = object : TypeReference<List<String>>() {}
|
||||||
return mapper.readValue(json, type)
|
return mapper.readValue(json, type)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
emptyList()
|
emptyList()
|
||||||
|
@ -70,6 +70,7 @@ object PreferenceKeys {
|
|||||||
*/
|
*/
|
||||||
const val NOTIFICATION_ENABLED = "notification_toggle"
|
const val NOTIFICATION_ENABLED = "notification_toggle"
|
||||||
const val CHECKING_FREQUENCY = "checking_frequency"
|
const val CHECKING_FREQUENCY = "checking_frequency"
|
||||||
|
const val REQUIRED_NETWORK = "required_network"
|
||||||
const val LAST_STREAM_VIDEO_ID = "last_stream_video_id"
|
const val LAST_STREAM_VIDEO_ID = "last_stream_video_id"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -41,10 +41,20 @@ object NotificationHelper {
|
|||||||
|
|
||||||
// schedule the work manager request if logged in and notifications enabled
|
// schedule the work manager request if logged in and notifications enabled
|
||||||
if (notificationsEnabled && PreferenceHelper.getToken() != "") {
|
if (notificationsEnabled && PreferenceHelper.getToken() != "") {
|
||||||
|
// required network type for the work
|
||||||
|
val networkType = when (
|
||||||
|
PreferenceHelper.getString(PreferenceKeys.REQUIRED_NETWORK, "all")
|
||||||
|
) {
|
||||||
|
"all" -> NetworkType.CONNECTED
|
||||||
|
"wifi" -> NetworkType.UNMETERED
|
||||||
|
"metered" -> NetworkType.METERED
|
||||||
|
else -> NetworkType.CONNECTED
|
||||||
|
}
|
||||||
|
|
||||||
// requirements for the work
|
// requirements for the work
|
||||||
// here: network needed to run the task
|
// here: network needed to run the task
|
||||||
val constraints = Constraints.Builder()
|
val constraints = Constraints.Builder()
|
||||||
.setRequiredNetworkType(NetworkType.CONNECTED)
|
.setRequiredNetworkType(networkType)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
// create the worker
|
// create the worker
|
||||||
|
10
app/src/main/res/drawable/ic_signal.xml
Normal file
10
app/src/main/res/drawable/ic_signal.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:tint="?attr/colorControlNormal"
|
||||||
|
android:viewportWidth="48"
|
||||||
|
android:viewportHeight="48">
|
||||||
|
<path
|
||||||
|
android:fillColor="#FF000000"
|
||||||
|
android:pathData="m4.05,44 l40,-40v40Z" />
|
||||||
|
</vector>
|
@ -796,4 +796,16 @@
|
|||||||
<item>channel_name_za</item>
|
<item>channel_name_za</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="requiredNetwork">
|
||||||
|
<item>@string/network_all</item>
|
||||||
|
<item>@string/network_wifi</item>
|
||||||
|
<item>@string/network_metered</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="requiredNetworkValues">
|
||||||
|
<item>all</item>
|
||||||
|
<item>wifi</item>
|
||||||
|
<item>metered</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
@ -280,4 +280,8 @@
|
|||||||
<string name="channel_name_az">Channel Name (A-Z)</string>
|
<string name="channel_name_az">Channel Name (A-Z)</string>
|
||||||
<string name="channel_name_za">Channel Name (Z-A)</string>
|
<string name="channel_name_za">Channel Name (Z-A)</string>
|
||||||
<string name="sort">Sort</string>
|
<string name="sort">Sort</string>
|
||||||
|
<string name="required_network">Required network type</string>
|
||||||
|
<string name="network_all">All networks</string>
|
||||||
|
<string name="network_metered">Metered</string>
|
||||||
|
<string name="network_wifi">WiFi only</string>
|
||||||
</resources>
|
</resources>
|
@ -20,6 +20,15 @@
|
|||||||
app:title="@string/checking_frequency"
|
app:title="@string/checking_frequency"
|
||||||
app:useSimpleSummaryProvider="true" />
|
app:useSimpleSummaryProvider="true" />
|
||||||
|
|
||||||
|
<ListPreference
|
||||||
|
android:icon="@drawable/ic_signal"
|
||||||
|
app:defaultValue="all"
|
||||||
|
app:entries="@array/requiredNetwork"
|
||||||
|
app:entryValues="@array/requiredNetworkValues"
|
||||||
|
app:key="required_network"
|
||||||
|
app:title="@string/required_network"
|
||||||
|
app:useSimpleSummaryProvider="true" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
Loading…
x
Reference in New Issue
Block a user