Android: Fix crash on enabling GC adapter

We must set Java_GCAdapter.manager before the GC adapter thread (C++)
starts. We used to set it at emulation start, which was fine until
9f3f45a made the GC adapter thread start much earlier.
This commit is contained in:
JosJuice 2019-11-24 20:42:21 +01:00
parent 155016531f
commit 6e0130351e
2 changed files with 6 additions and 6 deletions

View File

@ -2,8 +2,11 @@ package org.dolphinemu.dolphinemu;
import android.app.Application;
import android.content.Context;
import android.hardware.usb.UsbManager;
import org.dolphinemu.dolphinemu.utils.DirectoryInitialization;
import org.dolphinemu.dolphinemu.utils.Java_GCAdapter;
import org.dolphinemu.dolphinemu.utils.Java_WiimoteAdapter;
import org.dolphinemu.dolphinemu.utils.PermissionsHandler;
import org.dolphinemu.dolphinemu.utils.VolleyUtil;
@ -19,6 +22,9 @@ public class DolphinApplication extends Application
VolleyUtil.init(getApplicationContext());
System.loadLibrary("main");
Java_GCAdapter.manager = (UsbManager) getSystemService(Context.USB_SERVICE);
Java_WiimoteAdapter.manager = (UsbManager) getSystemService(Context.USB_SERVICE);
if (PermissionsHandler.hasWriteAccess(getApplicationContext()))
DirectoryInitialization.start(getApplicationContext());
}

View File

@ -1,11 +1,9 @@
package org.dolphinemu.dolphinemu.activities;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.hardware.usb.UsbManager;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
@ -48,8 +46,6 @@ import org.dolphinemu.dolphinemu.ui.main.MainActivity;
import org.dolphinemu.dolphinemu.ui.platform.Platform;
import org.dolphinemu.dolphinemu.utils.ControllerMappingHelper;
import org.dolphinemu.dolphinemu.utils.FileBrowserHelper;
import org.dolphinemu.dolphinemu.utils.Java_GCAdapter;
import org.dolphinemu.dolphinemu.utils.Java_WiimoteAdapter;
import org.dolphinemu.dolphinemu.utils.MotionListener;
import org.dolphinemu.dolphinemu.utils.Rumble;
import org.dolphinemu.dolphinemu.utils.TvUtil;
@ -304,8 +300,6 @@ public final class EmulationActivity extends AppCompatActivity
setTheme(themeId);
Java_GCAdapter.manager = (UsbManager) getSystemService(Context.USB_SERVICE);
Java_WiimoteAdapter.manager = (UsbManager) getSystemService(Context.USB_SERVICE);
Rumble.initRumble(this);
setContentView(R.layout.activity_emulation);