<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Android/app/src/main/AndroidManifest.xml, branch 2609a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Request ACCESS_LOCAL_NETWORK permission on android 17 and up</title>
<updated>2026-10-07T23:55:50+00:00</updated>
<author>
<name>Tom Pratt</name>
<email>tom.pratt@outlook.com</email>
</author>
<published>2026-09-26T20:45:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b5ded04314feafe27ebcc8db4557d697192be3ea'/>
<id>b5ded04314feafe27ebcc8db4557d697192be3ea</id>
<content type='text'>
Show the permission dialog the first time host or connect is clicked.

While the permission is not granted, show an info box at the bottom of the netplay setup screen explaining the need for the permission with a button to grant permission. Launch the app settings menu where the permission can be granted manually if the user has denied twice previously preventing us from showing the permission dialog.

Workarounds using the shouldShowRationale flag and detecting if the dialog showed via onPause to account for well known limitations in the android permissions API.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Show the permission dialog the first time host or connect is clicked.

While the permission is not granted, show an info box at the bottom of the netplay setup screen explaining the need for the permission with a button to grant permission. Launch the app settings menu where the permission can be granted manually if the user has denied twice previously preventing us from showing the permission dialog.

Workarounds using the shouldShowRationale flag and detecting if the dialog showed via onPause to account for well known limitations in the android permissions API.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add mostly empty Netplay screen, equivalent of NetPlayDialog in QT.</title>
<updated>2026-05-19T10:02:55+00:00</updated>
<author>
<name>Tom Pratt</name>
<email>tom.pratt@outlook.com</email>
</author>
<published>2026-04-09T12:43:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b72f3c1afc6a4d4ba3dfffa19de33a425c55d679'/>
<id>b72f3c1afc6a4d4ba3dfffa19de33a425c55d679</id>
<content type='text'>
All it can do at this point is quit the current netplay session when backing out of this screen.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All it can do at this point is quit the current netplay session when backing out of this screen.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add compose dependencies for Android and empty NetplaySetupActivity</title>
<updated>2026-05-19T10:02:53+00:00</updated>
<author>
<name>Tom Pratt</name>
<email>tom.pratt@outlook.com</email>
</author>
<published>2026-04-06T12:32:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c716c32ce891b340f5b287f6ae589e43832c427e'/>
<id>c716c32ce891b340f5b287f6ae589e43832c427e</id>
<content type='text'>
Derive compose colour theming from the existing XML styles already set at the activity level.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Derive compose colour theming from the existing XML styles already set at the activity level.
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Remove deprecated extractNativeLibs manifest flag</title>
<updated>2025-11-11T16:18:48+00:00</updated>
<author>
<name>Simonx22</name>
<email>simon@oatmealdome.me</email>
</author>
<published>2025-11-11T16:18:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=a14014d9aa739430a40f3c00ad700adb4a2a27e8'/>
<id>a14014d9aa739430a40f3c00ad700adb4a2a27e8</id>
<content type='text'>
extractNativeLibs is deprecated. Native lib packaging is already controlled by
packaging.jniLibs.useLegacyPackaging (which we already have), so the manifest override is unnecessary.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
extractNativeLibs is deprecated. Native lib packaging is already controlled by
packaging.jniLibs.useLegacyPackaging (which we already have), so the manifest override is unnecessary.
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Opt out of back invoked callback</title>
<updated>2025-08-01T17:18:09+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-08-01T17:18:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=5c7e8db26e45803681a689da61dc9099fafaffb8'/>
<id>5c7e8db26e45803681a689da61dc9099fafaffb8</id>
<content type='text'>
When 9d9b6d8 changed our target SDK version to Android 16, it made
Android 16 stop calling onBackPressed and stop delivering KEYCODE_BACK
events. Dolphin's code isn't ready for that yet.

Android lets us opt out of this new behavior for now, so let's do so.
But the opt-out will presumably stop working once we start targeting
Android 17, so we're going to have to update Dolphin's code within the
next one or two years to support the replacement API.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When 9d9b6d8 changed our target SDK version to Android 16, it made
Android 16 stop calling onBackPressed and stop delivering KEYCODE_BACK
events. Dolphin's code isn't ready for that yet.

Android lets us opt out of this new behavior for now, so let's do so.
But the opt-out will presumably stop working once we start targeting
Android 17, so we're going to have to update Dolphin's code within the
next one or two years to support the replacement API.

</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Add android.hardware.microphone to manifest</title>
<updated>2025-06-04T19:30:51+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-06-04T19:30:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=5d2518d4908ace3ffd5fffc84ac466ce174c724a'/>
<id>5d2518d4908ace3ffd5fffc84ac466ce174c724a</id>
<content type='text'>
Google Play is now blocking distribution for Android TV unless we
explicitly set the android.hardware.microphone hardware feature as
android:required="false", because it's inferring
android.hardware.microphone from the android.permission.RECORD_AUDIO we
added for Wii Speak emulation, with android:required defaulting to true.
I was under the belief that setting android:required="false" on
android.permission.RECORD_AUDIO would solve this, but looking closer at
the definition of &lt;uses-permission&gt;, it doesn't actually support
android:required attributes, so that presumably has no effect.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Google Play is now blocking distribution for Android TV unless we
explicitly set the android.hardware.microphone hardware feature as
android:required="false", because it's inferring
android.hardware.microphone from the android.permission.RECORD_AUDIO we
added for Wii Speak emulation, with android:required defaulting to true.
I was under the belief that setting android:required="false" on
android.permission.RECORD_AUDIO would solve this, but looking closer at
the definition of &lt;uses-permission&gt;, it doesn't actually support
android:required attributes, so that presumably has no effect.
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Add emulated Wii Speak</title>
<updated>2025-05-07T16:33:22+00:00</updated>
<author>
<name>Sepalani</name>
<email>sepalani@hotmail.fr</email>
</author>
<published>2024-05-12T19:29:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=dbc09bfb0d75f939fd29e68d621cb56fff07ba6e'/>
<id>dbc09bfb0d75f939fd29e68d621cb56fff07ba6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Implement a UI for Adrenotools</title>
<updated>2023-06-11T11:53:31+00:00</updated>
<author>
<name>Robin Kertels</name>
<email>robin.kertels@gmail.com</email>
</author>
<published>2023-05-31T22:05:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2da7d16b7cf9a3844a4aa6005ede7926b31acf2d'/>
<id>2da7d16b7cf9a3844a4aa6005ede7926b31acf2d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoBackends:Vulkan: Allow loading custom drivers on Android</title>
<updated>2023-06-11T11:52:34+00:00</updated>
<author>
<name>Robin Kertels</name>
<email>robin.kertels@gmail.com</email>
</author>
<published>2023-05-31T22:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=23bebc5270bfd5a149aeb8bb5a3a2dd4433bd5e1'/>
<id>23bebc5270bfd5a149aeb8bb5a3a2dd4433bd5e1</id>
<content type='text'>
... using libadrenotools
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... using libadrenotools
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Give Debug and Benchmark builds unique names</title>
<updated>2023-04-08T13:56:44+00:00</updated>
<author>
<name>Robin Kertels</name>
<email>robin.kertels@gmail.com</email>
</author>
<published>2023-04-08T12:54:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=1596b13743b2d84683a979b328d2d19246753e05'/>
<id>1596b13743b2d84683a979b328d2d19246753e05</id>
<content type='text'>
on the launcher and for the DocumentsProvider
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
on the launcher and for the DocumentsProvider
</pre>
</div>
</content>
</entry>
</feed>
