Notifications about new streams

This commit is contained in:
Vasiliy 2019-05-08 20:17:54 +03:00 committed by Koitharu
parent be95fa6b2b
commit 51d972eeb9
40 changed files with 1090 additions and 27 deletions

View file

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="98.91304"
android:viewportHeight="98.91304"
android:tint="#FFFFFF">
<group android:translateX="-6.7255435"
android:translateY="-0.54347825">
<path
android:pathData="m23.909,10.211v78.869c0,0 7.7,-4.556 12.4,-7.337V67.477,56.739 31.686c0,0 3.707,2.173 8.948,5.24 6.263,3.579 14.57,8.565 21.473,12.655 -9.358,5.483 -16.8,9.876 -22.496,13.234V77.053C57.974,68.927 75.176,58.762 90.762,49.581 75.551,40.634 57.144,29.768 43.467,21.715 31.963,14.94 23.909,10.211 23.909,10.211Z"
android:strokeWidth="1.2782383"
android:fillColor="#ffffff"/>
</group>
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" />
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" />
</vector>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
</FrameLayout>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="?listPreferredItemHeightSmall"
android:background="?selectableItemBackground"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="2"
android:orientation="horizontal"
android:paddingStart="?listPreferredItemPaddingStart"
android:paddingEnd="?listPreferredItemPaddingEnd"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:drawableEnd="?android:listChoiceIndicatorMultiple"
tools:text="@tools:sample/lorem[4]" />

View file

@ -17,6 +17,13 @@
android:title="@string/share"
app:showAsAction="ifRoom" />
<item
android:id="@+id/menu_item_notify"
android:checkable="true"
android:visible="false"
android:title="@string/get_notified"
app:showAsAction="never" />
<item
android:id="@+id/action_settings"
android:orderInCategory="1"

View file

@ -169,6 +169,11 @@
<item quantity="many">%sвидео</item>
<item quantity="other">%sвидео</item>
</plurals>
<plurals name="new_streams">
<item quantity="one">%s новое видео</item>
<item quantity="few">%s новых видео</item>
<item quantity="many">%s новых видео</item>
</plurals>
<string name="delete_item_search_history">Удалить этот элемент из истории поиска?</string>
<string name="main_page_content">Главная страница</string>
<string name="blank_page_summary">Пустая страница</string>
@ -683,4 +688,20 @@
<string name="main_page_content_swipe_remove">Удалять элементы смахиванием</string>
<string name="start_main_player_fullscreen_summary">Не начинать просмотр видео в мини-плеере, но сразу переключиться в полноэкранный режим, если автовращение экрана заблокировано. Вы можете переключиться на мини-плеер, выйдя из полноэкранного режима.</string>
<string name="start_main_player_fullscreen_title">Начинать просмотр в полноэкранном режиме</string>
<string name="notifications">Уведомления</string>
<string name="streams_notification_channel_name">Новые видео</string>
<string name="streams_notification_channel_description">Уведомления о новых видео в подписках</string>
<string name="streams_notifications_interval_title">Частота проверки</string>
<string name="enable_streams_notifications_title">Уведомлять о новых видео</string>
<string name="enable_streams_notifications_summary">Получать уведомления о новых видео из каналов, на которые Вы подписаны</string>
<string name="every_hour">Каждый час</string>
<string name="every_two_hours">Каждые 2 часа</string>
<string name="every_three_hours">Каждые 3 часа</string>
<string name="twice_per_day">Дважды в день</string>
<string name="every_day">Каждый день</string>
<string name="streams_notifications_network_title">Тип подключения</string>
<string name="any_network">Любая сеть</string>
<string name="notifications_disabled">Уведомления отключены</string>
<string name="get_notified">Уведомлять</string>
<string name="you_successfully_subscribed">Вы подписались на канал</string>
</resources>

View file

@ -443,4 +443,5 @@
<string name="seek_duration_title">快进 / 快退的单位时间</string>
<string name="clear_download_history">清除下载历史记录</string>
<string name="delete_downloaded_files">删除下载了的文件</string>
<string name="enumeration_comma"></string>
</resources>

View file

@ -132,4 +132,5 @@
<string name="use_inexact_seek_title">使用粗略快查</string>
<string name="controls_add_to_playlist_title">添加到</string>
<string name="tab_choose">選擇標籤</string>
<string name="enumeration_comma"></string>
</resources>

View file

@ -1260,4 +1260,34 @@
</string-array>
<string name="recaptcha_cookies_key" translatable="false">recaptcha_cookies_key</string>
<string name="enable_streams_notifications" translatable="false">enable_streams_notifications</string>
<string name="streams_notifications_interval_key" translatable="false">streams_notifications_interval</string>
<string name="streams_notifications_interval_default" translatable="false">3</string>
<string-array name="streams_notifications_interval_values">
<item>1</item>
<item>2</item>
<item>3</item>
<item>12</item>
<item>24</item>
</string-array>
<string-array name="streams_notifications_interval_description">
<item>@string/every_hour</item>
<item>@string/every_two_hours</item>
<item>@string/every_three_hours</item>
<item>@string/twice_per_day</item>
<item>@string/every_day</item>
</string-array>
<string name="streams_notifications_network_key" translatable="false">streams_notifications_network</string>
<string name="streams_notifications_network_any" translatable="false">any</string>
<string name="streams_notifications_network_wifi" translatable="false">wifi</string>
<string name="streams_notifications_network_default" translatable="false">@string/streams_notifications_network_wifi</string>
<string-array name="streams_notifications_network_values">
<item>@string/streams_notifications_network_any</item>
<item>@string/streams_notifications_network_wifi</item>
</string-array>
<string-array name="streams_notifications_network_description">
<item>@string/any_network</item>
<item>@string/wifi_only</item>
</string-array>
<string name="streams_notifications_channels_key" translatable="false">streams_notifications_channels</string>
</resources>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingTranslation">
@ -180,6 +180,7 @@
<string name="always">Always</string>
<string name="just_once">Just Once</string>
<string name="file">File</string>
<string name="notifications">Notifications</string>
<string name="notification_channel_id" translatable="false">newpipe</string>
<string name="notification_channel_name">NewPipe Notification</string>
<string name="notification_channel_description">Notifications for NewPipe background and popup players</string>
@ -189,6 +190,9 @@
<string name="hash_channel_id" translatable="false">newpipeHash</string>
<string name="hash_channel_name">Video Hash Notification</string>
<string name="hash_channel_description">Notifications for video hashing progress</string>
<string name="streams_notification_channel_id" translatable="false">newpipeNewStreams</string>
<string name="streams_notification_channel_name">New streams</string>
<string name="streams_notification_channel_description">Notifications about new streams for subscriptions</string>
<string name="unknown_content">[Unknown]</string>
<string name="switch_to_background">Switch to Background</string>
<string name="switch_to_popup">Switch to Popup</string>
@ -309,6 +313,10 @@
</plurals>
<string name="no_comments">No comments</string>
<string name="comments_are_disabled">Comments are disabled</string>
<plurals name="new_streams">
<item quantity="one">%s new stream</item>
<item quantity="other">%s new streams</item>
</plurals>
<!-- Missions -->
<string name="start">Start</string>
<string name="pause">Pause</string>
@ -513,6 +521,17 @@
<item>240p</item>
<item>144p</item>
</string-array>
<!-- Notifications settings -->
<string name="enable_streams_notifications_title">New streams notifications</string>
<string name="enable_streams_notifications_summary">Notify about new streams from subscriptions</string>
<string name="streams_notifications_interval_title">Checking frequency</string>
<string name="every_hour">Every hour</string>
<string name="every_two_hours">Every 2 hours</string>
<string name="every_three_hours">Every 3 hours</string>
<string name="twice_per_day">Twice per day</string>
<string name="every_day">Every day</string>
<string name="streams_notifications_network_title">Required network connection</string>
<string name="any_network">Any network</string>
<!-- Updates Settings -->
<string name="updates_setting_title">Updates</string>
<string name="updates_setting_description">Show a notification to prompt app update when a new version is available</string>
@ -703,4 +722,10 @@
<!-- Show Channel Details -->
<string name="error_show_channel_details">Error at Show Channel Details</string>
<string name="loading_channel_details">Loading Channel Details…</string>
<string name="notifications_disabled">Notifications are disabled</string>
<string name="get_notified">Get notified</string>
<string name="you_successfully_subscribed">You now subscribed to this channel</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>
</resources>

View file

@ -0,0 +1,41 @@
<?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"
android:key="general_preferences"
android:title="@string/notifications">
<SwitchPreference
android:defaultValue="false"
android:key="@string/enable_streams_notifications"
android:summary="@string/enable_streams_notifications_summary"
android:title="@string/enable_streams_notifications_title"
app:iconSpaceReserved="false" />
<ListPreference
android:defaultValue="@string/streams_notifications_interval_default"
android:dependency="@string/enable_streams_notifications"
android:entries="@array/streams_notifications_interval_description"
android:entryValues="@array/streams_notifications_interval_values"
android:key="@string/streams_notifications_interval_key"
android:summary="%s"
android:title="@string/streams_notifications_interval_title"
app:iconSpaceReserved="false" />
<ListPreference
android:defaultValue="@string/streams_notifications_network_default"
android:dependency="@string/enable_streams_notifications"
android:entries="@array/streams_notifications_network_description"
android:entryValues="@array/streams_notifications_network_values"
android:key="@string/streams_notifications_network_key"
android:summary="%s"
android:title="@string/streams_notifications_network_title"
app:iconSpaceReserved="false" />
<Preference
android:fragment="org.schabi.newpipe.settings.notifications.NotificationsChannelsConfigFragment"
android:dependency="@string/enable_streams_notifications"
android:key="@string/streams_notifications_channels_key"
android:title="@string/channels"
app:iconSpaceReserved="false" />
</PreferenceScreen>