1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-12-23 16:40:32 +00:00

Small code improvements

Removed some non-translatable strings and just hardcoded them in the code, like it's being done for other string separators. This also deduplicates some code by using Localization.
Used some Kotlin feature to reduce code.
This commit is contained in:
Stypox 2022-02-23 19:45:49 +01:00
parent a0dc66abe7
commit 5fea12d8eb
No known key found for this signature in database
GPG Key ID: 4BDF1B40A49FDD23
6 changed files with 18 additions and 32 deletions

View File

@ -14,6 +14,7 @@ import androidx.preference.PreferenceManager
import org.schabi.newpipe.R import org.schabi.newpipe.R
import org.schabi.newpipe.extractor.stream.StreamInfoItem import org.schabi.newpipe.extractor.stream.StreamInfoItem
import org.schabi.newpipe.local.feed.service.FeedUpdateInfo import org.schabi.newpipe.local.feed.service.FeedUpdateInfo
import org.schabi.newpipe.util.Localization
import org.schabi.newpipe.util.NavigationHelper import org.schabi.newpipe.util.NavigationHelper
import org.schabi.newpipe.util.PicassoHelper import org.schabi.newpipe.util.PicassoHelper
@ -39,13 +40,7 @@ class NotificationHelper(val context: Context) {
context, context,
context.getString(R.string.streams_notification_channel_id) context.getString(R.string.streams_notification_channel_id)
) )
.setContentTitle( .setContentTitle(Localization.concatenateStrings(data.name, summary))
context.getString(
R.string.notification_title_pattern,
data.name,
summary
)
)
.setContentText( .setContentText(
data.listInfo.relatedItems.joinToString( data.listInfo.relatedItems.joinToString(
context.getString(R.string.enumeration_comma) context.getString(R.string.enumeration_comma)
@ -62,9 +57,7 @@ class NotificationHelper(val context: Context) {
// Build style // Build style
val style = NotificationCompat.InboxStyle() val style = NotificationCompat.InboxStyle()
for (stream in newStreams) { newStreams.forEach { style.addLine(it.name) }
style.addLine(stream.name)
}
style.setSummaryText(summary) style.setSummaryText(summary)
style.setBigContentTitle(data.name) style.setBigContentTitle(data.name)
builder.setStyle(style) builder.setStyle(style)

View File

@ -40,14 +40,14 @@ class FeedLoadManager(private val context: Context) {
/** /**
* Start checking for new streams of a subscription group. * Start checking for new streams of a subscription group.
* @param groupId The ID of the subscription group to load. * @param groupId The ID of the subscription group to load. When using
* When using [FeedGroupEntity.GROUP_ALL_ID], all subscriptions are loaded. * [FeedGroupEntity.GROUP_ALL_ID], all subscriptions are loaded. When using
* When using [GROUP_NOTIFICATION_ENABLED], only subscriptions with enabled notifications * [GROUP_NOTIFICATION_ENABLED], only subscriptions with enabled notifications for new streams
* for new streams are loaded. * are loaded. Using an id of a group created by the user results in that specific group to be
* loaded.
* @param ignoreOutdatedThreshold When `false`, only subscriptions which have not been updated * @param ignoreOutdatedThreshold When `false`, only subscriptions which have not been updated
* within the `feed_update_threshold` are checked for updates. * within the `feed_update_threshold` are checked for updates. This threshold can be set by
* This threshold can be set by the user in the app settings. * the user in the app settings. When `true`, all subscriptions are checked for new streams.
* When `true`, all subscriptions are checked for new streams.
*/ */
fun startLoading( fun startLoading(
groupId: Long = FeedGroupEntity.GROUP_ALL_ID, groupId: Long = FeedGroupEntity.GROUP_ALL_ID,

View File

@ -90,7 +90,12 @@ class SubscriptionManager(context: Context) {
if (info is FeedInfo) { if (info is FeedInfo) {
subscriptionEntity.name = info.name subscriptionEntity.name = info.name
} else if (info is ChannelInfo) { } else if (info is ChannelInfo) {
subscriptionEntity.setData(info.name, info.avatarUrl, info.description, info.subscriberCount) subscriptionEntity.setData(
info.name,
info.avatarUrl,
info.description,
info.subscriberCount
)
} }
subscriptionTable.update(subscriptionEntity) subscriptionTable.update(subscriptionEntity)
@ -115,7 +120,7 @@ class SubscriptionManager(context: Context) {
/** /**
* Fetches the list of videos for the provided channel and saves them in the database, so that * Fetches the list of videos for the provided channel and saves them in the database, so that
* they will be considered as "old"/"already seen" streams and the user will never notified * they will be considered as "old"/"already seen" streams and the user will never be notified
* about any one of them. * about any one of them.
*/ */
private fun rememberAllStreams(subscription: SubscriptionEntity): Completable { private fun rememberAllStreams(subscription: SubscriptionEntity): Completable {

View File

@ -108,13 +108,7 @@ class NotificationsSettingsFragment : BasePreferenceFragment(), OnSharedPreferen
private fun updateSubscriptions(subscriptions: List<SubscriptionEntity>) { private fun updateSubscriptions(subscriptions: List<SubscriptionEntity>) {
val notified = subscriptions.count { it.notificationMode != NotificationMode.DISABLED } val notified = subscriptions.count { it.notificationMode != NotificationMode.DISABLED }
val preference = findPreference<Preference>(getString(R.string.streams_notifications_channels_key)) val preference = findPreference<Preference>(getString(R.string.streams_notifications_channels_key))
if (preference != null) { preference?.apply { summary = "$notified/${subscriptions.size}" }
preference.summary = preference.context.getString(
R.string.streams_notifications_channels_summary,
notified,
subscriptions.size
)
}
} }
private fun onError(e: Throwable) { private fun onError(e: Throwable) {

View File

@ -81,10 +81,6 @@ public final class PicassoHelper {
picassoInstance.cancelTag(tag); picassoInstance.cancelTag(tag);
} }
public static void cancelRequest(final Target target) {
picassoInstance.cancelRequest(target);
}
public static void setIndicatorsEnabled(final boolean enabled) { public static void setIndicatorsEnabled(final boolean enabled) {
picassoInstance.setIndicatorsEnabled(enabled); // useful for debugging picassoInstance.setIndicatorsEnabled(enabled); // useful for debugging
} }

View File

@ -721,7 +721,5 @@
<string name="get_notified">Get notified</string> <string name="get_notified">Get notified</string>
<string name="you_successfully_subscribed">You now subscribed to this channel</string> <string name="you_successfully_subscribed">You now subscribed to this channel</string>
<string name="enumeration_comma">,</string> <string name="enumeration_comma">,</string>
<string name="notification_title_pattern" translatable="false">%s • %s</string>
<string name="streams_notifications_channels_summary" translatable="false">%d/%d</string>
<string name="toggle_all">Toggle all</string> <string name="toggle_all">Toggle all</string>
</resources> </resources>