<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Android/jni/MainAndroid.cpp, branch 2606</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Android: Move alert message log from Kotlin to C++</title>
<updated>2026-05-08T08:56:51+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2026-05-01T08:40:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=4470534dc594532714768586c2041d27476ae77f'/>
<id>4470534dc594532714768586c2041d27476ae77f</id>
<content type='text'>
For some reason, NativeLibrary.kt calling Log for the alert message text
makes Dolphin die with a JNI error. Supposedly the jstring passed to the
logging function is invalid. I don't understand why, because the dialog
that we show right afterwards is able to read the string just fine. The
error happens even if I pass the string directly to Log without
prepending any extra text.

There's no real downside to having the logging in C++ instead of Kotlin,
so let's move it to C++ to avoid the JNI error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For some reason, NativeLibrary.kt calling Log for the alert message text
makes Dolphin die with a JNI error. Supposedly the jstring passed to the
logging function is invalid. I don't understand why, because the dialog
that we show right afterwards is able to read the string just fine. The
error happens even if I pass the string directly to Log without
prepending any extra text.

There's no real downside to having the logging in C++ instead of Kotlin,
so let's move it to C++ to avoid the JNI error.
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Remove HostThreadLock</title>
<updated>2026-04-29T16:55:18+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2026-04-29T16:55:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c73dde2193fdb6a78bd1dfaf77bbd6900afbfc92'/>
<id>c73dde2193fdb6a78bd1dfaf77bbd6900afbfc92</id>
<content type='text'>
Follow-up to 068947e. HostThreadLock no longer serves a purpose.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up to 068947e. HostThreadLock no longer serves a purpose.
</pre>
</div>
</content>
</entry>
<entry>
<title>GCAdapter: Automatically start and stop thread</title>
<updated>2026-04-18T17:40:25+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2026-04-18T14:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=cc01a603474b66053a2cf5a6104ff637ed144cfe'/>
<id>cc01a603474b66053a2cf5a6104ff637ed144cfe</id>
<content type='text'>
This keeps the logic encapsulated inside GCAdapter.cpp so callers don't
have to think about it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This keeps the logic encapsulated inside GCAdapter.cpp so callers don't
have to think about it.
</pre>
</div>
</content>
</entry>
<entry>
<title>State: Simplify interthread communication and cleanups. Save/Load calls are now always non-blocking for the caller, but appropriately block the CPU thread as needed.</title>
<updated>2026-01-20T03:56:59+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-11-03T04:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2322437f96bc53f1edcd9100daedb5b54c6e0fc4'/>
<id>2322437f96bc53f1edcd9100daedb5b54c6e0fc4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Init achievement manager in Android startup</title>
<updated>2025-11-09T01:31:23+00:00</updated>
<author>
<name>LillyJadeKatrin</name>
<email>lilly.kitty.1988@gmail.com</email>
</author>
<published>2025-04-24T11:50:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=cff0ba76c1cfd8150b3f4ff2082579459829353a'/>
<id>cff0ba76c1cfd8150b3f4ff2082579459829353a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #14047 from Simonx22/reset-all-dolphin-settings-android</title>
<updated>2025-11-08T19:03:44+00:00</updated>
<author>
<name>OatmealDome</name>
<email>OatmealDome@users.noreply.github.com</email>
</author>
<published>2025-11-08T19:03:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=4f849ec8273abfd8290b565264cfe7e422d4961f'/>
<id>4f849ec8273abfd8290b565264cfe7e422d4961f</id>
<content type='text'>
Android: Add Reset Dolphin Settings functionality</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Android: Add Reset Dolphin Settings functionality</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #14086 from Simonx22/android/use-native-analytics</title>
<updated>2025-11-08T19:03:06+00:00</updated>
<author>
<name>OatmealDome</name>
<email>OatmealDome@users.noreply.github.com</email>
</author>
<published>2025-11-08T19:03:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=02ad0418664b793465d1a767765149ffa6320f3e'/>
<id>02ad0418664b793465d1a767765149ffa6320f3e</id>
<content type='text'>
Android: Use the shared HTTP analytics backend</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Android: Use the shared HTTP analytics backend</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Use the shared HTTP analytics backend</title>
<updated>2025-11-08T17:14:40+00:00</updated>
<author>
<name>Simonx22</name>
<email>simon@oatmealdome.me</email>
</author>
<published>2025-11-08T15:47:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=82f658a28fef217e2270082206a08fed4b579903'/>
<id>82f658a28fef217e2270082206a08fed4b579903</id>
<content type='text'>
We can now route Android analytics through Common::HttpAnalyticsBackend, drop the Volley sender, and keep the JNI layer limited to only transfer metadata since https://bugs.dolphin-emu.org/issues/11772 has been fixed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can now route Android analytics through Common::HttpAnalyticsBackend, drop the Volley sender, and keep the JNI layer limited to only transfer metadata since https://bugs.dolphin-emu.org/issues/11772 has been fixed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Android: Add Reset Dolphin Settings functionality</title>
<updated>2025-11-03T01:09:23+00:00</updated>
<author>
<name>Simonx22</name>
<email>simon@oatmealdome.me</email>
</author>
<published>2025-10-29T16:57:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f718a6b72f4295430e70270c27c571c0d83de5f8'/>
<id>f718a6b72f4295430e70270c27c571c0d83de5f8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Logging: Don't overwrite LDEBUG verbosity in Release builds</title>
<updated>2025-09-19T20:25:42+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2025-09-11T23:38:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2d48043b61613dc293a48e3ed863e36ffdf6643e'/>
<id>2d48043b61613dc293a48e3ed863e36ffdf6643e</id>
<content type='text'>
Preserve the configured logging verbosity unless the user actually
changes it, rather than capping it to LINFO on release builds.

Rename LogManager::m_level to m_effective_level and distinguish between
the config and effective level in various function/variable names.

Make m_effective_level atomic to prevent data races when setting the
effective log level from the config changed callback.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Preserve the configured logging verbosity unless the user actually
changes it, rather than capping it to LINFO on release builds.

Rename LogManager::m_level to m_effective_level and distinguish between
the config and effective level in various function/variable names.

Make m_effective_level atomic to prevent data races when setting the
effective log level from the config changed callback.
</pre>
</div>
</content>
</entry>
</feed>
