Android: Retrieve disk info ASAP, not after boot
This commit is contained in:
parent
9ed9f460e9
commit
69bf54ac15
|
@ -5,12 +5,18 @@ import android.app.AlertDialog;
|
|||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
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.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -23,6 +29,7 @@ import android.widget.EditText;
|
|||
import android.widget.SeekBar;
|
||||
import android.widget.SeekBar.OnSeekBarChangeListener;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.util.FileUtils;
|
||||
import com.reicast.emulator.Emulator;
|
||||
|
@ -104,6 +111,8 @@ public class PGConfigFragment extends Fragment {
|
|||
.putBoolean(Emulator.pref_queuerender, queue_render.isChecked())
|
||||
.putBoolean(Emulator.pref_modvols, modifier_volumes.isChecked())
|
||||
.putBoolean(Emulator.pref_interrupt, interrupt_opt.isChecked()).apply();
|
||||
showToastMessage(getActivity().getString(R.string.pgconfig_saved),
|
||||
Snackbar.LENGTH_SHORT);
|
||||
}
|
||||
|
||||
private void configureViewByGame(String gameId) {
|
||||
|
@ -239,4 +248,27 @@ public class PGConfigFragment extends Fragment {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void showToastMessage(String message, int duration) {
|
||||
ConstraintLayout layout = (ConstraintLayout) getActivity().findViewById(R.id.mainui_layout);
|
||||
Snackbar snackbar = Snackbar.make(layout, message, duration);
|
||||
View snackbarLayout = snackbar.getView();
|
||||
TextView textView = (TextView) snackbarLayout.findViewById(
|
||||
android.support.design.R.id.snackbar_text);
|
||||
textView.setGravity(Gravity.CENTER_VERTICAL);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
|
||||
textView.setTextAlignment(View.TEXT_ALIGNMENT_GRAVITY);
|
||||
Drawable drawable;
|
||||
if (android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
|
||||
drawable = getResources().getDrawable(
|
||||
R.drawable.ic_settings, getActivity().getTheme());
|
||||
} else {
|
||||
drawable = VectorDrawableCompat.create(getResources(),
|
||||
R.drawable.ic_settings, getActivity().getTheme());
|
||||
}
|
||||
textView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null);
|
||||
textView.setCompoundDrawablePadding(getResources()
|
||||
.getDimensionPixelOffset(R.dimen.snackbar_icon_padding));
|
||||
snackbar.show();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -164,6 +164,7 @@ public class GL2JNIView extends GLSurfaceView
|
|||
}
|
||||
|
||||
JNIdc.init(fileName);
|
||||
JNIdc.query(ethd);
|
||||
|
||||
// By default, GLSurfaceView() creates a RGB_565 opaque surface.
|
||||
// If we want a translucent one, we should change the surface's
|
||||
|
|
|
@ -7,6 +7,7 @@ public final class JNIdc
|
|||
|
||||
public static native void config(String dirName);
|
||||
public static native void init(String fileName);
|
||||
public static native void query(Object thread);
|
||||
public static native void run(Object track);
|
||||
public static native void pause();
|
||||
public static native void destroy();
|
||||
|
|
|
@ -23,6 +23,7 @@ extern "C"
|
|||
{
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_config(JNIEnv *env,jobject obj,jstring dirName) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_init(JNIEnv *env,jobject obj,jstring fileName) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_query(JNIEnv *env,jobject obj,jobject emu_thread) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_run(JNIEnv *env,jobject obj,jobject emu_thread) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_pause(JNIEnv *env,jobject obj) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_destroy(JNIEnv *env,jobject obj) __attribute__((visibility("default")));
|
||||
|
@ -366,8 +367,9 @@ jobject vmulcd = NULL;
|
|||
jbyteArray jpix = NULL;
|
||||
jmethodID updatevmuscreen;
|
||||
|
||||
void reios_info(JNIEnv *env) {
|
||||
jmethodID reiosInfoMid=env->GetMethodID(env->GetObjectClass(emu),"reiosInfo","(Ljava/lang/String;Ljava/lang/String;)V");
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_query(JNIEnv *env,jobject obj,jobject emu_thread)
|
||||
{
|
||||
jmethodID reiosInfoMid=env->GetMethodID(env->GetObjectClass(emu_thread),"reiosInfo","(Ljava/lang/String;Ljava/lang/String;)V");
|
||||
|
||||
char *id = (char*)malloc(9);
|
||||
strcpy(id, reios_disk_id());
|
||||
|
@ -377,7 +379,7 @@ void reios_info(JNIEnv *env) {
|
|||
strcpy(name, reios_software_name);
|
||||
jstring reios_name = env->NewStringUTF(name);
|
||||
|
||||
jenv->CallVoidMethod(emu, reiosInfoMid, reios_id, reios_name);
|
||||
env->CallVoidMethod(emu_thread, reiosInfoMid, reios_id, reios_name);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_run(JNIEnv *env,jobject obj,jobject emu_thread)
|
||||
|
@ -392,8 +394,6 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_run(JNIEnv *env,jobje
|
|||
coreMessageMid=env->GetMethodID(env->GetObjectClass(emu),"coreMessage","([B)I");
|
||||
dieMid=env->GetMethodID(env->GetObjectClass(emu),"Die","()V");
|
||||
|
||||
reios_info(env);
|
||||
|
||||
dc_run();
|
||||
}
|
||||
|
||||
|
|
|
@ -70,9 +70,6 @@
|
|||
<string name="customize_physical_controls">Tilpas fysiske taster</string>
|
||||
<string name="map_keycode_title">Tilpas controller</string>
|
||||
<string name="map_keycode_message">Tryk på den nye controller taste for %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA Pro tilsluttet!</string>
|
||||
<string name="moga_connect">MOGA tilsluttet!</string>
|
||||
|
||||
<string name="about_text">reicast er en Dreamcast emulator</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
|
|
|
@ -79,9 +79,6 @@
|
|||
<string name="customize_physical_controls">Physische Controller anpassen</string>
|
||||
<string name="map_keycode_title">Controller ändern</string>
|
||||
<string name="map_keycode_message">Drücken Sie die neue Controller-Taste für %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA Pro verbunden!</string>
|
||||
<string name="moga_connect">MOGA verbunden!</string>
|
||||
|
||||
<string name="about_text">reicast ist ein Dreamcast-Emulator</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
|
|
|
@ -45,9 +45,6 @@
|
|||
<string name="customize_physical_controls">Personalizar controles físicos</string>
|
||||
<string name="map_keycode_title">Modificar Controller</string>
|
||||
<string name="map_keycode_message">Pulse el botón nuevo controlador para %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA Pro conectado!</string>
|
||||
<string name="moga_connect">MOGA conectado!</string>
|
||||
|
||||
<string name="about_text">reicast es un emulador de Dreamcast</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
|
|
|
@ -76,10 +76,7 @@ Last Edit: 21 May 2014
|
|||
<string name="customize_physical_controls">Customiser les touches physiques</string>
|
||||
<string name="map_keycode_title">Modifier la manette</string>
|
||||
<string name="map_keycode_message">Pressez une nouvelle touche pour %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA Pro connecté</string>
|
||||
<string name="moga_connect">MOGA connecté</string>
|
||||
|
||||
|
||||
<string name="about_text">reicast est un émulateur dreamcast</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
|
||||
|
|
|
@ -76,10 +76,7 @@
|
|||
<string name="customize_physical_controls">Personalizza Controlli Fisici</string>
|
||||
<string name="map_keycode_title">Modifica Controller</string>
|
||||
<string name="map_keycode_message">Premi il nuovo tasto sul controller per %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA Pro Connesso!</string>
|
||||
<string name="moga_connect">MOGA Connesso!</string>
|
||||
|
||||
|
||||
<string name="about_text">reicast è un emulatore del Dreamcast multi-piattaforma.</string>
|
||||
<string name="revision_text">Versione: %1$s [%2$s]</string>
|
||||
|
||||
|
|
|
@ -62,10 +62,7 @@
|
|||
<string name="customize_physical_controls">物理コントロールを編集</string>
|
||||
<string name="map_keycode_title">コントローラを編集する</string>
|
||||
<string name="map_keycode_message">%1$sボタンを押してください</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGAプロが接続された!</string>
|
||||
<string name="moga_connect">MOGAが接続された!</string>
|
||||
|
||||
|
||||
<string name="about_text">reicastはマルチプラットフォームのドリームキャストエミュレータです。</string>
|
||||
<string name="revision_text">バージョン:%1$s [%2$s]</string>
|
||||
|
||||
|
|
|
@ -47,9 +47,6 @@
|
|||
<string name="customize_physical_controls">물리적 컨트롤 사용자 지정</string>
|
||||
<string name="map_keycode_title">컨트롤러를 수정</string>
|
||||
<string name="map_keycode_message">의 새로운 컨트롤러의 버튼을 눌러 %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA 프로 연결됨!</string>
|
||||
<string name="moga_connect">MOGA 연결!</string>
|
||||
|
||||
<string name="about_text">reicast는 드림 캐스트 에뮬레이터입니다.</string>
|
||||
<string name="revision_text">버전: %1$s [%2$s]</string>
|
||||
|
|
|
@ -46,9 +46,6 @@
|
|||
<string name="customize_physical_controls">Dostosuj prawdziwy kontroler</string>
|
||||
<string name="map_keycode_title">Modyfikuj kontroler</string>
|
||||
<string name="map_keycode_message">Przyciśni przycisk dla %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA Pro przyłączona!</string>
|
||||
<string name="moga_connect">MOGA przyłączona!</string>
|
||||
|
||||
<string name="about_text">reicast jest emulatorem dreamcast\'a</string>
|
||||
<string name="revision_text">Wersja: %1$s [%2$s]</string>
|
||||
|
|
|
@ -80,9 +80,6 @@
|
|||
<string name="customize_physical_controls">Personalizar controles físicos</string>
|
||||
<string name="map_keycode_title">Modificar controle</string>
|
||||
<string name="map_keycode_message">Pressione o novo botão para o controle %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA Pro Conectado!</string>
|
||||
<string name="moga_connect">MOGA Conectado!</string>
|
||||
|
||||
<string name="about_text">reicast é um emulador multi-plataforma de Dreamcast</string>
|
||||
<string name="revision_text">Versão: %1$s [%2$s]</string>
|
||||
|
|
|
@ -83,9 +83,6 @@
|
|||
<string name="customize_physical_controls">Настройка аппаратных кнопок</string>
|
||||
<string name="map_keycode_title">Настройка контроллера</string>
|
||||
<string name="map_keycode_message">Нажмите кнопку контроллера для %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">Подключен MOGA Pro</string>
|
||||
<string name="moga_connect">Подключен MOGA</string>
|
||||
|
||||
<string name="about_text">Reicast - мультиплатформенный эмулятор Dreamcast</string>
|
||||
<string name="revision_text">Версия: %1$s [%2$s]</string>
|
||||
|
|
|
@ -43,8 +43,6 @@
|
|||
<string name="customize_physical_controls">自定义物理控制</string>
|
||||
<string name="map_keycode_title">修改控制器</string>
|
||||
<string name="map_keycode_message">按下控制器按钮来映射 %1$s</string>
|
||||
<string name="moga_pro_connect">MOGA Pro已连接!</string>
|
||||
<string name="moga_connect">MOGA已连接</string>
|
||||
<string name="about_text">reicast是一款dreamcast模拟器</string>
|
||||
<string name="revision_text">版本: %1$s [%2$s]</string>
|
||||
|
||||
|
|
|
@ -43,8 +43,6 @@
|
|||
<string name="customize_physical_controls">自定義物理控制</string>
|
||||
<string name="map_keycode_title">修改控制器</string>
|
||||
<string name="map_keycode_message">按下控制器按鈕來映射 %1$s</string>
|
||||
<string name="moga_pro_connect">MOGA Pro已連接!</string>
|
||||
<string name="moga_connect">MOGA已連接</string>
|
||||
<string name="about_text">reicast是一款dreamcast模擬器</string>
|
||||
<string name="revision_text">版本: %1$s [%2$s]</string>
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@
|
|||
<string name="pgc_select_game">Select Game</string>
|
||||
<string name="save_pgc_title">Save Per-Game Config</string>
|
||||
<string name="write_pgc">Save PGC</string>
|
||||
<string name="pgconfig_saved">Configuration Saved</string>
|
||||
|
||||
<string name="games_listing">Game List</string>
|
||||
<string name="search_hint">Game (ie. Crazy Taxi)</string>
|
||||
|
@ -103,9 +104,6 @@
|
|||
<string name="map_keycode_title">Modify Controller</string>
|
||||
<string name="map_keycode_message">Press the new controller button for %1$s</string>
|
||||
|
||||
<string name="moga_pro_connect">MOGA Pro connected!</string>
|
||||
<string name="moga_connect">MOGA connected!</string>
|
||||
|
||||
<string name="about_text">reicast is a multi-platform Dreamcast emulator.</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
<string name="git_broken">Github API not available</string>
|
||||
|
|
Loading…
Reference in New Issue