Notifications about new streams
This commit is contained in:
parent
be95fa6b2b
commit
51d972eeb9
40 changed files with 1090 additions and 27 deletions
14
app/src/main/res/drawable-anydpi-v24/ic_stat_newpipe.xml
Normal file
14
app/src/main/res/drawable-anydpi-v24/ic_stat_newpipe.xml
Normal 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>
|
||||
BIN
app/src/main/res/drawable-hdpi/ic_stat_newpipe.png
Normal file
BIN
app/src/main/res/drawable-hdpi/ic_stat_newpipe.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 413 B |
BIN
app/src/main/res/drawable-mdpi/ic_stat_newpipe.png
Normal file
BIN
app/src/main/res/drawable-mdpi/ic_stat_newpipe.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 294 B |
9
app/src/main/res/drawable-night/ic_notifications.xml
Normal file
9
app/src/main/res/drawable-night/ic_notifications.xml
Normal 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>
|
||||
BIN
app/src/main/res/drawable-xhdpi/ic_stat_newpipe.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_stat_newpipe.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 522 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_stat_newpipe.png
Normal file
BIN
app/src/main/res/drawable-xxhdpi/ic_stat_newpipe.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 731 B |
9
app/src/main/res/drawable/ic_notifications.xml
Normal file
9
app/src/main/res/drawable/ic_notifications.xml
Normal 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>
|
||||
14
app/src/main/res/layout/fragment_channels_notifications.xml
Normal file
14
app/src/main/res/layout/fragment_channels_notifications.xml
Normal 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>
|
||||
16
app/src/main/res/layout/item_notification_config.xml
Normal file
16
app/src/main/res/layout/item_notification_config.xml
Normal 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]" />
|
||||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
41
app/src/main/res/xml/notifications_settings.xml
Normal file
41
app/src/main/res/xml/notifications_settings.xml
Normal 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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue