mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-11-04 04:34:07 +01:00 
			
		
		
		
	android: Initialize filesystem components during application start
This commit is contained in:
		
							parent
							
								
									e8cb8b2668
								
							
						
					
					
						commit
						133788d0d4
					
				@ -247,6 +247,17 @@ void EmulationSession::ConfigureFilesystemProvider(const std::string& filepath)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EmulationSession::InitializeSystem() {
 | 
			
		||||
    // Initialize filesystem.
 | 
			
		||||
    m_system.SetFilesystem(m_vfs);
 | 
			
		||||
    m_system.GetUserChannel().clear();
 | 
			
		||||
    m_manual_provider = std::make_unique<FileSys::ManualContentProvider>();
 | 
			
		||||
    m_system.SetContentProvider(std::make_unique<FileSys::ContentProviderUnion>());
 | 
			
		||||
    m_system.RegisterContentProvider(FileSys::ContentProviderUnionSlot::FrontendManual,
 | 
			
		||||
                                     m_manual_provider.get());
 | 
			
		||||
    m_system.GetFileSystemController().CreateFactories(*m_vfs);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Core::SystemResultStatus EmulationSession::InitializeEmulation(const std::string& filepath) {
 | 
			
		||||
    std::scoped_lock lock(m_mutex);
 | 
			
		||||
 | 
			
		||||
@ -254,9 +265,6 @@ Core::SystemResultStatus EmulationSession::InitializeEmulation(const std::string
 | 
			
		||||
    m_window =
 | 
			
		||||
        std::make_unique<EmuWindow_Android>(&m_input_subsystem, m_native_window, m_vulkan_library);
 | 
			
		||||
 | 
			
		||||
    m_system.SetFilesystem(m_vfs);
 | 
			
		||||
    m_system.GetUserChannel().clear();
 | 
			
		||||
 | 
			
		||||
    // Initialize system.
 | 
			
		||||
    jauto android_keyboard = std::make_unique<SoftwareKeyboard::AndroidKeyboard>();
 | 
			
		||||
    m_software_keyboard = android_keyboard.get();
 | 
			
		||||
@ -277,11 +285,6 @@ Core::SystemResultStatus EmulationSession::InitializeEmulation(const std::string
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    // Initialize filesystem.
 | 
			
		||||
    m_manual_provider = std::make_unique<FileSys::ManualContentProvider>();
 | 
			
		||||
    m_system.SetContentProvider(std::make_unique<FileSys::ContentProviderUnion>());
 | 
			
		||||
    m_system.RegisterContentProvider(FileSys::ContentProviderUnionSlot::FrontendManual,
 | 
			
		||||
                                     m_manual_provider.get());
 | 
			
		||||
    m_system.GetFileSystemController().CreateFactories(*m_vfs);
 | 
			
		||||
    ConfigureFilesystemProvider(filepath);
 | 
			
		||||
 | 
			
		||||
    // Initialize account manager
 | 
			
		||||
@ -663,11 +666,12 @@ void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchReleased(JNIEnv* env, jclass c
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeEmulation(JNIEnv* env, jclass clazz) {
 | 
			
		||||
void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeSystem(JNIEnv* env, jclass clazz) {
 | 
			
		||||
    // Create the default config.ini.
 | 
			
		||||
    Config{};
 | 
			
		||||
    // Initialize the emulated system.
 | 
			
		||||
    EmulationSession::GetInstance().System().Initialize();
 | 
			
		||||
    EmulationSession::GetInstance().InitializeSystem();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
jint Java_org_yuzu_yuzu_1emu_NativeLibrary_defaultCPUCore(JNIEnv* env, jclass clazz) {
 | 
			
		||||
 | 
			
		||||
@ -43,6 +43,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    const Core::PerfStatsResults& PerfStats() const;
 | 
			
		||||
    void ConfigureFilesystemProvider(const std::string& filepath);
 | 
			
		||||
    void InitializeSystem();
 | 
			
		||||
    Core::SystemResultStatus InitializeEmulation(const std::string& filepath);
 | 
			
		||||
 | 
			
		||||
    bool IsHandheldOnly();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user