[Android] Add reset in
This commit is contained in:
parent
7f83a52641
commit
0c5bddfb6c
|
@ -141,6 +141,8 @@
|
|||
<string name="VerticalInterruptsPerSecond">Vertical interrupts per second</string>
|
||||
<string name="ForceGfxReset_title">Reset GFX Plugin</string>
|
||||
<string name="ForceGfxReset_summary">Always reload GFX plugin</string>
|
||||
<string name="settings_reset_title">Reset settings</string>
|
||||
<string name="settings_reset_message">Reset all settings back to their defaults?</string>
|
||||
|
||||
<string-array name="DisplaySpeed_list">
|
||||
<item>@string/DListPerSecond</item>
|
||||
|
|
|
@ -37,6 +37,7 @@ public class NativeExports
|
|||
public static native void LoadRomList();
|
||||
public static native void RefreshRomDir(String RomDir, boolean Recursive);
|
||||
public static native void ExternalEvent(int Type);
|
||||
public static native void ResetApplicationSettings();
|
||||
|
||||
public static native void onSurfaceCreated();
|
||||
public static native void onSurfaceChanged(int width, int height);
|
||||
|
@ -44,8 +45,10 @@ public class NativeExports
|
|||
|
||||
public static native void UISettingsSaveBool(int Type, boolean Value);
|
||||
public static native void UISettingsSaveDword(int Type, int Value);
|
||||
public static native void UISettingsSaveString(int type, String value);
|
||||
|
||||
public static native boolean UISettingsLoadBool(int Type);
|
||||
public static native int UISettingsLoadDword(int Type);
|
||||
public static native String UISettingsLoadString(int type);
|
||||
public static native String UISettingsLoadStringIndex(int Type, int Index);
|
||||
}
|
||||
|
|
|
@ -24,14 +24,19 @@
|
|||
package emu.project64.settings;
|
||||
|
||||
import emu.project64.R;
|
||||
import emu.project64.SplashActivity;
|
||||
import emu.project64.jni.NativeExports;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
|
||||
public abstract class BaseSettingsFragment extends PreferenceFragmentCompat
|
||||
public abstract class BaseSettingsFragment extends PreferenceFragmentCompat
|
||||
{
|
||||
protected abstract int getXml();
|
||||
protected abstract int getTitleId();
|
||||
|
@ -47,7 +52,7 @@ public abstract class BaseSettingsFragment extends PreferenceFragmentCompat
|
|||
{
|
||||
super.onStart();
|
||||
final AppCompatActivity activity = (AppCompatActivity)getActivity();
|
||||
if (activity != null && activity.getSupportActionBar() != null)
|
||||
if (activity != null && activity.getSupportActionBar() != null)
|
||||
{
|
||||
activity.getSupportActionBar().setTitle(getString(getTitleId()));
|
||||
}
|
||||
|
@ -56,8 +61,8 @@ public abstract class BaseSettingsFragment extends PreferenceFragmentCompat
|
|||
protected void loadFragment(Fragment fragment)
|
||||
{
|
||||
getActivity().getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragment_placeholder, fragment)
|
||||
.addToBackStack("main").commit();
|
||||
.replace(R.id.fragment_placeholder, fragment)
|
||||
.addToBackStack("main").commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -71,4 +76,39 @@ public abstract class BaseSettingsFragment extends PreferenceFragmentCompat
|
|||
}*/
|
||||
super.onDisplayPreferenceDialog(preference);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceTreeClick(Preference preference)
|
||||
{
|
||||
if (preference.getKey().equals("settings_reset"))
|
||||
{
|
||||
DialogInterface.OnClickListener internalListener = new DialogInterface.OnClickListener()
|
||||
{
|
||||
@Override
|
||||
public void onClick( DialogInterface dialog, int which )
|
||||
{
|
||||
if( which == DialogInterface.BUTTON_POSITIVE )
|
||||
{
|
||||
NativeExports.ResetApplicationSettings();
|
||||
SplashActivity.Reset();
|
||||
Intent SplashIntent = new Intent(getActivity(), SplashActivity.class);
|
||||
SplashIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||
startActivity(SplashIntent);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
String title = getString( R.string.settings_reset_title );
|
||||
String message = getString( R.string.settings_reset_message );
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder( getActivity() ).setTitle( title ).setMessage( message ).setCancelable( false )
|
||||
.setNegativeButton( getString( android.R.string.cancel ), internalListener )
|
||||
.setPositiveButton( getString( android.R.string.ok ), internalListener );
|
||||
builder.create().show();
|
||||
}
|
||||
else
|
||||
{
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue