Set compileSdk and targetSdk to 33 (Android 13)

android:exported in now required in the manifest on all activities/services/receivers/providers. It was set to true for those that need to interact with outside apps or the OS, while others have exported=false.
This also required updating LeakCanary to the latest version as the older version being used was not using android:exported in AndroidManifest.xml.
This commit is contained in:
Stypox 2022-11-05 23:44:35 +01:00 committed by TobiGr
parent aad5e26f31
commit 048b0972de
3 changed files with 50 additions and 29 deletions

View File

@ -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'

View File

@ -24,11 +24,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 +40,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 +50,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 +59,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 +79,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 +92,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 +111,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 +122,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 +138,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">
@ -354,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>
@ -386,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>

View File

@ -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 {