-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Feature/channel stream filter #13388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
e6daf45
e358867
9a292e3
06e4548
195a76b
dd65db5
66237ab
9f1e2c6
042f946
56fb31d
e22b046
bf16332
6dddcf3
98a883d
8b500c7
1fbf9fc
0020a02
0cdf40c
8fa6f96
e6e5fc7
9f45aa5
e173bf4
b8ec9bf
dda219a
d497f1d
521f60a
3b3348e
47624a5
816f5f9
05f09c9
d5f941f
dc2e4aa
d9fd1bf
93f9a52
7c88f06
54021a9
675d156
21b37b5
79767f9
9cc6f9f
0d65733
6fa97e1
bfcc31e
668af4f
223b240
ebb9379
71a3bf2
aba2a38
5f1a270
f1c608b
3490008
515bb6e
fbf3b7a
831425a
08326c6
2fec3a3
3f8d26d
fa6412a
179a713
80a47be
db61af1
b0f2d50
cf0d701
3112eef
2dda392
09c9615
af08ddc
949f0f3
f8c9ab8
6d50fe7
75ba70a
da76ddb
07a2ab2
b7c339c
50e8189
f645d5b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -20,6 +20,7 @@ | |||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| package org.schabi.newpipe; | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| import android.app.AlertDialog; | ||||||||||||||||||||||||||
| import android.content.BroadcastReceiver; | ||||||||||||||||||||||||||
| import android.content.Context; | ||||||||||||||||||||||||||
| import android.content.Intent; | ||||||||||||||||||||||||||
|
|
@@ -96,6 +97,8 @@ | |||||||||||||||||||||||||
| import org.schabi.newpipe.util.external_communication.ShareUtils; | ||||||||||||||||||||||||||
| import org.schabi.newpipe.views.FocusOverlayView; | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| import java.time.Instant; | ||||||||||||||||||||||||||
| import java.time.temporal.ChronoUnit; | ||||||||||||||||||||||||||
| import java.util.ArrayList; | ||||||||||||||||||||||||||
| import java.util.List; | ||||||||||||||||||||||||||
| import java.util.Objects; | ||||||||||||||||||||||||||
|
|
@@ -196,6 +199,12 @@ protected void onCreate(final Bundle savedInstanceState) { | |||||||||||||||||||||||||
| UpdateSettingsFragment.askForConsentToUpdateChecks(this); | ||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| // ReleaseVersionUtil.INSTANCE.isReleaseApk() will be true only for main official build | ||||||||||||||||||||||||||
| // We want every release build (nightly, nightly-refactor) to show the popup | ||||||||||||||||||||||||||
| if (!DEBUG) { | ||||||||||||||||||||||||||
| showKeepAndroidDialog(); | ||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| MigrationManager.showUserInfoIfPresent(this); | ||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
@@ -973,4 +982,57 @@ private boolean bottomSheetHiddenOrCollapsed() { | |||||||||||||||||||||||||
| || sheetState == BottomSheetBehavior.STATE_COLLAPSED; | ||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| private void showKeepAndroidDialog() { | ||||||||||||||||||||||||||
| final var prefs = PreferenceManager.getDefaultSharedPreferences(this); | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| final var now = Instant.now(); | ||||||||||||||||||||||||||
| final var kaoLastCheck = Instant.ofEpochMilli(prefs.getLong( | ||||||||||||||||||||||||||
| getString(R.string.kao_last_checked_key), | ||||||||||||||||||||||||||
| 0 | ||||||||||||||||||||||||||
| )); | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
| final var supportedLannguages = List.of("fr", "de", "ca", "es", "id", "it", "pl", | ||||||||||||||||||||||||||
| "pt", "cs", "sk", "fa", "ar", "tr", "el", "th", "ru", "uk", "ko", "zh", "ja"); | ||||||||||||||||||||||||||
| final var locale = Localization.getAppLocale(); | ||||||||||||||||||||||||||
| final String kaoBaseUrl = "https://keepandroidopen.org/"; | ||||||||||||||||||||||||||
| final String kaoURI; | ||||||||||||||||||||||||||
| if (supportedLannguages.contains(locale.getLanguage())) { | ||||||||||||||||||||||||||
|
Comment on lines
+994
to
+999
|
||||||||||||||||||||||||||
| final var supportedLannguages = List.of("fr", "de", "ca", "es", "id", "it", "pl", | |
| "pt", "cs", "sk", "fa", "ar", "tr", "el", "th", "ru", "uk", "ko", "zh", "ja"); | |
| final var locale = Localization.getAppLocale(); | |
| final String kaoBaseUrl = "https://keepandroidopen.org/"; | |
| final String kaoURI; | |
| if (supportedLannguages.contains(locale.getLanguage())) { | |
| final var supportedLanguages = List.of("fr", "de", "ca", "es", "id", "it", "pl", | |
| "pt", "cs", "sk", "fa", "ar", "tr", "el", "th", "ru", "uk", "ko", "zh", "ja"); | |
| final var locale = Localization.getAppLocale(); | |
| final String kaoBaseUrl = "https://keepandroidopen.org/"; | |
| final String kaoURI; | |
| if (supportedLanguages.contains(locale.getLanguage())) { |
Copilot
AI
Mar 31, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
showKeepAndroidDialog() hardcodes the dialog title ("Keep Android Open"). This bypasses localization and is inconsistent with the rest of the app’s UI strings. Please move the title to a string resource and reference it from here.
| .setTitle("Keep Android Open") | |
| .setTitle(getString(R.string.kao_dialog_title)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR title/description is about adding a watched/unwatched stream filter on channel tabs, but the diff shown here is dominated by Gradle/tooling upgrades, subscription import/export changes, error-link handling, and a new Keep Android Open dialog, with no channel stream filter implementation visible. Please clarify the PR scope or split this into focused PRs so reviewers can validate the intended feature change.