mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-04-28 21:08:04 +03:00
Android: Detect when native code should flush unsaved data
This commit is contained in:
parent
8ee64a84c7
commit
30b88a69cf
4 changed files with 27 additions and 0 deletions
|
@ -51,10 +51,21 @@ class ActivityTracker : ActivityLifecycleCallbacks {
|
|||
|
||||
override fun onActivitySaveInstanceState(activity: Activity, bundle: Bundle) {}
|
||||
|
||||
override fun onActivityPostSaveInstanceState(activity: Activity, bundle: Bundle) {
|
||||
if (DirectoryInitialization.areDolphinDirectoriesReady() &&
|
||||
!activity.isChangingConfigurations
|
||||
) {
|
||||
flushUnsavedData()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onActivityDestroyed(activity: Activity) {}
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
external fun setBackgroundExecutionAllowedNative(allowed: Boolean)
|
||||
|
||||
@JvmStatic
|
||||
external fun flushUnsavedData()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
#include "Common/Logging/Log.h"
|
||||
#include "Core/AchievementManager.h"
|
||||
#include "UICommon/UICommon.h"
|
||||
#include "jni/Host.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
@ -18,4 +20,11 @@ Java_org_dolphinemu_dolphinemu_utils_ActivityTracker_setBackgroundExecutionAllow
|
|||
INFO_LOG_FMT(CORE, "SetBackgroundExecutionAllowed {}", allowed);
|
||||
AchievementManager::GetInstance().SetBackgroundExecutionAllowed(allowed);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_org_dolphinemu_dolphinemu_utils_ActivityTracker_flushUnsavedData(JNIEnv*, jclass)
|
||||
{
|
||||
HostThreadLock guard;
|
||||
UICommon::FlushUnsavedData();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -158,6 +158,11 @@ void Shutdown()
|
|||
Config::Shutdown();
|
||||
}
|
||||
|
||||
void FlushUnsavedData()
|
||||
{
|
||||
INFO_LOG_FMT(CORE, "Flushing unsaved data...");
|
||||
}
|
||||
|
||||
void InitControllers(const WindowSystemInfo& wsi)
|
||||
{
|
||||
if (g_controller_interface.IsInit())
|
||||
|
|
|
@ -14,6 +14,8 @@ namespace UICommon
|
|||
void Init();
|
||||
void Shutdown();
|
||||
|
||||
void FlushUnsavedData();
|
||||
|
||||
void InitControllers(const WindowSystemInfo& wsi);
|
||||
void ShutdownControllers();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue