summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2021-04-18 18:33:43 +0200
committerJosJuice <josjuice@gmail.com>2021-04-18 18:33:43 +0200
commit5a1a642495d62854af90602068dfb97598e09e38 (patch)
tree02ecd74bcc3e26a3b990cd88409905fb4acade54 /Source
parent53222560650e4a99eceafcd537d4e04d1c50b3a6 (diff)
Android: Early changes to adapt for Android 12
We don't actually need to do this until we bump targetSdkVersion to Android 12 (which we can't do yet since we're not compatible with scoped storage), but I figured I'd get it out of the way early. Not tested on Android 12, but tested to not break stuff on Android 10.
Diffstat (limited to 'Source')
-rw-r--r--Source/Android/app/src/main/AndroidManifest.xml30
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_GCAdapter.java13
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_WiimoteAdapter.java14
3 files changed, 42 insertions, 15 deletions
diff --git a/Source/Android/app/src/main/AndroidManifest.xml b/Source/Android/app/src/main/AndroidManifest.xml
index dab8ce63a3..a3459198be 100644
--- a/Source/Android/app/src/main/AndroidManifest.xml
+++ b/Source/Android/app/src/main/AndroidManifest.xml
@@ -1,5 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="org.dolphinemu.dolphinemu">
+ xmlns:tools="http://schemas.android.com/tools"
+ package="org.dolphinemu.dolphinemu">
<uses-feature
android:name="android.hardware.touchscreen"
@@ -37,13 +38,16 @@
android:allowBackup="false"
android:supportsRtl="true"
android:isGame="true"
- android:banner="@drawable/banner_tv">
+ android:banner="@drawable/banner_tv"
+ android:debuggable="true"
+ tools:ignore="HardcodedDebugMode">
<meta-data
android:name="android.max_aspect"
android:value="2.1"/>
<activity
android:name=".ui.main.MainActivity"
+ android:exported="true"
android:theme="@style/DolphinBase">
<!-- This intentfilter marks this Activity as the one that gets launched from Home screen. -->
@@ -56,6 +60,7 @@
<activity
android:name=".ui.main.TvMainActivity"
+ android:exported="true"
android:theme="@style/DolphinTvBase">
<!-- This intentfilter marks this Activity as the one that gets launched from Home screen. -->
@@ -68,26 +73,33 @@
<activity
android:name=".features.settings.ui.SettingsActivity"
+ android:exported="false"
android:configChanges="orientation|screenSize"
android:theme="@style/DolphinSettingsBase"
android:label="@string/preferences_settings"/>
<activity
android:name=".activities.EmulationActivity"
+ android:exported="false"
android:theme="@style/DolphinEmulationBase"
android:preferMinimalPostProcessing="true"/>
<activity
android:name=".activities.CustomFilePickerActivity"
+ android:exported="false"
android:label="@string/app_name"
android:theme="@style/FilePickerTheme">
+
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
- <activity android:name=".activities.AppLinkActivity">
+ <activity
+ android:name=".activities.AppLinkActivity"
+ android:exported="true">
+
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
@@ -99,14 +111,22 @@
<activity
android:name=".activities.ConvertActivity"
+ android:exported="false"
android:theme="@style/DolphinBase" />
- <service android:name=".utils.DirectoryInitialization"/>
- <service android:name=".services.GameFileCacheService"/>
+ <service
+ android:name=".utils.DirectoryInitialization"
+ android:exported="false"/>
+
+ <service
+ android:name=".services.GameFileCacheService"
+ android:exported="false"/>
+
<service
android:name=".services.SyncChannelJobService"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"/>
+
<service
android:name=".services.SyncProgramsJobService"
android:exported="false"
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_GCAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_GCAdapter.java
index 060040890d..7d0af9e63c 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_GCAdapter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_GCAdapter.java
@@ -11,6 +11,7 @@ import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbEndpoint;
import android.hardware.usb.UsbInterface;
import android.hardware.usb.UsbManager;
+import android.os.Build;
import android.widget.Toast;
import androidx.annotation.Keep;
@@ -46,11 +47,13 @@ public class Java_GCAdapter
{
if (!manager.hasPermission(dev))
{
- Intent intent = new Intent();
- PendingIntent pend_intent;
- intent.setClass(context, USBPermService.class);
- pend_intent = PendingIntent.getService(context, 0, intent, 0);
- manager.requestPermission(dev, pend_intent);
+ Intent intent = new Intent(context, USBPermService.class);
+
+ int flags = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ?
+ PendingIntent.FLAG_IMMUTABLE : 0;
+ PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, flags);
+
+ manager.requestPermission(dev, pendingIntent);
}
}
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_WiimoteAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_WiimoteAdapter.java
index 1892e3f597..f3e5e5274c 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_WiimoteAdapter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/Java_WiimoteAdapter.java
@@ -9,6 +9,7 @@ import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbEndpoint;
import android.hardware.usb.UsbInterface;
import android.hardware.usb.UsbManager;
+import android.os.Build;
import androidx.annotation.Keep;
@@ -50,11 +51,14 @@ public class Java_WiimoteAdapter
if (!manager.hasPermission(dev))
{
Log.warning("Requesting permission for Wii Remote adapter");
- Intent intent = new Intent();
- PendingIntent pend_intent;
- intent.setClass(context, USBPermService.class);
- pend_intent = PendingIntent.getService(context, 0, intent, 0);
- manager.requestPermission(dev, pend_intent);
+
+ Intent intent = new Intent(context, USBPermService.class);
+
+ int flags = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ?
+ PendingIntent.FLAG_IMMUTABLE : 0;
+ PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, flags);
+
+ manager.requestPermission(dev, pendingIntent);
}
}
}