## Description Updates the compile & target SDKs to 37 (Android 17). The only required change is to support the new `ACCESS_LOCAL_NETWORK` permission. This is required for Android 17 devices to auto discover Jellyfin servers on the local network. Wholphin will prompt for permission and if granted, use the discover servers feature. If permission is not granted, the user must enter the server URL manually. ### Related issues N/A, but several dependency renovate PRs are blocked by this ### Testing I tested with a regular Android 17 emulator. There are no Android TV 17 images (or probably even devices) available yet. ## Screenshots N/A ## AI or LLM usage None
107 lines
4.3 KiB
XML
107 lines
4.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
android:installLocation="auto">
|
|
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<uses-permission android:name="android.permission.ACCESS_LOCAL_NETWORK" />
|
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
|
<uses-permission
|
|
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
|
android:maxSdkVersion="28" />
|
|
<uses-permission
|
|
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
|
android:maxSdkVersion="28" />
|
|
<uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
|
|
|
|
<uses-feature
|
|
android:name="android.hardware.touchscreen"
|
|
android:required="false" />
|
|
<uses-feature
|
|
android:name="android.software.leanback"
|
|
android:required="${leanback}" />
|
|
<uses-feature
|
|
android:name="android.hardware.microphone"
|
|
android:required="false" />
|
|
|
|
<!-- Required for Android 11+ to query voice recognition availability -->
|
|
<queries>
|
|
<intent>
|
|
<action android:name="android.speech.action.RECOGNIZE_SPEECH" />
|
|
</intent>
|
|
<intent>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<data android:mimeType="video/*" />
|
|
</intent>
|
|
</queries>
|
|
|
|
<application
|
|
android:allowBackup="true"
|
|
android:banner="@mipmap/ic_banner"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:label="@string/app_name"
|
|
android:supportsRtl="true"
|
|
android:theme="@style/Theme.Wholphin"
|
|
android:name=".WholphinApplication"
|
|
android:usesCleartextTraffic="true"
|
|
android:networkSecurityConfig="@xml/network_security_config"
|
|
android:largeHeap="true">
|
|
<activity
|
|
android:name=".MainActivity"
|
|
android:exported="true"
|
|
android:launchMode="singleTask"
|
|
android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize|screenLayout|smallestScreenSize|density">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<action android:name="android.intent.action.SEARCH" />
|
|
<action android:name="com.github.damontecres.wholphin.PLAYBACK" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<data android:scheme="wholphin" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<provider
|
|
android:name="androidx.core.content.FileProvider"
|
|
android:authorities="${applicationId}.provider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/provider_paths" />
|
|
</provider>
|
|
<provider
|
|
android:name="androidx.startup.InitializationProvider"
|
|
android:authorities="${applicationId}.androidx-startup"
|
|
tools:node="remove" />
|
|
|
|
<service
|
|
android:name=".WholphinDreamService"
|
|
android:exported="true"
|
|
android:label="@string/app_name"
|
|
android:permission="android.permission.BIND_DREAM_SERVICE">
|
|
<intent-filter>
|
|
<action android:name="android.service.dreams.DreamService" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service
|
|
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
|
|
android:enabled="false"
|
|
android:exported="false">
|
|
<meta-data
|
|
android:name="autoStoreLocales"
|
|
android:value="false" />
|
|
</service>
|
|
</application>
|
|
|
|
</manifest>
|