Android: Crashing isn't close, Fix modvol settings

This commit is contained in:
Ender's Games 2018-08-08 18:03:23 -04:00
parent 4c8b8f2df2
commit 0c2619e5c8
5 changed files with 27 additions and 29 deletions

View File

@ -65,6 +65,7 @@ public class Emulator extends Application {
Emulator.frameskip = mPrefs.getInt(pref_frameskip, frameskip);
Emulator.pvrrender = mPrefs.getBoolean(pref_pvrrender, pvrrender);
Emulator.syncedrender = mPrefs.getBoolean(pref_syncedrender, syncedrender);
Emulator.modvols = mPrefs.getBoolean(pref_modvols, modvols);
Emulator.cheatdisk = mPrefs.getString(pref_cheatdisk, cheatdisk);
Emulator.usereios = mPrefs.getBoolean(pref_usereios, usereios);
Emulator.nativeact = mPrefs.getBoolean(pref_nativeact, nativeact);
@ -90,6 +91,7 @@ public class Emulator extends Application {
JNIdc.frameskip(Emulator.frameskip);
JNIdc.pvrrender(Emulator.pvrrender ? 1 : 0);
JNIdc.syncedrender(Emulator.syncedrender ? 1 : 0);
JNIdc.modvols(Emulator.modvols ? 1 : 0);
JNIdc.usereios(Emulator.usereios ? 1 : 0);
JNIdc.cheatdisk(Emulator.cheatdisk);
JNIdc.dreamtime(DreamTime.getDreamtime());

View File

@ -2,14 +2,12 @@ package com.reicast.emulator;
import android.Manifest;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Configuration;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
@ -20,6 +18,8 @@ import android.support.design.widget.NavigationView;
import android.support.design.widget.Snackbar;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
@ -365,6 +365,15 @@ public class MainActivity extends AppCompatActivity implements
onMainBrowseSelected(true, null, false, null);
}
public void onSettingsReload(Fragment options) {
getSupportFragmentManager().beginTransaction().remove(options).commit();
OptionsFragment optionsFrag = new OptionsFragment();
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, optionsFrag, "OPTIONS_FRAG")
.addToBackStack(null).commit();
}
@Override
protected void onPause() {
super.onPause();
@ -439,9 +448,8 @@ public class MainActivity extends AppCompatActivity implements
browseFrag.setArguments(args);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, browseFrag,
"MAIN_BROWSER").addToBackStack(null)
.commit();
.replace(R.id.fragment_container, browseFrag, "MAIN_BROWSER")
.addToBackStack(null).commit();
setTitle(R.string.browser);
drawer.closeDrawer(GravityCompat.START);
return true;
@ -458,8 +466,7 @@ public class MainActivity extends AppCompatActivity implements
optionsFrag = new OptionsFragment();
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container,
optionsFrag, "OPTIONS_FRAG")
.replace(R.id.fragment_container, optionsFrag, "OPTIONS_FRAG")
.addToBackStack(null).commit();
setTitle(R.string.settings);
drawer.closeDrawer(GravityCompat.START);
@ -477,8 +484,8 @@ public class MainActivity extends AppCompatActivity implements
inputFrag = new InputFragment();
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, inputFrag,
"INPUT_FRAG").addToBackStack(null).commit();
.replace(R.id.fragment_container, inputFrag, "INPUT_FRAG")
.addToBackStack(null).commit();
setTitle(R.string.input);
drawer.closeDrawer(GravityCompat.START);
return true;
@ -495,8 +502,8 @@ public class MainActivity extends AppCompatActivity implements
aboutFrag = new AboutFragment();
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, aboutFrag,
"ABOUT_FRAG").addToBackStack(null).commit();
.replace(R.id.fragment_container, aboutFrag, "ABOUT_FRAG")
.addToBackStack(null).commit();
setTitle(R.string.about);
drawer.closeDrawer(GravityCompat.START);
return true;
@ -513,8 +520,7 @@ public class MainActivity extends AppCompatActivity implements
cloudFrag = new CloudFragment();
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container,
cloudFrag, "CLOUD_FRAG")
.replace(R.id.fragment_container, cloudFrag, "CLOUD_FRAG")
.addToBackStack(null).commit();
setTitle(R.string.cloud);
drawer.closeDrawer(GravityCompat.START);
@ -522,8 +528,8 @@ public class MainActivity extends AppCompatActivity implements
case R.id.rateme_menu:
// vib.vibrate(50);
startActivity(new Intent(Intent.ACTION_VIEW, Uri
.parse("market://details?id=" + getPackageName())));
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("market://details?id=" + getPackageName())));
//setTitle(R.string.rateme);
drawer.closeDrawer(GravityCompat.START);
return true;

View File

@ -15,8 +15,6 @@ import android.support.constraint.ConstraintLayout;
import android.support.design.widget.Snackbar;
import android.support.graphics.drawable.VectorDrawableCompat;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Gravity;
@ -72,6 +70,7 @@ public class OptionsFragment extends Fragment {
// Container Activity must implement this interface
public interface OnClickListener {
void onMainBrowseSelected(boolean browse, String path_entry, boolean games, String query);
void onSettingsReload(Fragment options);
}
@Override
@ -729,17 +728,7 @@ public class OptionsFragment extends Fragment {
mPrefs.edit().remove(Config.pref_renderdepth).apply();
mPrefs.edit().remove(Config.pref_theme).apply();
Emulator app = (Emulator) getActivity().getApplicationContext();
app.getConfigurationPrefs(mPrefs);
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
Fragment newFragment = this;
this.onDestroy();
ft.remove(this);
ft.replace(R.id.fragment_container,newFragment);
ft.addToBackStack(null);
ft.commit();
mCallback.onSettingsReload(this);
}
private void showToastMessage(String message, int duration) {

View File

@ -43,6 +43,7 @@ public final class JNIdc
public static native void frameskip(int frames);
public static native void pvrrender(int render);
public static native void syncedrender(int sync);
public static native void modvols(int volumes);
public static native void cheatdisk(String disk);
public static native void usereios(int reios);
public static native void dreamtime(long clock);

View File

@ -56,7 +56,7 @@
<string name="reset_emu">Reset Emu</string>
<string name="reset_emu_title">Reset Emulator Settings</string>
<string name="reset_emu_details">Emulator settings will be cleared and app will close. Folder and input settings will NOT be removed.\nAre you sure you want to continue?</string>
<string name="reset_emu_details">Warning: Emulator settings will be cleared. Folder and input settings are not included. This cannot be undone.\nAre you sure you want to continue?</string>
<string name="games_listing">Game List</string>
<string name="search_hint">Game (ie. Crazy Taxi)</string>