mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 15:23:00 +00:00 
			
		
		
		
	Merge pull request #9306 from Stypox/target-api-33
Set compileSdk and targetSdk to 33 (Android 13)
This commit is contained in:
		| @@ -8,14 +8,14 @@ plugins { | |||||||
| } | } | ||||||
|  |  | ||||||
| android { | android { | ||||||
|     compileSdk 32 |     compileSdk 33 | ||||||
|     namespace 'org.schabi.newpipe' |     namespace 'org.schabi.newpipe' | ||||||
|  |  | ||||||
|     defaultConfig { |     defaultConfig { | ||||||
|         applicationId "org.schabi.newpipe" |         applicationId "org.schabi.newpipe" | ||||||
|         resValue "string", "app_name", "NewPipe" |         resValue "string", "app_name", "NewPipe" | ||||||
|         minSdk 21 |         minSdk 21 | ||||||
|         targetSdk 29 |         targetSdk 33 | ||||||
|         versionCode 991 |         versionCode 991 | ||||||
|         versionName "0.24.1" |         versionName "0.24.1" | ||||||
|  |  | ||||||
| @@ -107,7 +107,7 @@ ext { | |||||||
|     groupieVersion = '2.10.1' |     groupieVersion = '2.10.1' | ||||||
|     markwonVersion = '4.6.2' |     markwonVersion = '4.6.2' | ||||||
|  |  | ||||||
|     leakCanaryVersion = '2.5' |     leakCanaryVersion = '2.9.1' | ||||||
|     stethoVersion = '1.6.0' |     stethoVersion = '1.6.0' | ||||||
|     mockitoVersion = '4.0.0' |     mockitoVersion = '4.0.0' | ||||||
|     assertJVersion = '3.23.1' |     assertJVersion = '3.23.1' | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ | |||||||
|     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | ||||||
|     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> |     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> | ||||||
|     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> |     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> | ||||||
|  |     <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> | ||||||
|  |  | ||||||
|     <uses-feature |     <uses-feature | ||||||
|         android:name="android.hardware.touchscreen" |         android:name="android.hardware.touchscreen" | ||||||
| @@ -24,11 +25,12 @@ | |||||||
|         android:icon="@mipmap/ic_launcher" |         android:icon="@mipmap/ic_launcher" | ||||||
|         android:label="@string/app_name" |         android:label="@string/app_name" | ||||||
|         android:logo="@mipmap/ic_launcher" |         android:logo="@mipmap/ic_launcher" | ||||||
|         android:theme="@style/OpeningTheme" |  | ||||||
|         android:resizeableActivity="true" |         android:resizeableActivity="true" | ||||||
|  |         android:theme="@style/OpeningTheme" | ||||||
|         tools:ignore="AllowBackup"> |         tools:ignore="AllowBackup"> | ||||||
|         <activity |         <activity | ||||||
|             android:name=".MainActivity" |             android:name=".MainActivity" | ||||||
|  |             android:exported="true" | ||||||
|             android:label="@string/app_name" |             android:label="@string/app_name" | ||||||
|             android:launchMode="singleTask"> |             android:launchMode="singleTask"> | ||||||
|             <intent-filter> |             <intent-filter> | ||||||
| @@ -39,7 +41,9 @@ | |||||||
|             </intent-filter> |             </intent-filter> | ||||||
|         </activity> |         </activity> | ||||||
|  |  | ||||||
|         <receiver android:name="androidx.media.session.MediaButtonReceiver"> |         <receiver | ||||||
|  |             android:name="androidx.media.session.MediaButtonReceiver" | ||||||
|  |             android:exported="true"> | ||||||
|             <intent-filter> |             <intent-filter> | ||||||
|                 <action android:name="android.intent.action.MEDIA_BUTTON" /> |                 <action android:name="android.intent.action.MEDIA_BUTTON" /> | ||||||
|             </intent-filter> |             </intent-filter> | ||||||
| @@ -47,7 +51,7 @@ | |||||||
|  |  | ||||||
|         <service |         <service | ||||||
|             android:name=".player.PlayerService" |             android:name=".player.PlayerService" | ||||||
|             android:exported="false" |             android:exported="true" | ||||||
|             android:foregroundServiceType="mediaPlayback"> |             android:foregroundServiceType="mediaPlayback"> | ||||||
|             <intent-filter> |             <intent-filter> | ||||||
|                 <action android:name="android.intent.action.MEDIA_BUTTON" /> |                 <action android:name="android.intent.action.MEDIA_BUTTON" /> | ||||||
| @@ -56,15 +60,18 @@ | |||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".player.PlayQueueActivity" |             android:name=".player.PlayQueueActivity" | ||||||
|  |             android:exported="false" | ||||||
|             android:label="@string/title_activity_play_queue" |             android:label="@string/title_activity_play_queue" | ||||||
|             android:launchMode="singleTask" /> |             android:launchMode="singleTask" /> | ||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".settings.SettingsActivity" |             android:name=".settings.SettingsActivity" | ||||||
|  |             android:exported="false" | ||||||
|             android:label="@string/settings" /> |             android:label="@string/settings" /> | ||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".about.AboutActivity" |             android:name=".about.AboutActivity" | ||||||
|  |             android:exported="false" | ||||||
|             android:label="@string/title_activity_about" /> |             android:label="@string/title_activity_about" /> | ||||||
|  |  | ||||||
|         <service android:name=".local.subscription.services.SubscriptionsImportService" /> |         <service android:name=".local.subscription.services.SubscriptionsImportService" /> | ||||||
| @@ -73,6 +80,7 @@ | |||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".PanicResponderActivity" |             android:name=".PanicResponderActivity" | ||||||
|  |             android:exported="true" | ||||||
|             android:launchMode="singleInstance" |             android:launchMode="singleInstance" | ||||||
|             android:noHistory="true" |             android:noHistory="true" | ||||||
|             android:theme="@android:style/Theme.NoDisplay"> |             android:theme="@android:style/Theme.NoDisplay"> | ||||||
| @@ -85,13 +93,18 @@ | |||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".ExitActivity" |             android:name=".ExitActivity" | ||||||
|  |             android:exported="false" | ||||||
|             android:label="@string/general_error" |             android:label="@string/general_error" | ||||||
|             android:theme="@android:style/Theme.NoDisplay" /> |             android:theme="@android:style/Theme.NoDisplay" /> | ||||||
|         <activity android:name=".error.ErrorActivity" /> |  | ||||||
|  |         <activity | ||||||
|  |             android:name=".error.ErrorActivity" | ||||||
|  |             android:exported="false" /> | ||||||
|  |  | ||||||
|         <!-- giga get related --> |         <!-- giga get related --> | ||||||
|         <activity |         <activity | ||||||
|             android:name=".download.DownloadActivity" |             android:name=".download.DownloadActivity" | ||||||
|  |             android:exported="false" | ||||||
|             android:label="@string/app_name" |             android:label="@string/app_name" | ||||||
|             android:launchMode="singleTask" /> |             android:launchMode="singleTask" /> | ||||||
|  |  | ||||||
| @@ -99,6 +112,7 @@ | |||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".util.FilePickerActivityHelper" |             android:name=".util.FilePickerActivityHelper" | ||||||
|  |             android:exported="true" | ||||||
|             android:label="@string/app_name" |             android:label="@string/app_name" | ||||||
|             android:theme="@style/FilePickerThemeDark"> |             android:theme="@style/FilePickerThemeDark"> | ||||||
|             <intent-filter> |             <intent-filter> | ||||||
| @@ -109,6 +123,7 @@ | |||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".error.ReCaptchaActivity" |             android:name=".error.ReCaptchaActivity" | ||||||
|  |             android:exported="false" | ||||||
|             android:label="@string/recaptcha" /> |             android:label="@string/recaptcha" /> | ||||||
|  |  | ||||||
|         <provider |         <provider | ||||||
| @@ -124,6 +139,7 @@ | |||||||
|         <activity |         <activity | ||||||
|             android:name=".RouterActivity" |             android:name=".RouterActivity" | ||||||
|             android:excludeFromRecents="true" |             android:excludeFromRecents="true" | ||||||
|  |             android:exported="true" | ||||||
|             android:label="@string/preferred_open_action_share_menu_title" |             android:label="@string/preferred_open_action_share_menu_title" | ||||||
|             android:taskAffinity="" |             android:taskAffinity="" | ||||||
|             android:theme="@style/RouterActivityThemeDark"> |             android:theme="@style/RouterActivityThemeDark"> | ||||||
| @@ -353,30 +369,30 @@ | |||||||
|  |  | ||||||
|             <!-- Bandcamp filter for tracks, albums and playlists --> |             <!-- Bandcamp filter for tracks, albums and playlists --> | ||||||
|             <intent-filter> |             <intent-filter> | ||||||
|                 <action android:name="android.intent.action.VIEW"/> |                 <action android:name="android.intent.action.VIEW" /> | ||||||
|                 <action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH"/> |                 <action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" /> | ||||||
|                 <action android:name="android.nfc.action.NDEF_DISCOVERED"/> |                 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> | ||||||
|  |  | ||||||
|                 <category android:name="android.intent.category.DEFAULT"/> |                 <category android:name="android.intent.category.DEFAULT" /> | ||||||
|                 <category android:name="android.intent.category.BROWSABLE"/> |                 <category android:name="android.intent.category.BROWSABLE" /> | ||||||
|  |  | ||||||
|                 <data android:scheme="http"/> |                 <data android:scheme="http" /> | ||||||
|                 <data android:scheme="https"/> |                 <data android:scheme="https" /> | ||||||
|                 <data android:host="*.bandcamp.com"/> |                 <data android:host="*.bandcamp.com" /> | ||||||
|             </intent-filter> |             </intent-filter> | ||||||
|  |  | ||||||
|             <!-- Bandcamp filter for radio --> |             <!-- Bandcamp filter for radio --> | ||||||
|             <intent-filter> |             <intent-filter> | ||||||
|                 <action android:name="android.intent.action.VIEW"/> |                 <action android:name="android.intent.action.VIEW" /> | ||||||
|                 <action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH"/> |                 <action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" /> | ||||||
|                 <action android:name="android.nfc.action.NDEF_DISCOVERED"/> |                 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> | ||||||
|  |  | ||||||
|                 <category android:name="android.intent.category.DEFAULT"/> |                 <category android:name="android.intent.category.DEFAULT" /> | ||||||
|                 <category android:name="android.intent.category.BROWSABLE"/> |                 <category android:name="android.intent.category.BROWSABLE" /> | ||||||
|  |  | ||||||
|                 <data android:scheme="http"/> |                 <data android:scheme="http" /> | ||||||
|                 <data android:scheme="https"/> |                 <data android:scheme="https" /> | ||||||
|                 <data android:sspPattern="bandcamp.com/?show=*"/> |                 <data android:sspPattern="bandcamp.com/?show=*" /> | ||||||
|             </intent-filter> |             </intent-filter> | ||||||
|  |  | ||||||
|         </activity> |         </activity> | ||||||
| @@ -385,11 +401,17 @@ | |||||||
|             android:exported="false" /> |             android:exported="false" /> | ||||||
|  |  | ||||||
|         <!-- opting out of sending metrics to Google in Android System WebView --> |         <!-- opting out of sending metrics to Google in Android System WebView --> | ||||||
|         <meta-data android:name="android.webkit.WebView.MetricsOptOut" android:value="true" /> |         <meta-data | ||||||
|  |             android:name="android.webkit.WebView.MetricsOptOut" | ||||||
|  |             android:value="true" /> | ||||||
|         <!-- see https://github.com/TeamNewPipe/NewPipe/issues/3947 --> |         <!-- see https://github.com/TeamNewPipe/NewPipe/issues/3947 --> | ||||||
|         <!-- Version < 3.0. DeX Mode and Screen Mirroring support --> |         <!-- Version < 3.0. DeX Mode and Screen Mirroring support --> | ||||||
|         <meta-data android:name="com.samsung.android.keepalive.density" android:value="true"/> |         <meta-data | ||||||
|  |             android:name="com.samsung.android.keepalive.density" | ||||||
|  |             android:value="true" /> | ||||||
|         <!-- Version >= 3.0. DeX Dual Mode support --> |         <!-- Version >= 3.0. DeX Dual Mode support --> | ||||||
|         <meta-data android:name="com.samsung.android.multidisplay.keep_process_alive" android:value="true"/> |         <meta-data | ||||||
|  |             android:name="com.samsung.android.multidisplay.keep_process_alive" | ||||||
|  |             android:value="true" /> | ||||||
|     </application> |     </application> | ||||||
| </manifest> | </manifest> | ||||||
|   | |||||||
| @@ -157,9 +157,12 @@ public class MainActivity extends AppCompatActivity { | |||||||
|         } |         } | ||||||
|         openMiniPlayerUponPlayerStarted(); |         openMiniPlayerUponPlayerStarted(); | ||||||
|  |  | ||||||
|         // Schedule worker for checking for new streams and creating corresponding notifications |         if (PermissionHelper.checkPostNotificationsPermission(this, | ||||||
|         // if this is enabled by the user. |                 PermissionHelper.POST_NOTIFICATIONS_REQUEST_CODE)) { | ||||||
|         NotificationWorker.initialize(this); |             // Schedule worker for checking for new streams and creating corresponding notifications | ||||||
|  |             // if this is enabled by the user. | ||||||
|  |             NotificationWorker.initialize(this); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
| @@ -599,6 +602,9 @@ public class MainActivity extends AppCompatActivity { | |||||||
|                     ((VideoDetailFragment) fragment).openDownloadDialog(); |                     ((VideoDetailFragment) fragment).openDownloadDialog(); | ||||||
|                 } |                 } | ||||||
|                 break; |                 break; | ||||||
|  |             case PermissionHelper.POST_NOTIFICATIONS_REQUEST_CODE: | ||||||
|  |                 NotificationWorker.initialize(this); | ||||||
|  |                 break; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -160,15 +160,15 @@ class PopupPlayerGestureListener( | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     override fun onLongPress(e: MotionEvent?) { |     override fun onLongPress(e: MotionEvent) { | ||||||
|         playerUi.updateScreenSize() |         playerUi.updateScreenSize() | ||||||
|         playerUi.checkPopupPositionBounds() |         playerUi.checkPopupPositionBounds() | ||||||
|         playerUi.changePopupSize(playerUi.screenWidth) |         playerUi.changePopupSize(playerUi.screenWidth) | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     override fun onFling( |     override fun onFling( | ||||||
|         e1: MotionEvent?, |         e1: MotionEvent, | ||||||
|         e2: MotionEvent?, |         e2: MotionEvent, | ||||||
|         velocityX: Float, |         velocityX: Float, | ||||||
|         velocityY: Float |         velocityY: Float | ||||||
|     ): Boolean { |     ): Boolean { | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ import org.schabi.newpipe.R; | |||||||
| import org.schabi.newpipe.settings.NewPipeSettings; | import org.schabi.newpipe.settings.NewPipeSettings; | ||||||
|  |  | ||||||
| public final class PermissionHelper { | public final class PermissionHelper { | ||||||
|  |     public static final int POST_NOTIFICATIONS_REQUEST_CODE = 779; | ||||||
|     public static final int DOWNLOAD_DIALOG_REQUEST_CODE = 778; |     public static final int DOWNLOAD_DIALOG_REQUEST_CODE = 778; | ||||||
|     public static final int DOWNLOADS_REQUEST_CODE = 777; |     public static final int DOWNLOADS_REQUEST_CODE = 777; | ||||||
|  |  | ||||||
| @@ -71,8 +72,7 @@ public final class PermissionHelper { | |||||||
|  |  | ||||||
|             // No explanation needed, we can request the permission. |             // No explanation needed, we can request the permission. | ||||||
|             ActivityCompat.requestPermissions(activity, |             ActivityCompat.requestPermissions(activity, | ||||||
|                     new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, |                     new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, requestCode); | ||||||
|                     requestCode); |  | ||||||
|  |  | ||||||
|             // PERMISSION_WRITE_STORAGE is an |             // PERMISSION_WRITE_STORAGE is an | ||||||
|             // app-defined int constant. The callback method gets the |             // app-defined int constant. The callback method gets the | ||||||
| @@ -83,6 +83,18 @@ public final class PermissionHelper { | |||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     public static boolean checkPostNotificationsPermission(final Activity activity, | ||||||
|  |                                                            final int requestCode) { | ||||||
|  |         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU | ||||||
|  |                 && ContextCompat.checkSelfPermission(activity, | ||||||
|  |                 Manifest.permission.POST_NOTIFICATIONS) | ||||||
|  |                 != PackageManager.PERMISSION_GRANTED) { | ||||||
|  |             ActivityCompat.requestPermissions(activity, | ||||||
|  |                     new String[] {Manifest.permission.POST_NOTIFICATIONS}, requestCode); | ||||||
|  |             return false; | ||||||
|  |         } | ||||||
|  |         return true; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * In order to be able to draw over other apps, |      * In order to be able to draw over other apps, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Stypox
					Stypox