Merge pull request #282 from LoungeKatt/master
Error reporting and handling updates
This commit is contained in:
commit
3bdb4fafe9
|
@ -142,7 +142,7 @@ int dc_init(int argc,wchar* argv[])
|
|||
{
|
||||
return 69;
|
||||
}
|
||||
|
||||
#ifndef _ANDROID
|
||||
if(!cfgOpen())
|
||||
{
|
||||
msgboxf("Unable to open config file",MBX_ICONERROR);
|
||||
|
@ -150,7 +150,6 @@ int dc_init(int argc,wchar* argv[])
|
|||
}
|
||||
LoadSettings();
|
||||
|
||||
#ifndef _ANDROID
|
||||
os_CreateWindow();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -326,33 +326,34 @@
|
|||
</LinearLayout>
|
||||
</TableRow>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
<TableRow
|
||||
android:layout_marginTop="10dp"
|
||||
android:orientation="vertical" >
|
||||
android:gravity="center_vertical" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/region_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dip"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.5"
|
||||
android:ems="10"
|
||||
android:gravity="center_vertical|left"
|
||||
android:text="@string/select_region" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal" >
|
||||
android:layout_weight="1"
|
||||
android:gravity="right" >
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/region_spinner"
|
||||
android:layout_width="0dip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:ems="10" >
|
||||
</Spinner>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
android:layout_marginTop="10dp"
|
||||
|
@ -441,4 +442,10 @@
|
|||
</TableLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<TableLayout>
|
||||
</TableLayout>
|
||||
|
||||
<LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
|
@ -34,6 +34,8 @@
|
|||
|
||||
<string name="games_listing">Available Dreamcast Games</string>
|
||||
|
||||
<string name="report_issue">Previous Crash Detected</string>
|
||||
|
||||
<string name="customize_touch_controls">Customize Touch Controls</string>
|
||||
<string name="launch_editor">Launch Editor</string>
|
||||
<string name="touch_vibration">Touch Vibration</string>
|
||||
|
|
|
@ -25,7 +25,6 @@ import android.view.View.OnTouchListener;
|
|||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.util.DreamTime;
|
||||
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
|
||||
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.OnOpenListener;
|
||||
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
|
||||
|
@ -65,22 +64,19 @@ public class MainActivity extends SlidingFragmentActivity implements
|
|||
public void uncaughtException(Thread t, Throwable error) {
|
||||
if (error != null) {
|
||||
Log.e("com.reicast.emulator", error.getMessage());
|
||||
Toast.makeText(MainActivity.this,
|
||||
getString(R.string.platform),
|
||||
Toast.LENGTH_SHORT).show();
|
||||
GenerateLogs mGenerateLogs = new GenerateLogs(MainActivity.this);
|
||||
mGenerateLogs.setUnhandled(error.getMessage());
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
mGenerateLogs.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
|
||||
home_directory);
|
||||
} else {
|
||||
mGenerateLogs.execute(home_directory);
|
||||
}
|
||||
mPrefs.edit().putString("prior_error", error.getMessage()).commit();
|
||||
MainActivity.this.finish();
|
||||
}
|
||||
}
|
||||
};
|
||||
Thread.setDefaultUncaughtExceptionHandler(mUEHandler);
|
||||
|
||||
String prior_error = mPrefs.getString("prior_error", null);
|
||||
if (!prior_error.equals(null)) {
|
||||
initiateReport(prior_error);
|
||||
mPrefs.edit().remove("prior_error").commit();
|
||||
}
|
||||
|
||||
// Check that the activity is using the layout version with
|
||||
// the fragment_container FrameLayout
|
||||
if (findViewById(R.id.fragment_container) != null) {
|
||||
|
@ -264,6 +260,37 @@ public class MainActivity extends SlidingFragmentActivity implements
|
|||
|
||||
}
|
||||
|
||||
private void initiateReport(final String error) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
|
||||
builder.setTitle(getString(R.string.report_issue));
|
||||
builder.setMessage(error);
|
||||
builder.setNegativeButton("Cancel",
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
builder.setPositiveButton("Report",
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Toast.makeText(MainActivity.this,
|
||||
getString(R.string.platform),
|
||||
Toast.LENGTH_SHORT).show();
|
||||
GenerateLogs mGenerateLogs = new GenerateLogs(MainActivity.this);
|
||||
mGenerateLogs.setUnhandled(error);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
mGenerateLogs.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
|
||||
home_directory);
|
||||
} else {
|
||||
mGenerateLogs.execute(home_directory);
|
||||
}
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
builder.create();
|
||||
builder.show();
|
||||
}
|
||||
|
||||
public static boolean isBiosExisting() {
|
||||
File bios = new File(home_directory, "data/dc_boot.bin");
|
||||
return bios.exists();
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
package com.reicast.emulator.config;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.util.Scanner;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.SharedPreferences;
|
||||
|
@ -16,7 +12,6 @@ import android.preference.PreferenceManager;
|
|||
import android.support.v4.app.Fragment;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -48,7 +43,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public static boolean dynarecopt = true;
|
||||
public static boolean idleskip = true;
|
||||
public static boolean unstableopt = true;
|
||||
public static boolean unstableopt = false;
|
||||
public static int cable = 3;
|
||||
public static int dcregion = 3;
|
||||
public static int broadcast = 4;
|
||||
|
@ -371,39 +366,5 @@ public class ConfigureFragment extends Fragment {
|
|||
ConfigureFragment.cheatdisk);
|
||||
JNIdc.cheatdisk(ConfigureFragment.cheatdisk);
|
||||
JNIdc.dreamtime(DreamTime.getDreamtime());
|
||||
|
||||
// StringBuilder rebuildFile = new StringBuilder();
|
||||
// rebuildFile.append("[config]" + "\n");
|
||||
// rebuildFile.append("Dynarec.Enabled="
|
||||
// + String.valueOf(ConfigureFragment.dynarecopt ? 1 : 0)
|
||||
// + "\n");
|
||||
// rebuildFile.append("Dynarec.idleskip=1" + "\n");
|
||||
// rebuildFile.append("Dynarec.unstable-opt="
|
||||
// + String.valueOf(ConfigureFragment.unstableopt ? 1 : 0)
|
||||
// + "\n");
|
||||
// rebuildFile.append("Dreamcast.Cable=3" + "\n");
|
||||
// rebuildFile.append("Dreamcast.RTC=" + DreamTime.getDreamtime()
|
||||
// + "\n");
|
||||
// rebuildFile.append("Dreamcast.Region="
|
||||
// + String.valueOf(ConfigureFragment.dcregion) + "\n");
|
||||
// rebuildFile.append("Dreamcast.Broadcast=4" + "\n");
|
||||
// rebuildFile.append("aica.LimitFPS="
|
||||
// + String.valueOf(ConfigureFragment.limitfps ? 1 : 0)
|
||||
// + "\n");
|
||||
// rebuildFile.append("aica.NoBatch=0" + "\n");
|
||||
// rebuildFile.append("rend.UseMipmaps="
|
||||
// + String.valueOf(ConfigureFragment.mipmaps ? 1 : 0)
|
||||
// + "\n");
|
||||
// rebuildFile.append("rend.WideScreen="
|
||||
// + String.valueOf(ConfigureFragment.widescreen ? 1 : 0)
|
||||
// + "\n");
|
||||
// rebuildFile.append("pvr.Subdivide=0" + "\n");
|
||||
// rebuildFile.append("ta.skip="
|
||||
// + String.valueOf(ConfigureFragment.frameskip) + "\n");
|
||||
// rebuildFile.append("pvr.rend="
|
||||
// + String.valueOf(ConfigureFragment.pvrrender ? 1 : 0)
|
||||
// + "\n");
|
||||
// rebuildFile.append("image=" + ConfigureFragment.cheatdisk
|
||||
// + "\n");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue