Merge pull request #385 from 0002647302/master
Invert the native activity preference until adjusted for x86
|
@ -64,12 +64,6 @@ LOCAL_ARM_MODE := arm
|
|||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
$(call import-module,android/native_app_glue)
|
||||
|
||||
LOCAL_CERTIFICATE := shared
|
||||
|
||||
LOCAL_PATH:= $(call my-dir)/..
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := sexplay
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
<string name="optimization_opts">Optimization and Debugging Options</string>
|
||||
<string name="experimental_opts">Expert (May cause widespread panic)</string>
|
||||
<string name="select_native">Disable Native Interface</string>
|
||||
<string name="select_native">Enable Native Interface</string>
|
||||
<string name="select_dynarec">Dynarec Options</string>
|
||||
<string name="select_unstable">Unstable Optimisations</string>
|
||||
<string name="select_region">DC Region</string>
|
||||
|
|
|
@ -91,7 +91,6 @@ import android.widget.ListView;
|
|||
import android.widget.SlidingDrawer;
|
||||
import android.widget.SlidingDrawer.OnDrawerOpenListener;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.reicast.emulator.config.Config;
|
||||
import com.reicast.emulator.debug.GitAdapter;
|
||||
|
|
|
@ -41,6 +41,7 @@ import android.widget.TextView;
|
|||
import android.widget.Toast;
|
||||
|
||||
import com.android.util.FileUtils;
|
||||
import com.reicast.emulator.config.Config;
|
||||
import com.reicast.emulator.emu.JNIdc;
|
||||
|
||||
public class FileBrowser extends Fragment {
|
||||
|
@ -62,8 +63,8 @@ public class FileBrowser extends Fragment {
|
|||
super.onCreate(savedInstanceState);
|
||||
|
||||
mPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
||||
home_directory = mPrefs.getString("home_directory", home_directory);
|
||||
game_directory = mPrefs.getString("game_directory", game_directory);
|
||||
home_directory = mPrefs.getString(Config.pref_home, home_directory);
|
||||
game_directory = mPrefs.getString(Config.pref_games, game_directory);
|
||||
|
||||
Bundle b = getArguments();
|
||||
if (b != null) {
|
||||
|
@ -413,12 +414,12 @@ public class FileBrowser extends Fragment {
|
|||
if (games) {
|
||||
game_directory = heading;
|
||||
mPrefs.edit()
|
||||
.putString("game_directory",
|
||||
.putString(Config.pref_games,
|
||||
heading).commit();
|
||||
} else {
|
||||
home_directory = heading;
|
||||
mPrefs.edit()
|
||||
.putString("home_directory",
|
||||
.putString(Config.pref_home,
|
||||
heading).commit();
|
||||
File data_directory = new File(heading,
|
||||
"data");
|
||||
|
|
|
@ -82,13 +82,13 @@ public class GL2JNIActivity extends Activity {
|
|||
|
||||
// Populate device descriptor-to-player-map from preferences
|
||||
pad.deviceDescriptor_PlayerNum.put(
|
||||
prefs.getString("device_descriptor_player_1", null), 0);
|
||||
prefs.getString(Gamepad.pref_player1, null), 0);
|
||||
pad.deviceDescriptor_PlayerNum.put(
|
||||
prefs.getString("device_descriptor_player_2", null), 1);
|
||||
prefs.getString(Gamepad.pref_player2, null), 1);
|
||||
pad.deviceDescriptor_PlayerNum.put(
|
||||
prefs.getString("device_descriptor_player_3", null), 2);
|
||||
prefs.getString(Gamepad.pref_player3, null), 2);
|
||||
pad.deviceDescriptor_PlayerNum.put(
|
||||
prefs.getString("device_descriptor_player_4", null), 3);
|
||||
prefs.getString(Gamepad.pref_player4, null), 3);
|
||||
pad.deviceDescriptor_PlayerNum.remove(null);
|
||||
|
||||
moga.onCreate(this, pad);
|
||||
|
@ -144,23 +144,23 @@ public class GL2JNIActivity extends Activity {
|
|||
|
||||
if (playerNum != null) {
|
||||
String id = pad.portId[playerNum];
|
||||
pad.custom[playerNum] = prefs.getBoolean("modified_key_layout" + id, false);
|
||||
pad.compat[playerNum] = prefs.getBoolean("controller_compat" + id, false);
|
||||
pad.joystick[playerNum] = prefs.getBoolean("separate_joystick" + id, true);
|
||||
pad.custom[playerNum] = prefs.getBoolean(Gamepad.pref_js_modified + id, false);
|
||||
pad.compat[playerNum] = prefs.getBoolean(Gamepad.pref_js_compat + id, false);
|
||||
pad.joystick[playerNum] = prefs.getBoolean(Gamepad.pref_js_separate + id, true);
|
||||
if (!pad.compat[playerNum]) {
|
||||
if (pad.custom[playerNum]) {
|
||||
pad.map[playerNum] = pad.setModifiedKeys(id, playerNum, prefs);
|
||||
} else if (InputDevice.getDevice(joy).getName()
|
||||
.equals("Sony PLAYSTATION(R)3 Controller")) {
|
||||
.equals(Gamepad.controllers_sony)) {
|
||||
pad.map[playerNum] = pad.getConsoleController();
|
||||
} else if (InputDevice.getDevice(joy).getName()
|
||||
.equals("Microsoft X-Box 360 pad")) {
|
||||
.equals(Gamepad.controllers_xbox)) {
|
||||
pad.map[playerNum] = pad.getConsoleController();
|
||||
} else if (InputDevice.getDevice(joy).getName()
|
||||
.contains("NVIDIA Corporation NVIDIA Controller")) {
|
||||
.contains(Gamepad.controllers_shield)) {
|
||||
pad.map[playerNum] = pad.getConsoleController();
|
||||
} else if (InputDevice.getDevice(joy).getName()
|
||||
.contains("keypad-zeus")) {
|
||||
.contains(Gamepad.controllers_play)) {
|
||||
pad.map[playerNum] = pad.getXPlayController();
|
||||
} else if (!pad.isActiveMoga[playerNum]) { // Ouya controller
|
||||
pad.map[playerNum] = pad.getOUYAController();
|
||||
|
@ -187,11 +187,11 @@ public class GL2JNIActivity extends Activity {
|
|||
|
||||
// Create the actual GLES view
|
||||
mView = new GL2JNIView(getApplication(), config, fileName, false,
|
||||
prefs.getInt("depth_render", 24), 0, false);
|
||||
prefs.getInt(Config.pref_renderdepth, 24), 0, false);
|
||||
setContentView(mView);
|
||||
|
||||
//setup mic
|
||||
boolean micPluggedIn = prefs.getBoolean("mic_plugged_in", false);
|
||||
boolean micPluggedIn = prefs.getBoolean(Config.pref_mic, false);
|
||||
if(micPluggedIn){
|
||||
SipEmulator sip = new SipEmulator();
|
||||
sip.startRecording();
|
||||
|
@ -200,10 +200,10 @@ public class GL2JNIActivity extends Activity {
|
|||
|
||||
popUp = menu.new MainPopup(this);
|
||||
vmuPop = menu.new VmuPopup(this);
|
||||
if(prefs.getBoolean("vmu_floating", false)){
|
||||
if(prefs.getBoolean(Config.pref_vmu, false)){
|
||||
//kind of a hack - if the user last had the vmu on screen
|
||||
//inverse it and then "toggle"
|
||||
prefs.edit().putBoolean("vmu_floating", false).commit();
|
||||
prefs.edit().putBoolean(Config.pref_vmu, false).commit();
|
||||
//can only display a popup after onCreate
|
||||
mView.post(new Runnable() {
|
||||
public void run() {
|
||||
|
@ -212,7 +212,7 @@ public class GL2JNIActivity extends Activity {
|
|||
});
|
||||
}
|
||||
JNIdc.setupVmu(menu.getVmu());
|
||||
if (prefs.getBoolean("show_fps", false)) {
|
||||
if (prefs.getBoolean(Config.pref_showfps, false)) {
|
||||
fpsPop = menu.new FpsPopup(this);
|
||||
mView.setFpsDisplay(fpsPop);
|
||||
mView.post(new Runnable() {
|
||||
|
@ -238,7 +238,7 @@ public class GL2JNIActivity extends Activity {
|
|||
}
|
||||
|
||||
private void getCompatibilityMap(int playerNum, String id) {
|
||||
pad.name[playerNum] = prefs.getInt("controller" + id, -1);
|
||||
pad.name[playerNum] = prefs.getInt(Gamepad.pref_pad + id, -1);
|
||||
if (pad.name[playerNum] != -1) {
|
||||
pad.map[playerNum] = pad.setModifiedKeys(id, playerNum, prefs);
|
||||
}
|
||||
|
@ -382,7 +382,7 @@ public class GL2JNIActivity extends Activity {
|
|||
}
|
||||
|
||||
public void toggleVmu() {
|
||||
boolean showFloating = !prefs.getBoolean("vmu_floating", false);
|
||||
boolean showFloating = !prefs.getBoolean(Config.pref_vmu, false);
|
||||
if(showFloating){
|
||||
if(popUp.isShowing()){
|
||||
popUp.dismiss();
|
||||
|
@ -402,7 +402,7 @@ public class GL2JNIActivity extends Activity {
|
|||
//add back to popup menu
|
||||
popUp.showVmu();
|
||||
}
|
||||
prefs.edit().putBoolean("vmu_floating", showFloating).commit();
|
||||
prefs.edit().putBoolean(Config.pref_vmu, showFloating).commit();
|
||||
}
|
||||
|
||||
public void displayConfig(PopupWindow popUpConfig) {
|
||||
|
@ -427,9 +427,9 @@ public class GL2JNIActivity extends Activity {
|
|||
if (playerNum != null && playerNum != -1) {
|
||||
if (pad.compat[playerNum] || pad.custom[playerNum]) {
|
||||
String id = pad.portId[playerNum];
|
||||
if (keyCode == prefs.getInt("l_button" + id,
|
||||
if (keyCode == prefs.getInt(Gamepad.pref_button_l + id,
|
||||
KeyEvent.KEYCODE_BUTTON_L1)
|
||||
|| keyCode == prefs.getInt("r_button" + id,
|
||||
|| keyCode == prefs.getInt(Gamepad.pref_button_r + id,
|
||||
KeyEvent.KEYCODE_BUTTON_R1)) {
|
||||
return simulatedTouchEvent(playerNum, 0.0f, 0.0f);
|
||||
}
|
||||
|
@ -452,10 +452,10 @@ public class GL2JNIActivity extends Activity {
|
|||
if (playerNum != null && playerNum != -1) {
|
||||
if (pad.compat[playerNum] || pad.custom[playerNum]) {
|
||||
String id = pad.portId[playerNum];
|
||||
if (keyCode == prefs.getInt("l_button" + id, KeyEvent.KEYCODE_BUTTON_L1)) {
|
||||
if (keyCode == prefs.getInt(Gamepad.pref_button_l + id, KeyEvent.KEYCODE_BUTTON_L1)) {
|
||||
return simulatedTouchEvent(playerNum, 1.0f, 0.0f);
|
||||
}
|
||||
if (keyCode == prefs.getInt("r_button" + id, KeyEvent.KEYCODE_BUTTON_R1)) {
|
||||
if (keyCode == prefs.getInt(Gamepad.pref_button_r + id, KeyEvent.KEYCODE_BUTTON_R1)) {
|
||||
return simulatedTouchEvent(playerNum, 0.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,13 +81,13 @@ public class GL2JNINative extends NativeActivity {
|
|||
|
||||
// Populate device descriptor-to-player-map from preferences
|
||||
pad.deviceDescriptor_PlayerNum.put(
|
||||
prefs.getString("device_descriptor_player_1", null), 0);
|
||||
prefs.getString(Gamepad.pref_player1, null), 0);
|
||||
pad.deviceDescriptor_PlayerNum.put(
|
||||
prefs.getString("device_descriptor_player_2", null), 1);
|
||||
prefs.getString(Gamepad.pref_player2, null), 1);
|
||||
pad.deviceDescriptor_PlayerNum.put(
|
||||
prefs.getString("device_descriptor_player_3", null), 2);
|
||||
prefs.getString(Gamepad.pref_player3, null), 2);
|
||||
pad.deviceDescriptor_PlayerNum.put(
|
||||
prefs.getString("device_descriptor_player_4", null), 3);
|
||||
prefs.getString(Gamepad.pref_player4, null), 3);
|
||||
pad.deviceDescriptor_PlayerNum.remove(null);
|
||||
|
||||
moga.onCreate(this, pad);
|
||||
|
@ -135,7 +135,7 @@ public class GL2JNINative extends NativeActivity {
|
|||
+ InputDevice.getDevice(joy).getName());
|
||||
if (pad.isXperiaPlay) {
|
||||
if (InputDevice.getDevice(joy).getName()
|
||||
.contains("keypad-game-zeus")) {
|
||||
.contains(Gamepad.controllers_play_gp)) {
|
||||
pad.keypadZeus.add(joy);
|
||||
}
|
||||
if (InputDevice.getDevice(joy).getName()
|
||||
|
@ -154,11 +154,11 @@ public class GL2JNINative extends NativeActivity {
|
|||
|
||||
if (playerNum != null) {
|
||||
String id = pad.portId[playerNum];
|
||||
pad.custom[playerNum] = prefs.getBoolean("modified_key_layout" + id, false);
|
||||
pad.compat[playerNum] = prefs.getBoolean("controller_compat" + id, false);
|
||||
pad.joystick[playerNum] = prefs.getBoolean("separate_joystick" + id, false);
|
||||
pad.custom[playerNum] = prefs.getBoolean(Gamepad.pref_js_modified + id, false);
|
||||
pad.compat[playerNum] = prefs.getBoolean(Gamepad.pref_js_compat + id, false);
|
||||
pad.joystick[playerNum] = prefs.getBoolean(Gamepad.pref_js_separate + id, false);
|
||||
if (InputDevice.getDevice(joy).getName()
|
||||
.contains("keypad-zeus")) {
|
||||
.contains(Gamepad.controllers_play)) {
|
||||
pad.playerNumX.put(joy, playerNum);
|
||||
for (int keys : pad.keypadZeus) {
|
||||
pad.playerNumX.put(keys, playerNum);
|
||||
|
@ -173,13 +173,13 @@ public class GL2JNINative extends NativeActivity {
|
|||
if (pad.custom[playerNum]) {
|
||||
setCustomMapping(id, playerNum);
|
||||
} else if (InputDevice.getDevice(joy).getName()
|
||||
.equals("Sony PLAYSTATION(R)3 Controller")) {
|
||||
.equals(Gamepad.controllers_sony)) {
|
||||
pad.map[playerNum] = pad.getConsoleController();
|
||||
} else if (InputDevice.getDevice(joy).getName()
|
||||
.equals("Microsoft X-Box 360 pad")) {
|
||||
.equals(Gamepad.controllers_xbox)) {
|
||||
pad.map[playerNum] = pad.getConsoleController();
|
||||
} else if (InputDevice.getDevice(joy).getName()
|
||||
.contains("NVIDIA Corporation NVIDIA Controller")) {
|
||||
.contains(Gamepad.controllers_shield)) {
|
||||
pad.map[playerNum] = pad.getConsoleController();
|
||||
} else if (!pad.isActiveMoga[playerNum]) { // Ouya controller
|
||||
pad.map[playerNum] = pad.getOUYAController();
|
||||
|
@ -205,11 +205,11 @@ public class GL2JNINative extends NativeActivity {
|
|||
|
||||
// Create the actual GLES view
|
||||
mView = new GL2JNIView(getApplication(), config, fileName, false,
|
||||
prefs.getInt("depth_render", 24), 0, false);
|
||||
prefs.getInt(Config.pref_renderdepth, 24), 0, false);
|
||||
setContentView(mView);
|
||||
|
||||
//setup mic
|
||||
boolean micPluggedIn = prefs.getBoolean("mic_plugged_in", false);
|
||||
boolean micPluggedIn = prefs.getBoolean(Config.pref_mic, false);
|
||||
if(micPluggedIn){
|
||||
SipEmulator sip = new SipEmulator();
|
||||
sip.startRecording();
|
||||
|
@ -218,10 +218,10 @@ public class GL2JNINative extends NativeActivity {
|
|||
|
||||
popUp = menu.new MainPopup(this);
|
||||
vmuPop = menu.new VmuPopup(this);
|
||||
if(prefs.getBoolean("vmu_floating", false)){
|
||||
if(prefs.getBoolean(Config.pref_vmu, false)){
|
||||
//kind of a hack - if the user last had the vmu on screen
|
||||
//inverse it and then "toggle"
|
||||
prefs.edit().putBoolean("vmu_floating", false).commit();
|
||||
prefs.edit().putBoolean(Config.pref_vmu, false).commit();
|
||||
//can only display a popup after onCreate
|
||||
mView.post(new Runnable() {
|
||||
public void run() {
|
||||
|
@ -230,7 +230,7 @@ public class GL2JNINative extends NativeActivity {
|
|||
});
|
||||
}
|
||||
JNIdc.setupVmu(menu.getVmu());
|
||||
if (prefs.getBoolean("show_fps", false)) {
|
||||
if (prefs.getBoolean(Config.pref_showfps, false)) {
|
||||
fpsPop = menu.new FpsPopup(this);
|
||||
mView.setFpsDisplay(fpsPop);
|
||||
mView.post(new Runnable() {
|
||||
|
@ -302,7 +302,7 @@ public class GL2JNINative extends NativeActivity {
|
|||
}
|
||||
|
||||
public void toggleVmu() {
|
||||
boolean showFloating = !prefs.getBoolean("vmu_floating", false);
|
||||
boolean showFloating = !prefs.getBoolean(Config.pref_vmu, false);
|
||||
if(showFloating){
|
||||
if(popUp.isShowing()){
|
||||
popUp.dismiss();
|
||||
|
@ -322,7 +322,7 @@ public class GL2JNINative extends NativeActivity {
|
|||
//add back to popup menu
|
||||
popUp.showVmu();
|
||||
}
|
||||
prefs.edit().putBoolean("vmu_floating", showFloating).commit();
|
||||
prefs.edit().putBoolean(Config.pref_vmu, showFloating).commit();
|
||||
}
|
||||
|
||||
public void displayConfig(PopupWindow popUpConfig) {
|
||||
|
@ -477,9 +477,9 @@ public class GL2JNINative extends NativeActivity {
|
|||
if (playerNum != null && playerNum != -1) {
|
||||
String id = pad.portId[playerNum];
|
||||
if (action == KeyEvent.ACTION_DOWN) {
|
||||
if (keyCode == prefs.getInt("l_button" + id, KeyEvent.KEYCODE_BUTTON_L1)) {
|
||||
if (keyCode == prefs.getInt(Gamepad.pref_button_l + id, KeyEvent.KEYCODE_BUTTON_L1)) {
|
||||
return simulatedTouchEvent(playerNum, 1.0f, 0.0f);
|
||||
} else if (keyCode == prefs.getInt("r_button" + id, KeyEvent.KEYCODE_BUTTON_R1)) {
|
||||
} else if (keyCode == prefs.getInt(Gamepad.pref_button_r + id, KeyEvent.KEYCODE_BUTTON_R1)) {
|
||||
return simulatedTouchEvent(playerNum, 0.0f, 1.0f);
|
||||
} else if (handle_key(playerNum, keyCode, true)) {
|
||||
if (playerNum == 0)
|
||||
|
@ -488,9 +488,9 @@ public class GL2JNINative extends NativeActivity {
|
|||
}
|
||||
}
|
||||
if (action == KeyEvent.ACTION_UP) {
|
||||
if (keyCode == prefs.getInt("l_button" + id,
|
||||
if (keyCode == prefs.getInt(Gamepad.pref_button_l + id,
|
||||
KeyEvent.KEYCODE_BUTTON_L1)
|
||||
|| keyCode == prefs.getInt("r_button" + id,
|
||||
|| keyCode == prefs.getInt(Gamepad.pref_button_r + id,
|
||||
KeyEvent.KEYCODE_BUTTON_R1)) {
|
||||
return simulatedTouchEvent(playerNum, 0.0f, 0.0f);
|
||||
} else {
|
||||
|
|
|
@ -408,7 +408,7 @@ public class MainActivity extends SlidingFragmentActivity implements
|
|||
// show it
|
||||
alertDialog.show();
|
||||
} else {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD && !Config.nonative) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD && Config.nativeact) {
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, uri, getBaseContext(),
|
||||
GL2JNINative.class));
|
||||
} else {
|
||||
|
|
|
@ -23,6 +23,32 @@ import com.reicast.emulator.emu.JNIdc;
|
|||
|
||||
public class Config {
|
||||
|
||||
public static final String pref_home = "home_directory";
|
||||
public static final String pref_games = "game_directory";
|
||||
|
||||
public static final String pref_nativeact = "enable_native";
|
||||
public static final String pref_dynarecopt = "dynarec_opt";
|
||||
public static final String pref_unstable = "unstable_opt";
|
||||
public static final String pref_cable = "dc_cable";
|
||||
public static final String pref_dcregion = "dc_region";
|
||||
public static final String pref_broadcast = "dc_broadcast";
|
||||
public static final String pref_limitfps = "limit_fps";
|
||||
public static final String pref_nosound = "sound_disabled";
|
||||
public static final String pref_mipmaps = "use_mipmaps";
|
||||
public static final String pref_widescreen = "stretch_view";
|
||||
public static final String pref_frameskip = "frame_skip";
|
||||
public static final String pref_pvrrender = "pvr_render";
|
||||
public static final String pref_cheatdisk = "cheat_disk";
|
||||
|
||||
public static final String pref_showfps = "show_fps";
|
||||
public static final String pref_forcegpu = "force_gpu";
|
||||
public static final String pref_rendertype = "render_type";
|
||||
public static final String pref_renderdepth = "depth_render";
|
||||
|
||||
public static final String pref_touchvibe = "touch_vibration_enabled";
|
||||
public static final String pref_mic = "mic_plugged_in";
|
||||
public static final String pref_vmu = "vmu_floating";
|
||||
|
||||
public static boolean dynarecopt = true;
|
||||
public static boolean idleskip = true;
|
||||
public static boolean unstableopt = false;
|
||||
|
@ -38,7 +64,7 @@ public class Config {
|
|||
public static int frameskip = 0;
|
||||
public static boolean pvrrender = false;
|
||||
public static String cheatdisk = "null";
|
||||
public static boolean nonative = false;
|
||||
public static boolean nativeact = false;
|
||||
|
||||
private SharedPreferences mPrefs;
|
||||
|
||||
|
@ -51,19 +77,19 @@ public class Config {
|
|||
*
|
||||
*/
|
||||
public void getConfigurationPrefs() {
|
||||
Config.dynarecopt = mPrefs.getBoolean("dynarec_opt", dynarecopt);
|
||||
Config.unstableopt = mPrefs.getBoolean("unstable_opt", unstableopt);
|
||||
Config.cable = mPrefs.getInt("dc_cable", cable);
|
||||
Config.dcregion = mPrefs.getInt("dc_region", dcregion);
|
||||
Config.broadcast = mPrefs.getInt("dc_broadcast", broadcast);
|
||||
Config.limitfps = mPrefs.getBoolean("limit_fps", limitfps);
|
||||
Config.nosound = mPrefs.getBoolean("sound_disabled", nosound);
|
||||
Config.mipmaps = mPrefs.getBoolean("use_mipmaps", mipmaps);
|
||||
Config.widescreen = mPrefs.getBoolean("stretch_view", widescreen);
|
||||
Config.frameskip = mPrefs.getInt("frame_skip", frameskip);
|
||||
Config.pvrrender = mPrefs.getBoolean("pvr_render", pvrrender);
|
||||
Config.cheatdisk = mPrefs.getString("cheat_disk", cheatdisk);
|
||||
Config.nonative = mPrefs.getBoolean("native_override", nonative);
|
||||
Config.dynarecopt = mPrefs.getBoolean(pref_dynarecopt, dynarecopt);
|
||||
Config.unstableopt = mPrefs.getBoolean(pref_unstable, unstableopt);
|
||||
Config.cable = mPrefs.getInt(pref_cable, cable);
|
||||
Config.dcregion = mPrefs.getInt(pref_dcregion, dcregion);
|
||||
Config.broadcast = mPrefs.getInt(pref_broadcast, broadcast);
|
||||
Config.limitfps = mPrefs.getBoolean(pref_limitfps, limitfps);
|
||||
Config.nosound = mPrefs.getBoolean(pref_nosound, nosound);
|
||||
Config.mipmaps = mPrefs.getBoolean(pref_mipmaps, mipmaps);
|
||||
Config.widescreen = mPrefs.getBoolean(pref_widescreen, widescreen);
|
||||
Config.frameskip = mPrefs.getInt(pref_frameskip, frameskip);
|
||||
Config.pvrrender = mPrefs.getBoolean(pref_pvrrender, pvrrender);
|
||||
Config.cheatdisk = mPrefs.getString(pref_cheatdisk, cheatdisk);
|
||||
Config.nativeact = mPrefs.getBoolean(pref_nativeact, nativeact);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -66,7 +66,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
|
||||
mPrefs = PreferenceManager.getDefaultSharedPreferences(parentActivity);
|
||||
home_directory = mPrefs.getString("home_directory", home_directory);
|
||||
home_directory = mPrefs.getString(Config.pref_home, home_directory);
|
||||
config = new Config(parentActivity);
|
||||
config.getConfigurationPrefs();
|
||||
|
||||
|
@ -76,20 +76,20 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("native_override", isChecked).commit();
|
||||
Config.nonative = isChecked;
|
||||
mPrefs.edit().putBoolean(Config.pref_nativeact, isChecked).commit();
|
||||
Config.nativeact = isChecked;
|
||||
}
|
||||
};
|
||||
Switch native_opt = (Switch) getView().findViewById(
|
||||
R.id.native_option);
|
||||
native_opt.setChecked(Config.nonative);
|
||||
native_opt.setChecked(Config.nativeact);
|
||||
native_opt.setOnCheckedChangeListener(native_options);
|
||||
|
||||
OnCheckedChangeListener dynarec_options = new OnCheckedChangeListener() {
|
||||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("dynarec_opt", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_dynarecopt, isChecked).commit();
|
||||
Config.dynarecopt = isChecked;
|
||||
}
|
||||
};
|
||||
|
@ -102,7 +102,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("unstable_opt", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_unstable, isChecked).commit();
|
||||
Config.unstableopt = isChecked;
|
||||
}
|
||||
};
|
||||
|
@ -115,8 +115,9 @@ public class ConfigureFragment extends Fragment {
|
|||
}
|
||||
unstable_opt.setOnCheckedChangeListener(unstable_option);
|
||||
|
||||
String[] regions = parentActivity.getResources().getStringArray(
|
||||
R.array.region);
|
||||
String[] regions = parentActivity.getResources()
|
||||
.getStringArray(R.array.region);
|
||||
|
||||
Spinner region_spnr = (Spinner) getView().findViewById(
|
||||
R.id.region_spinner);
|
||||
ArrayAdapter<String> regionAdapter = new ArrayAdapter<String>(
|
||||
|
@ -131,7 +132,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onItemSelected(AdapterView<?> parent, View view,
|
||||
int pos, long id) {
|
||||
mPrefs.edit().putInt("dc_region", pos).commit();
|
||||
mPrefs.edit().putInt(Config.pref_dcregion, pos).commit();
|
||||
Config.dcregion = pos;
|
||||
|
||||
}
|
||||
|
@ -167,7 +168,7 @@ public class ConfigureFragment extends Fragment {
|
|||
String item = parent.getItemAtPosition(pos).toString();
|
||||
String selection = item.substring(0, item.indexOf(" - "));
|
||||
mPrefs.edit()
|
||||
.putInt("dc_broadcast", Integer.valueOf(selection))
|
||||
.putInt(Config.pref_broadcast, Integer.valueOf(selection))
|
||||
.commit();
|
||||
Config.broadcast = Integer.valueOf(selection);
|
||||
|
||||
|
@ -183,7 +184,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("limit_fps", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_limitfps, isChecked).commit();
|
||||
Config.limitfps = isChecked;
|
||||
}
|
||||
};
|
||||
|
@ -196,7 +197,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("use_mipmaps", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_mipmaps, isChecked).commit();
|
||||
Config.mipmaps = isChecked;
|
||||
}
|
||||
};
|
||||
|
@ -209,7 +210,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("stretch_view", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_widescreen, isChecked).commit();
|
||||
Config.widescreen = isChecked;
|
||||
}
|
||||
};
|
||||
|
@ -237,7 +238,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||
int progress = seekBar.getProgress();
|
||||
mPrefs.edit().putInt("frame_skip", progress).commit();
|
||||
mPrefs.edit().putInt(Config.pref_frameskip, progress).commit();
|
||||
Config.frameskip = progress;
|
||||
}
|
||||
});
|
||||
|
@ -246,7 +247,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("pvr_render", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_pvrrender, isChecked).commit();
|
||||
Config.pvrrender = isChecked;
|
||||
}
|
||||
};
|
||||
|
@ -274,7 +275,7 @@ public class ConfigureFragment extends Fragment {
|
|||
} else {
|
||||
cheatEdit.setText(disk);
|
||||
}
|
||||
mPrefs.edit().putString("cheat_disk", disk).commit();
|
||||
mPrefs.edit().putString(Config.pref_cheatdisk, disk).commit();
|
||||
Config.cheatdisk = disk;
|
||||
}
|
||||
}
|
||||
|
@ -293,10 +294,10 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("show_fps", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_showfps, isChecked).commit();
|
||||
}
|
||||
};
|
||||
boolean counter = mPrefs.getBoolean("show_fps", false);
|
||||
boolean counter = mPrefs.getBoolean(Config.pref_showfps, false);
|
||||
fps_opt.setChecked(counter);
|
||||
fps_opt.setOnCheckedChangeListener(fps_options);
|
||||
|
||||
|
@ -307,10 +308,10 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("force_gpu", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_forcegpu, isChecked).commit();
|
||||
}
|
||||
};
|
||||
boolean enhanced = mPrefs.getBoolean("force_gpu", true);
|
||||
boolean enhanced = mPrefs.getBoolean(Config.pref_forcegpu, true);
|
||||
force_gpu_opt.setChecked(enhanced);
|
||||
force_gpu_opt.setOnCheckedChangeListener(force_gpu_options);
|
||||
} else {
|
||||
|
@ -323,18 +324,18 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putInt("render_type", isChecked ? 1 : 2).commit();
|
||||
mPrefs.edit().putInt(Config.pref_rendertype, isChecked ? 1 : 2).commit();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
if (isChecked) {
|
||||
force_gpu_opt.setEnabled(false);
|
||||
mPrefs.edit().putBoolean("force_gpu", false).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_forcegpu, false).commit();
|
||||
} else {
|
||||
force_gpu_opt.setEnabled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
int software = mPrefs.getInt("render_type",
|
||||
int software = mPrefs.getInt(Config.pref_rendertype,
|
||||
GL2JNIView.LAYER_TYPE_HARDWARE);
|
||||
force_software_opt
|
||||
.setChecked(software == GL2JNIView.LAYER_TYPE_SOFTWARE);
|
||||
|
@ -345,11 +346,11 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("sound_disabled", isChecked).commit();
|
||||
mPrefs.edit().putBoolean(Config.pref_nosound, isChecked).commit();
|
||||
Config.nosound = isChecked;
|
||||
}
|
||||
};
|
||||
boolean sound = mPrefs.getBoolean("sound_disabled", false);
|
||||
boolean sound = mPrefs.getBoolean(Config.pref_nosound, false);
|
||||
sound_opt.setChecked(sound);
|
||||
sound_opt.setOnCheckedChangeListener(emu_sound);
|
||||
|
||||
|
@ -364,7 +365,7 @@ public class ConfigureFragment extends Fragment {
|
|||
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
depth_spnr.setAdapter(depthAdapter);
|
||||
|
||||
String depth = String.valueOf(mPrefs.getInt("depth_render", 24));
|
||||
String depth = String.valueOf(mPrefs.getInt(Config.pref_renderdepth, 24));
|
||||
depth_spnr.setSelection(depthAdapter.getPosition(depth), true);
|
||||
|
||||
depth_spnr.setOnItemSelectedListener(new OnItemSelectedListener() {
|
||||
|
@ -373,7 +374,7 @@ public class ConfigureFragment extends Fragment {
|
|||
int pos, long id) {
|
||||
int render = Integer.valueOf(parent.getItemAtPosition(pos)
|
||||
.toString());
|
||||
mPrefs.edit().putInt("depth_render", render).commit();
|
||||
mPrefs.edit().putInt(Config.pref_renderdepth, render).commit();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ public class EditVJoyActivity extends Activity {
|
|||
|
||||
// Create the actual GLES view
|
||||
mView = new GL2JNIView(getApplication(), config, null, false,
|
||||
prefs.getInt("depth_render", 24), 0, true);
|
||||
prefs.getInt(Config.pref_renderdepth, 24), 0, true);
|
||||
mView.setFpsDisplay(null);
|
||||
setContentView(mView);
|
||||
|
||||
|
|
|
@ -63,12 +63,12 @@ public class InputFragment extends Fragment {
|
|||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
parentActivity = getActivity();
|
||||
|
||||
|
||||
moga.onCreate(parentActivity, pad);
|
||||
|
||||
sharedPreferences = PreferenceManager
|
||||
.getDefaultSharedPreferences(parentActivity);
|
||||
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
ImageView icon_a = (ImageView) getView().findViewById(
|
||||
R.id.controller_icon_a);
|
||||
|
@ -100,118 +100,131 @@ public class InputFragment extends Fragment {
|
|||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
sharedPreferences.edit()
|
||||
.putBoolean("touch_vibration_enabled", isChecked)
|
||||
.commit();
|
||||
.putBoolean(Config.pref_touchvibe, isChecked).commit();
|
||||
}
|
||||
};
|
||||
switchTouchVibrationEnabled = (Switch) getView().findViewById(
|
||||
R.id.switchTouchVibrationEnabled);
|
||||
boolean vibrate = sharedPreferences.getBoolean(
|
||||
"touch_vibration_enabled", true);
|
||||
boolean vibrate = sharedPreferences.getBoolean(Config.pref_touchvibe,
|
||||
true);
|
||||
if (vibrate) {
|
||||
switchTouchVibrationEnabled.setChecked(true);
|
||||
} else {
|
||||
switchTouchVibrationEnabled.setChecked(false);
|
||||
}
|
||||
switchTouchVibrationEnabled.setOnCheckedChangeListener(touch_vibration);
|
||||
|
||||
|
||||
micPluggedIntoFirstController = (Switch) getView().findViewById(
|
||||
R.id.micInPort2);
|
||||
boolean micPluggedIn = sharedPreferences.getBoolean("mic_plugged_in", false);
|
||||
boolean micPluggedIn = sharedPreferences.getBoolean(Config.pref_mic,
|
||||
false);
|
||||
micPluggedIntoFirstController.setChecked(micPluggedIn);
|
||||
if (getActivity().getPackageManager().hasSystemFeature(
|
||||
"android.hardware.microphone")) {
|
||||
//Microphone is present on the device
|
||||
micPluggedIntoFirstController.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
sharedPreferences.edit().putBoolean("mic_plugged_in", isChecked).commit();
|
||||
}
|
||||
});
|
||||
}else{
|
||||
// Microphone is present on the device
|
||||
micPluggedIntoFirstController
|
||||
.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
sharedPreferences.edit()
|
||||
.putBoolean(Config.pref_mic, isChecked)
|
||||
.commit();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
micPluggedIntoFirstController.setEnabled(false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Button buttonKeycodeEditor = (Button) getView().findViewById(
|
||||
R.id.buttonKeycodeEditor);
|
||||
buttonKeycodeEditor.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
InputModFragment inputModFrag = new InputModFragment();
|
||||
getActivity().getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container, inputModFrag,
|
||||
"INPUT_MOD_FRAG").addToBackStack(null).commit();
|
||||
getActivity()
|
||||
.getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container, inputModFrag,
|
||||
"INPUT_MOD_FRAG").addToBackStack(null).commit();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
|
||||
|
||||
Button buttonSelectControllerPlayer1 = (Button) getView()
|
||||
.findViewById(R.id.buttonSelectControllerPlayer1);
|
||||
buttonSelectControllerPlayer1.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
selectController(1);
|
||||
}
|
||||
});
|
||||
buttonSelectControllerPlayer1
|
||||
.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
selectController(1);
|
||||
}
|
||||
});
|
||||
Button buttonSelectControllerPlayer2 = (Button) getView()
|
||||
.findViewById(R.id.buttonSelectControllerPlayer2);
|
||||
buttonSelectControllerPlayer2.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
selectController(2);
|
||||
}
|
||||
});
|
||||
buttonSelectControllerPlayer2
|
||||
.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
selectController(2);
|
||||
}
|
||||
});
|
||||
Button buttonSelectControllerPlayer3 = (Button) getView()
|
||||
.findViewById(R.id.buttonSelectControllerPlayer3);
|
||||
buttonSelectControllerPlayer3.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
selectController(3);
|
||||
}
|
||||
});
|
||||
buttonSelectControllerPlayer3
|
||||
.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
selectController(3);
|
||||
}
|
||||
});
|
||||
Button buttonSelectControllerPlayer4 = (Button) getView()
|
||||
.findViewById(R.id.buttonSelectControllerPlayer4);
|
||||
buttonSelectControllerPlayer4.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
selectController(4);
|
||||
}
|
||||
});
|
||||
buttonSelectControllerPlayer4
|
||||
.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
selectController(4);
|
||||
}
|
||||
});
|
||||
|
||||
Button buttonRemoveControllerPlayer1 = (Button) getView()
|
||||
.findViewById(R.id.buttonRemoveControllerPlayer1);
|
||||
buttonRemoveControllerPlayer1.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
removeController(1);
|
||||
}
|
||||
});
|
||||
buttonRemoveControllerPlayer1
|
||||
.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
removeController(1);
|
||||
}
|
||||
});
|
||||
|
||||
Button buttonRemoveControllerPlayer2 = (Button) getView()
|
||||
.findViewById(R.id.buttonRemoveControllerPlayer2);
|
||||
buttonRemoveControllerPlayer2.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
removeController(2);
|
||||
}
|
||||
});
|
||||
buttonRemoveControllerPlayer2
|
||||
.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
removeController(2);
|
||||
}
|
||||
});
|
||||
|
||||
Button buttonRemoveControllerPlayer3 = (Button) getView()
|
||||
.findViewById(R.id.buttonRemoveControllerPlayer3);
|
||||
buttonRemoveControllerPlayer3.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
removeController(3);
|
||||
}
|
||||
});
|
||||
buttonRemoveControllerPlayer3
|
||||
.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
removeController(3);
|
||||
}
|
||||
});
|
||||
|
||||
Button buttonRemoveControllerPlayer4 = (Button) getView()
|
||||
.findViewById(R.id.buttonRemoveControllerPlayer4);
|
||||
buttonRemoveControllerPlayer4.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
removeController(4);
|
||||
}
|
||||
});
|
||||
buttonRemoveControllerPlayer4
|
||||
.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
removeController(4);
|
||||
}
|
||||
});
|
||||
|
||||
updateControllers();
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
TableLayout input_devices = (TableLayout) parentActivity.findViewById(R.id.input_devices);
|
||||
TableLayout input_devices = (TableLayout) parentActivity
|
||||
.findViewById(R.id.input_devices);
|
||||
input_devices.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
|
@ -221,19 +234,19 @@ public class InputFragment extends Fragment {
|
|||
|
||||
private void updateVibration() {
|
||||
boolean touchVibrationEnabled = sharedPreferences.getBoolean(
|
||||
"touch_vibration_enabled", true);
|
||||
Config.pref_touchvibe, true);
|
||||
switchTouchVibrationEnabled.setChecked(touchVibrationEnabled);
|
||||
}
|
||||
|
||||
private void updateControllers() {
|
||||
String deviceDescriptorPlayer1 = sharedPreferences.getString(
|
||||
"device_descriptor_player_1", null);
|
||||
Gamepad.pref_player1, null);
|
||||
String deviceDescriptorPlayer2 = sharedPreferences.getString(
|
||||
"device_descriptor_player_2", null);
|
||||
Gamepad.pref_player2, null);
|
||||
String deviceDescriptorPlayer3 = sharedPreferences.getString(
|
||||
"device_descriptor_player_3", null);
|
||||
Gamepad.pref_player3, null);
|
||||
String deviceDescriptorPlayer4 = sharedPreferences.getString(
|
||||
"device_descriptor_player_4", null);
|
||||
Gamepad.pref_player4, null);
|
||||
|
||||
String labelPlayer1 = null, labelPlayer2 = null, labelPlayer3 = null, labelPlayer4 = null;
|
||||
|
||||
|
@ -361,10 +374,12 @@ public class InputFragment extends Fragment {
|
|||
args.putInt("portNumber", listenForButton - 1);
|
||||
inputModFrag.setArguments(args);
|
||||
listenForButton = 0;
|
||||
getActivity().getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container, inputModFrag,
|
||||
"INPUT_MOD_FRAG").addToBackStack(null).commit();
|
||||
getActivity()
|
||||
.getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container, inputModFrag,
|
||||
"INPUT_MOD_FRAG").addToBackStack(null)
|
||||
.commit();
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
@ -394,23 +409,22 @@ public class InputFragment extends Fragment {
|
|||
descriptor = config.getController();
|
||||
}
|
||||
descriptor = InputDevice.getDevice(event.getDeviceId())
|
||||
.getDescriptor();
|
||||
.getDescriptor();
|
||||
} else {
|
||||
descriptor = InputDevice.getDevice(event.getDeviceId())
|
||||
.getName();
|
||||
descriptor = InputDevice.getDevice(event.getDeviceId()).getName();
|
||||
}
|
||||
|
||||
if (descriptor == null)
|
||||
return false;
|
||||
|
||||
String deviceDescriptorPlayer1 = sharedPreferences.getString(
|
||||
"device_descriptor_player_1", null);
|
||||
Gamepad.pref_player1, null);
|
||||
String deviceDescriptorPlayer2 = sharedPreferences.getString(
|
||||
"device_descriptor_player_2", null);
|
||||
Gamepad.pref_player2, null);
|
||||
String deviceDescriptorPlayer3 = sharedPreferences.getString(
|
||||
"device_descriptor_player_3", null);
|
||||
Gamepad.pref_player3, null);
|
||||
String deviceDescriptorPlayer4 = sharedPreferences.getString(
|
||||
"device_descriptor_player_4", null);
|
||||
Gamepad.pref_player4, null);
|
||||
|
||||
if (descriptor.equals(deviceDescriptorPlayer1)
|
||||
|| descriptor.equals(deviceDescriptorPlayer2)
|
||||
|
@ -426,23 +440,19 @@ public class InputFragment extends Fragment {
|
|||
return false;
|
||||
case 1:
|
||||
sharedPreferences.edit()
|
||||
.putString("device_descriptor_player_1", descriptor)
|
||||
.commit();
|
||||
.putString(Gamepad.pref_player1, descriptor).commit();
|
||||
break;
|
||||
case 2:
|
||||
sharedPreferences.edit()
|
||||
.putString("device_descriptor_player_2", descriptor)
|
||||
.commit();
|
||||
.putString(Gamepad.pref_player2, descriptor).commit();
|
||||
break;
|
||||
case 3:
|
||||
sharedPreferences.edit()
|
||||
.putString("device_descriptor_player_3", descriptor)
|
||||
.commit();
|
||||
.putString(Gamepad.pref_player3, descriptor).commit();
|
||||
break;
|
||||
case 4:
|
||||
sharedPreferences.edit()
|
||||
.putString("device_descriptor_player_4", descriptor)
|
||||
.commit();
|
||||
.putString(Gamepad.pref_player4, descriptor).commit();
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -459,56 +469,57 @@ public class InputFragment extends Fragment {
|
|||
private void removeController(int playerNum) {
|
||||
switch (playerNum) {
|
||||
case 1:
|
||||
sharedPreferences.edit()
|
||||
.putString("device_descriptor_player_1", null).commit();
|
||||
sharedPreferences.edit().putString(Gamepad.pref_player1, null)
|
||||
.commit();
|
||||
break;
|
||||
case 2:
|
||||
sharedPreferences.edit()
|
||||
.putString("device_descriptor_player_2", null).commit();
|
||||
sharedPreferences.edit().putString(Gamepad.pref_player2, null)
|
||||
.commit();
|
||||
break;
|
||||
case 3:
|
||||
sharedPreferences.edit()
|
||||
.putString("device_descriptor_player_3", null).commit();
|
||||
sharedPreferences.edit().putString(Gamepad.pref_player3, null)
|
||||
.commit();
|
||||
break;
|
||||
case 4:
|
||||
sharedPreferences.edit()
|
||||
.putString("device_descriptor_player_4", null).commit();
|
||||
sharedPreferences.edit().putString(Gamepad.pref_player4, null)
|
||||
.commit();
|
||||
break;
|
||||
}
|
||||
|
||||
updateControllers();
|
||||
}
|
||||
|
||||
class MogaListener implements ControllerListener
|
||||
{
|
||||
|
||||
|
||||
class MogaListener implements ControllerListener {
|
||||
|
||||
private int playerNum;
|
||||
private String controllerId;
|
||||
|
||||
|
||||
public MogaListener(int playerNum) {
|
||||
this.playerNum = playerNum;
|
||||
}
|
||||
|
||||
|
||||
public void onKeyEvent(com.bda.controller.KeyEvent event) {
|
||||
controllerId = String.valueOf(event.getControllerId());
|
||||
}
|
||||
|
||||
public void onMotionEvent(MotionEvent arg0) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public String getController() {
|
||||
return controllerId;
|
||||
}
|
||||
|
||||
public void onStateEvent(StateEvent event) {
|
||||
if (event.getState() == StateEvent.STATE_CONNECTION && event.getAction() == MOGAInput.ACTION_CONNECTED) {
|
||||
int mControllerVersion = moga.mController.getState(Controller.STATE_CURRENT_PRODUCT_VERSION);
|
||||
if (mControllerVersion == Controller.ACTION_VERSION_MOGAPRO) {
|
||||
pad.isActiveMoga[playerNum] = true;
|
||||
} else if (mControllerVersion == Controller.ACTION_VERSION_MOGA) {
|
||||
pad.isActiveMoga[playerNum] = true;
|
||||
}
|
||||
if (event.getState() == StateEvent.STATE_CONNECTION
|
||||
&& event.getAction() == MOGAInput.ACTION_CONNECTED) {
|
||||
int mControllerVersion = moga.mController
|
||||
.getState(Controller.STATE_CURRENT_PRODUCT_VERSION);
|
||||
if (mControllerVersion == Controller.ACTION_VERSION_MOGAPRO) {
|
||||
pad.isActiveMoga[playerNum] = true;
|
||||
} else if (mControllerVersion == Controller.ACTION_VERSION_MOGA) {
|
||||
pad.isActiveMoga[playerNum] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ public class InputModFragment extends Fragment {
|
|||
private TextView dpad_right_text;
|
||||
private TextView start_button_text;
|
||||
private TextView select_button_text;
|
||||
|
||||
|
||||
private String player = "_A";
|
||||
private int sS = 2;
|
||||
private int playerNum = -1;
|
||||
|
@ -104,8 +104,8 @@ public class InputModFragment extends Fragment {
|
|||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit()
|
||||
.putBoolean("separate_joystick" + player, isChecked)
|
||||
.commit();
|
||||
.putBoolean(Gamepad.pref_js_separate + player,
|
||||
isChecked).commit();
|
||||
}
|
||||
};
|
||||
switchJoystickDpadEnabled = (Switch) getView().findViewById(
|
||||
|
@ -116,8 +116,8 @@ public class InputModFragment extends Fragment {
|
|||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit()
|
||||
.putBoolean("modified_key_layout" + player, isChecked)
|
||||
.commit();
|
||||
.putBoolean(Gamepad.pref_js_modified + player,
|
||||
isChecked).commit();
|
||||
}
|
||||
};
|
||||
switchModifiedLayoutEnabled = (Switch) getView().findViewById(
|
||||
|
@ -130,10 +130,10 @@ public class InputModFragment extends Fragment {
|
|||
if (isChecked) {
|
||||
selectController();
|
||||
} else {
|
||||
mPrefs.edit().remove("controller" + player).commit();
|
||||
mPrefs.edit().remove(Gamepad.pref_pad + player).commit();
|
||||
}
|
||||
mPrefs.edit()
|
||||
.putBoolean("controller_compat" + player, isChecked)
|
||||
.putBoolean(Gamepad.pref_js_compat + player, isChecked)
|
||||
.commit();
|
||||
}
|
||||
};
|
||||
|
@ -146,172 +146,163 @@ public class InputModFragment extends Fragment {
|
|||
ImageView a_button_icon = (ImageView) getView().findViewById(
|
||||
R.id.a_button_icon);
|
||||
a_button_icon.setImageDrawable(getButtonImage(448 / sS, 0));
|
||||
a_button_text = (TextView) getView().findViewById(
|
||||
R.id.a_button_key);
|
||||
a_button_text = (TextView) getView().findViewById(R.id.a_button_key);
|
||||
Button a_button = (Button) getView().findViewById(R.id.a_button_edit);
|
||||
a_button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("a_button", a_button_text);
|
||||
mKey.intiateSearch(Gamepad.pref_button_a, a_button_text);
|
||||
}
|
||||
});
|
||||
Button a_remove = (Button) getView().findViewById(R.id.remove_a_button);
|
||||
a_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("a_button", a_button_text);
|
||||
remKeyCode(Gamepad.pref_button_a, a_button_text);
|
||||
}
|
||||
});
|
||||
|
||||
ImageView b_button_icon = (ImageView) getView().findViewById(
|
||||
R.id.b_button_icon);
|
||||
b_button_icon.setImageDrawable(getButtonImage(384 / sS, 0));
|
||||
b_button_text = (TextView) getView().findViewById(
|
||||
R.id.b_button_key);
|
||||
b_button_text = (TextView) getView().findViewById(R.id.b_button_key);
|
||||
Button b_button = (Button) getView().findViewById(R.id.b_button_edit);
|
||||
b_button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("b_button", b_button_text);
|
||||
mKey.intiateSearch(Gamepad.pref_button_b, b_button_text);
|
||||
}
|
||||
});
|
||||
Button b_remove = (Button) getView().findViewById(R.id.remove_b_button);
|
||||
b_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("b_button", b_button_text);
|
||||
remKeyCode(Gamepad.pref_button_b, b_button_text);
|
||||
}
|
||||
});
|
||||
|
||||
ImageView x_button_icon = (ImageView) getView().findViewById(
|
||||
R.id.x_button_icon);
|
||||
x_button_icon.setImageDrawable(getButtonImage(256 / sS, 0));
|
||||
x_button_text = (TextView) getView().findViewById(
|
||||
R.id.x_button_key);
|
||||
x_button_text = (TextView) getView().findViewById(R.id.x_button_key);
|
||||
Button x_button = (Button) getView().findViewById(R.id.x_button_edit);
|
||||
x_button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("x_button", x_button_text);
|
||||
mKey.intiateSearch(Gamepad.pref_button_x, x_button_text);
|
||||
}
|
||||
});
|
||||
Button x_remove = (Button) getView().findViewById(R.id.remove_x_button);
|
||||
x_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("x_button", x_button_text);
|
||||
remKeyCode(Gamepad.pref_button_x, x_button_text);
|
||||
}
|
||||
});
|
||||
|
||||
ImageView y_button_icon = (ImageView) getView().findViewById(
|
||||
R.id.y_button_icon);
|
||||
y_button_icon.setImageDrawable(getButtonImage(320 / sS, 0));
|
||||
y_button_text = (TextView) getView().findViewById(
|
||||
R.id.y_button_key);
|
||||
y_button_text = (TextView) getView().findViewById(R.id.y_button_key);
|
||||
Button y_button = (Button) getView().findViewById(R.id.y_button_edit);
|
||||
y_button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("y_button", y_button_text);
|
||||
mKey.intiateSearch(Gamepad.pref_button_y, y_button_text);
|
||||
}
|
||||
});
|
||||
Button y_remove = (Button) getView().findViewById(R.id.remove_y_button);
|
||||
y_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("y_button", y_button_text);
|
||||
remKeyCode(Gamepad.pref_button_y, y_button_text);
|
||||
}
|
||||
});
|
||||
|
||||
ImageView l_button_icon = (ImageView) getView().findViewById(
|
||||
R.id.l_button_icon);
|
||||
l_button_icon.setImageDrawable(getButtonImage(78 / sS, 64 / sS));
|
||||
l_button_text = (TextView) getView().findViewById(
|
||||
R.id.l_button_key);
|
||||
l_button_text = (TextView) getView().findViewById(R.id.l_button_key);
|
||||
Button l_button = (Button) getView().findViewById(R.id.l_button_edit);
|
||||
l_button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("l_button", l_button_text);
|
||||
mKey.intiateSearch(Gamepad.pref_button_l, l_button_text);
|
||||
}
|
||||
});
|
||||
Button l_remove = (Button) getView().findViewById(R.id.remove_l_button);
|
||||
l_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("l_button", l_button_text);
|
||||
remKeyCode(Gamepad.pref_button_l, l_button_text);
|
||||
}
|
||||
});
|
||||
|
||||
ImageView r_button_icon = (ImageView) getView().findViewById(
|
||||
R.id.r_button_icon);
|
||||
r_button_icon.setImageDrawable(getButtonImage(162 / sS, 64 / sS));
|
||||
r_button_text = (TextView) getView().findViewById(
|
||||
R.id.r_button_key);
|
||||
r_button_text = (TextView) getView().findViewById(R.id.r_button_key);
|
||||
Button r_button = (Button) getView().findViewById(R.id.r_button_edit);
|
||||
r_button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("r_button", r_button_text);
|
||||
mKey.intiateSearch(Gamepad.pref_button_r, r_button_text);
|
||||
}
|
||||
});
|
||||
Button r_remove = (Button) getView().findViewById(R.id.remove_r_button);
|
||||
r_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("r_button", r_button_text);
|
||||
remKeyCode(Gamepad.pref_button_r, r_button_text);
|
||||
}
|
||||
});
|
||||
|
||||
dpad_up_text = (TextView) getView().findViewById(
|
||||
R.id.dpad_up_key);
|
||||
dpad_up_text = (TextView) getView().findViewById(R.id.dpad_up_key);
|
||||
Button dpad_up = (Button) getView().findViewById(R.id.dpad_up_edit);
|
||||
dpad_up.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("dpad_up", dpad_up_text);
|
||||
mKey.intiateSearch(Gamepad.pref_dpad_up, dpad_up_text);
|
||||
}
|
||||
});
|
||||
Button up_remove = (Button) getView().findViewById(R.id.remove_dpad_up);
|
||||
up_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("dpad_up", dpad_up_text);
|
||||
remKeyCode(Gamepad.pref_dpad_up, dpad_up_text);
|
||||
}
|
||||
});
|
||||
|
||||
dpad_down_text = (TextView) getView().findViewById(
|
||||
R.id.dpad_down_key);
|
||||
dpad_down_text = (TextView) getView().findViewById(R.id.dpad_down_key);
|
||||
Button dpad_down = (Button) getView().findViewById(R.id.dpad_down_edit);
|
||||
dpad_down.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("dpad_down", dpad_down_text);
|
||||
mKey.intiateSearch(Gamepad.pref_dpad_down, dpad_down_text);
|
||||
}
|
||||
});
|
||||
Button down_remove = (Button) getView().findViewById(
|
||||
R.id.remove_dpad_down);
|
||||
down_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("dpad_down", dpad_down_text);
|
||||
remKeyCode(Gamepad.pref_dpad_down, dpad_down_text);
|
||||
}
|
||||
});
|
||||
|
||||
dpad_left_text = (TextView) getView().findViewById(
|
||||
R.id.dpad_left_key);
|
||||
dpad_left_text = (TextView) getView().findViewById(R.id.dpad_left_key);
|
||||
Button dpad_left = (Button) getView().findViewById(R.id.dpad_left_edit);
|
||||
dpad_left.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("dpad_left", dpad_left_text);
|
||||
mKey.intiateSearch(Gamepad.pref_dpad_left, dpad_left_text);
|
||||
}
|
||||
});
|
||||
Button left_remove = (Button) getView().findViewById(
|
||||
R.id.remove_dpad_left);
|
||||
left_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("dpad_left", dpad_left_text);
|
||||
remKeyCode(Gamepad.pref_dpad_left, dpad_left_text);
|
||||
}
|
||||
});
|
||||
|
||||
dpad_right_text = (TextView) getView().findViewById(
|
||||
R.id.dpad_right_key);
|
||||
dpad_right_text = (TextView) getView()
|
||||
.findViewById(R.id.dpad_right_key);
|
||||
Button dpad_right = (Button) getView().findViewById(
|
||||
R.id.dpad_right_edit);
|
||||
dpad_right.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("dpad_right", dpad_right_text);
|
||||
mKey.intiateSearch(Gamepad.pref_dpad_right, dpad_right_text);
|
||||
}
|
||||
});
|
||||
Button right_remove = (Button) getView().findViewById(
|
||||
R.id.remove_dpad_right);
|
||||
right_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("dpad_right", dpad_right_text);
|
||||
remKeyCode(Gamepad.pref_dpad_right, dpad_right_text);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -324,14 +315,14 @@ public class InputModFragment extends Fragment {
|
|||
R.id.start_button_edit);
|
||||
start_button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("start_button", start_button_text);
|
||||
mKey.intiateSearch(Gamepad.pref_button_start, start_button_text);
|
||||
}
|
||||
});
|
||||
Button start_remove = (Button) getView()
|
||||
.findViewById(R.id.remove_start);
|
||||
start_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("start_button", start_button_text);
|
||||
remKeyCode(Gamepad.pref_button_start, start_button_text);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -344,14 +335,15 @@ public class InputModFragment extends Fragment {
|
|||
R.id.select_button_edit);
|
||||
select_button.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mKey.intiateSearch("select_button", select_button_text);
|
||||
mKey.intiateSearch(Gamepad.pref_button_select,
|
||||
select_button_text);
|
||||
}
|
||||
});
|
||||
Button select_remove = (Button) getView()
|
||||
.findViewById(R.id.remove_select);
|
||||
Button select_remove = (Button) getView().findViewById(
|
||||
R.id.remove_select);
|
||||
select_remove.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
remKeyCode("select_button", select_button_text);
|
||||
remKeyCode(Gamepad.pref_button_select, select_button_text);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -379,7 +371,7 @@ public class InputModFragment extends Fragment {
|
|||
}
|
||||
|
||||
public void onNothingSelected(AdapterView<?> arg0) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
@ -389,8 +381,10 @@ public class InputModFragment extends Fragment {
|
|||
/**
|
||||
* Retrieve an image to serve as a visual representation
|
||||
*
|
||||
* @param x The x start value of the image within the atlas
|
||||
* @param y The y start value of the image within the atlas
|
||||
* @param x
|
||||
* The x start value of the image within the atlas
|
||||
* @param y
|
||||
* The y start value of the image within the atlas
|
||||
*/
|
||||
private Drawable getButtonImage(int x, int y) {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
|
||||
|
@ -512,7 +506,8 @@ public class InputModFragment extends Fragment {
|
|||
/**
|
||||
* Assign the user button to the emulator button
|
||||
*
|
||||
* @param keyCode The keycode generated by the button being assigned
|
||||
* @param keyCode
|
||||
* The keycode generated by the button being assigned
|
||||
* @param event
|
||||
* The keyevent generated by the button being assigned
|
||||
*/
|
||||
|
@ -570,26 +565,26 @@ public class InputModFragment extends Fragment {
|
|||
return dispatchTouchEvent(ev);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void updateController(String player) {
|
||||
switchJoystickDpadEnabled.setChecked(mPrefs.getBoolean(
|
||||
"separate_joystick" + player, false));
|
||||
Gamepad.pref_js_separate + player, false));
|
||||
switchModifiedLayoutEnabled.setChecked(mPrefs.getBoolean(
|
||||
"modified_key_layout" + player, false));
|
||||
Gamepad.pref_js_modified + player, false));
|
||||
switchCompatibilityEnabled.setChecked(mPrefs.getBoolean(
|
||||
"controller_compat" + player, false));
|
||||
getKeyCode("a_button", a_button_text);
|
||||
getKeyCode("b_button", b_button_text);
|
||||
getKeyCode("x_button", x_button_text);
|
||||
getKeyCode("y_button", y_button_text);
|
||||
getKeyCode("l_button", l_button_text);
|
||||
getKeyCode("r_button", r_button_text);
|
||||
getKeyCode("dpad_up", dpad_up_text);
|
||||
getKeyCode("dpad_down", dpad_down_text);
|
||||
getKeyCode("dpad_left", dpad_left_text);
|
||||
getKeyCode("dpad_right", dpad_right_text);
|
||||
getKeyCode("start_button", start_button_text);
|
||||
getKeyCode("select_button", select_button_text);
|
||||
Gamepad.pref_js_compat + player, false));
|
||||
getKeyCode(Gamepad.pref_button_a, a_button_text);
|
||||
getKeyCode(Gamepad.pref_button_b, b_button_text);
|
||||
getKeyCode(Gamepad.pref_button_x, x_button_text);
|
||||
getKeyCode(Gamepad.pref_button_y, y_button_text);
|
||||
getKeyCode(Gamepad.pref_button_l, l_button_text);
|
||||
getKeyCode(Gamepad.pref_button_r, r_button_text);
|
||||
getKeyCode(Gamepad.pref_dpad_up, dpad_up_text);
|
||||
getKeyCode(Gamepad.pref_dpad_down, dpad_down_text);
|
||||
getKeyCode(Gamepad.pref_dpad_left, dpad_left_text);
|
||||
getKeyCode(Gamepad.pref_dpad_right, dpad_right_text);
|
||||
getKeyCode(Gamepad.pref_button_start, start_button_text);
|
||||
getKeyCode(Gamepad.pref_button_select, select_button_text);
|
||||
}
|
||||
|
||||
private boolean getKeyCode(final String button, final TextView output) {
|
||||
|
|
|
@ -64,6 +64,7 @@ import android.app.Activity;
|
|||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.os.Build;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -85,11 +86,12 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
|||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
||||
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
||||
import com.reicast.emulator.MainActivity;
|
||||
import com.reicast.emulator.R;
|
||||
|
||||
public class GitAdapter extends BaseAdapter {
|
||||
|
||||
private Activity activity;
|
||||
private static Activity activity;
|
||||
private ArrayList<HashMap<String, String>> data;
|
||||
private LayoutInflater inflater = null;
|
||||
private DisplayImageOptions options;
|
||||
|
@ -168,7 +170,15 @@ public class GitAdapter extends BaseAdapter {
|
|||
return vi;
|
||||
}
|
||||
|
||||
public static void displayCommit(String title, String message, String url,
|
||||
private static void callGithubVerification(String sha) {
|
||||
String hash = sha.substring(0, 7);
|
||||
Intent github = new Intent("com.reicast.emulator.debug.GitHash");
|
||||
github.setAction("reicast.emulator.GITHUB");
|
||||
github.putExtra("hashtag", hash);
|
||||
activity.startActivity(github);
|
||||
}
|
||||
|
||||
public static void displayCommit(final String title, String message, String url,
|
||||
Context context) {
|
||||
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||
builder.setCancelable(true);
|
||||
|
@ -186,6 +196,16 @@ public class GitAdapter extends BaseAdapter {
|
|||
return;
|
||||
}
|
||||
});
|
||||
if (MainActivity.debugUser) {
|
||||
builder.setNegativeButton("Download",
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
callGithubVerification(title);
|
||||
dialog.dismiss();
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
builder.create().show();
|
||||
}
|
||||
|
||||
|
|
|
@ -146,9 +146,9 @@ public class GL2JNIView extends GLSurfaceView
|
|||
|
||||
ethd = new EmuThread(!Config.nosound);
|
||||
|
||||
touchVibrationEnabled = prefs.getBoolean("touch_vibration_enabled", true);
|
||||
touchVibrationEnabled = prefs.getBoolean(Config.pref_touchvibe, true);
|
||||
|
||||
int renderType = prefs.getInt("render_type", LAYER_TYPE_HARDWARE);
|
||||
int renderType = prefs.getInt(Config.pref_renderdepth, LAYER_TYPE_HARDWARE);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
this.setLayerType(renderType, null);
|
||||
} else {
|
||||
|
@ -189,7 +189,7 @@ public class GL2JNIView extends GLSurfaceView
|
|||
// is interpreted as any 32-bit surface with alpha by SurfaceFlinger.
|
||||
if(translucent) this.getHolder().setFormat(PixelFormat.TRANSLUCENT);
|
||||
|
||||
if (prefs.getBoolean("force_gpu", false)) {
|
||||
if (prefs.getBoolean(Config.pref_forcegpu, false)) {
|
||||
setEGLContextFactory(new GLCFactory6.ContextFactory());
|
||||
setEGLConfigChooser(
|
||||
translucent?
|
||||
|
|
|
@ -24,6 +24,7 @@ import com.reicast.emulator.GL2JNINative;
|
|||
import com.reicast.emulator.MainActivity;
|
||||
import com.reicast.emulator.R;
|
||||
import com.reicast.emulator.config.Config;
|
||||
import com.reicast.emulator.periph.Gamepad;
|
||||
import com.reicast.emulator.periph.VmuLcd;
|
||||
|
||||
public class OnScreenMenu {
|
||||
|
@ -57,7 +58,7 @@ public class OnScreenMenu {
|
|||
popups = new Vector<PopupWindow>();
|
||||
if (prefs != null) {
|
||||
this.prefs = prefs;
|
||||
home_directory = prefs.getString("home_directory", home_directory);
|
||||
home_directory = prefs.getString(Config.pref_home, home_directory);
|
||||
masteraudio = !Config.nosound;
|
||||
audio = masteraudio;
|
||||
}
|
||||
|
@ -345,15 +346,15 @@ public class OnScreenMenu {
|
|||
((GL2JNINative) mContext).mView.fastForward(false);
|
||||
}
|
||||
if (mContext instanceof GL2JNIActivity) {
|
||||
((GL2JNIActivity) mContext).mView.fastForward(false);
|
||||
((GL2JNIActivity) mContext).mView
|
||||
.fastForward(false);
|
||||
}
|
||||
boosted = false;
|
||||
((ImageButton) fastforward)
|
||||
.setImageResource(R.drawable.star);
|
||||
} else {
|
||||
if (mContext instanceof GL2JNINative) {
|
||||
((GL2JNINative) mContext).mView
|
||||
.audioDisable(true);
|
||||
((GL2JNINative) mContext).mView.audioDisable(true);
|
||||
}
|
||||
if (mContext instanceof GL2JNIActivity) {
|
||||
((GL2JNIActivity) mContext).mView
|
||||
|
@ -376,11 +377,10 @@ public class OnScreenMenu {
|
|||
((ImageButton) fastforward)
|
||||
.setImageResource(R.drawable.reset);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
if (boosted) {
|
||||
((ImageButton) fastforward)
|
||||
.setImageResource(R.drawable.reset);
|
||||
((ImageButton) fastforward).setImageResource(R.drawable.reset);
|
||||
}
|
||||
hlay.addView(fastforward, params);
|
||||
menuItems.add(fastforward);
|
||||
|
@ -520,21 +520,24 @@ public class OnScreenMenu {
|
|||
rsticksetting = addbut(R.drawable.toggle_a_b,
|
||||
new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
if (prefs.getBoolean("right_buttons", true)) {
|
||||
prefs.edit().putBoolean("right_buttons", false)
|
||||
.commit();
|
||||
if (prefs
|
||||
.getBoolean(Gamepad.pref_js_rbuttons, true)) {
|
||||
prefs.edit()
|
||||
.putBoolean(Gamepad.pref_js_rbuttons,
|
||||
false).commit();
|
||||
((ImageButton) rsticksetting)
|
||||
.setImageResource(R.drawable.toggle_a_b);
|
||||
} else {
|
||||
prefs.edit().putBoolean("right_buttons", true)
|
||||
.commit();
|
||||
prefs.edit()
|
||||
.putBoolean(Gamepad.pref_js_rbuttons,
|
||||
true).commit();
|
||||
((ImageButton) rsticksetting)
|
||||
.setImageResource(R.drawable.toggle_r_l);
|
||||
}
|
||||
dismiss();
|
||||
}
|
||||
});
|
||||
if (prefs.getBoolean("right_buttons", true)) {
|
||||
if (prefs.getBoolean(Gamepad.pref_js_rbuttons, true)) {
|
||||
((ImageButton) rsticksetting)
|
||||
.setImageResource(R.drawable.toggle_r_l);
|
||||
}
|
||||
|
@ -558,16 +561,18 @@ public class OnScreenMenu {
|
|||
|
||||
hlay.addView(addbut(R.drawable.print_stats, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
//screenshot
|
||||
// screenshot
|
||||
if (mContext instanceof GL2JNINative) {
|
||||
((GL2JNINative) OnScreenMenu.this.mContext).screenGrab();
|
||||
((GL2JNINative) OnScreenMenu.this.mContext)
|
||||
.screenGrab();
|
||||
}
|
||||
if (mContext instanceof GL2JNIActivity) {
|
||||
((GL2JNIActivity) OnScreenMenu.this.mContext).screenGrab();
|
||||
((GL2JNIActivity) OnScreenMenu.this.mContext)
|
||||
.screenGrab();
|
||||
}
|
||||
}
|
||||
}), params);
|
||||
|
||||
|
||||
hlay.addView(addbut(R.drawable.close, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
Intent inte = new Intent(mContext, MainActivity.class);
|
||||
|
|
|
@ -15,6 +15,39 @@ import android.view.KeyEvent;
|
|||
|
||||
public class Gamepad {
|
||||
|
||||
public static final String pref_player1 = "device_descriptor_player_1";
|
||||
public static final String pref_player2 = "device_descriptor_player_2";
|
||||
public static final String pref_player3 = "device_descriptor_player_3";
|
||||
public static final String pref_player4 = "device_descriptor_player_4";
|
||||
public static final String pref_pad = "controller";
|
||||
|
||||
public static final String pref_js_modified = "modified_key_layout";
|
||||
public static final String pref_js_compat = "controller_compat";
|
||||
public static final String pref_js_separate = "separate_joystick";
|
||||
public static final String pref_js_rbuttons = "right_buttons";
|
||||
|
||||
public static final String pref_button_a = "a_button";
|
||||
public static final String pref_button_b = "b_button";
|
||||
public static final String pref_button_x = "x_button";
|
||||
public static final String pref_button_y = "y_button";
|
||||
|
||||
public static final String pref_button_l = "l_button";
|
||||
public static final String pref_button_r = "r_button";
|
||||
|
||||
public static final String pref_dpad_up = "dpad_up";
|
||||
public static final String pref_dpad_down = "dpad_down";
|
||||
public static final String pref_dpad_left = "dpad_left";
|
||||
public static final String pref_dpad_right = "dpad_right";
|
||||
|
||||
public static final String pref_button_start = "start_button";
|
||||
public static final String pref_button_select = "select_button";
|
||||
|
||||
public static final String controllers_sony = "Sony PLAYSTATION(R)3 Controller";
|
||||
public static final String controllers_xbox = "Microsoft X-Box 360 pad";
|
||||
public static final String controllers_shield = "NVIDIA Corporation NVIDIA Controller";
|
||||
public static final String controllers_play = "keypad-zeus";
|
||||
public static final String controllers_play_gp = "keypad-game-zeus";
|
||||
|
||||
public String[] portId = { "_A", "_B", "_C", "_D" };
|
||||
public boolean[] compat = { false, false, false, false };
|
||||
public boolean[] custom = { false, false, false, false };
|
||||
|
@ -122,18 +155,18 @@ public class Gamepad {
|
|||
|
||||
public int[] setModifiedKeys(String id, int playerNum, SharedPreferences mPrefs) {
|
||||
return new int[] {
|
||||
mPrefs.getInt("a_button" + id, OuyaController.BUTTON_O), key_CONT_A,
|
||||
mPrefs.getInt("b_button" + id, OuyaController.BUTTON_A), key_CONT_B,
|
||||
mPrefs.getInt("x_button" + id, OuyaController.BUTTON_U), key_CONT_X,
|
||||
mPrefs.getInt("y_button" + id, OuyaController.BUTTON_Y), key_CONT_Y,
|
||||
mPrefs.getInt(pref_button_a + id, OuyaController.BUTTON_O), key_CONT_A,
|
||||
mPrefs.getInt(pref_button_b + id, OuyaController.BUTTON_A), key_CONT_B,
|
||||
mPrefs.getInt(pref_button_x + id, OuyaController.BUTTON_U), key_CONT_X,
|
||||
mPrefs.getInt(pref_button_y + id, OuyaController.BUTTON_Y), key_CONT_Y,
|
||||
|
||||
mPrefs.getInt("dpad_up" + id, OuyaController.BUTTON_DPAD_UP), key_CONT_DPAD_UP,
|
||||
mPrefs.getInt("dpad_down" + id, OuyaController.BUTTON_DPAD_DOWN), key_CONT_DPAD_DOWN,
|
||||
mPrefs.getInt("dpad_left" + id, OuyaController.BUTTON_DPAD_LEFT), key_CONT_DPAD_LEFT,
|
||||
mPrefs.getInt("dpad_right" + id, OuyaController.BUTTON_DPAD_RIGHT), key_CONT_DPAD_RIGHT,
|
||||
mPrefs.getInt(pref_dpad_up + id, OuyaController.BUTTON_DPAD_UP), key_CONT_DPAD_UP,
|
||||
mPrefs.getInt(pref_dpad_down + id, OuyaController.BUTTON_DPAD_DOWN), key_CONT_DPAD_DOWN,
|
||||
mPrefs.getInt(pref_dpad_left + id, OuyaController.BUTTON_DPAD_LEFT), key_CONT_DPAD_LEFT,
|
||||
mPrefs.getInt(pref_dpad_right + id, OuyaController.BUTTON_DPAD_RIGHT), key_CONT_DPAD_RIGHT,
|
||||
|
||||
mPrefs.getInt("start_button" + id, getStartButtonCode()), key_CONT_START,
|
||||
mPrefs.getInt("select_button" + id, getSelectButtonCode()), getSelectButtonCode()
|
||||
mPrefs.getInt(pref_button_start + id, getStartButtonCode()), key_CONT_START,
|
||||
mPrefs.getInt(pref_button_select + id, getSelectButtonCode()), getSelectButtonCode()
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
|
@ -8,10 +8,12 @@
|
|||
android:minSdkVersion="8"
|
||||
android:targetSdkVersion="18" />
|
||||
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.READ_LOGS" />
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
|
||||
<permission
|
||||
android:name="com.reicast.emulator.debug.permission.C2D_MESSAGE"
|
||||
|
@ -32,6 +34,15 @@
|
|||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name=".GitHash"
|
||||
android:excludeFromRecents="true"
|
||||
android:theme="@style/Theme.PanelTheme" >
|
||||
<intent-filter>
|
||||
<action android:name="reicast.emulator.GITHUB" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<receiver
|
||||
android:name=".GcmBroadcastReceiver"
|
||||
android:permission="com.google.android.c2dm.permission.SEND" >
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="gen"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>google-services</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,4 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.google.android.gms"
|
||||
android:versionCode="3136110"
|
||||
android:versionName="3.1.36 (673201-10)" >
|
||||
|
||||
<uses-sdk android:minSdkVersion="8"/>
|
||||
|
||||
</manifest>
|
|
@ -0,0 +1,14 @@
|
|||
Library Project including Google Play services client jar.
|
||||
|
||||
This can be used by an Android project to use the API's provided
|
||||
by Google Play services.
|
||||
|
||||
There is technically no source, but the src folder is necessary
|
||||
to ensure that the build system works. The content is actually
|
||||
located in the libs/ directory.
|
||||
|
||||
|
||||
USAGE:
|
||||
|
||||
Make sure you import this Android library project into your IDE
|
||||
and set this project as a dependency.
|
|
@ -0,0 +1,83 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="google-services" default="help">
|
||||
|
||||
<!-- The local.properties file is created and updated by the 'android' tool.
|
||||
It contains the path to the SDK. It should *NOT* be checked into
|
||||
Version Control Systems. -->
|
||||
<property file="local.properties" />
|
||||
|
||||
<!-- The ant.properties file can be created by you. It is only edited by the
|
||||
'android' tool to add properties to it.
|
||||
This is the place to change some Ant specific build properties.
|
||||
Here are some properties you may want to change/update:
|
||||
|
||||
source.dir
|
||||
The name of the source directory. Default is 'src'.
|
||||
out.dir
|
||||
The name of the output directory. Default is 'bin'.
|
||||
|
||||
For other overridable properties, look at the beginning of the rules
|
||||
files in the SDK, at tools/ant/build.xml
|
||||
|
||||
Properties related to the SDK location or the project target should
|
||||
be updated using the 'android' tool with the 'update' action.
|
||||
|
||||
This file is an integral part of the build system for your
|
||||
application and should be checked into Version Control Systems.
|
||||
|
||||
-->
|
||||
<property file="ant.properties" />
|
||||
|
||||
<!-- The project.properties file is created and updated by the 'android'
|
||||
tool, as well as ADT.
|
||||
|
||||
This contains project specific properties such as project target, and library
|
||||
dependencies. Lower level build properties are stored in ant.properties
|
||||
(or in .classpath for Eclipse projects).
|
||||
|
||||
This file is an integral part of the build system for your
|
||||
application and should be checked into Version Control Systems. -->
|
||||
<loadproperties srcFile="project.properties" />
|
||||
|
||||
<!-- quick check on sdk.dir -->
|
||||
<fail
|
||||
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
|
||||
unless="sdk.dir"
|
||||
/>
|
||||
|
||||
<!--
|
||||
Import per project custom build rules if present at the root of the project.
|
||||
This is the place to put custom intermediary targets such as:
|
||||
-pre-build
|
||||
-pre-compile
|
||||
-post-compile (This is typically used for code obfuscation.
|
||||
Compiled code location: ${out.classes.absolute.dir}
|
||||
If this is not done in place, override ${out.dex.input.absolute.dir})
|
||||
-post-package
|
||||
-post-build
|
||||
-pre-clean
|
||||
-->
|
||||
<import file="custom_rules.xml" optional="true" />
|
||||
|
||||
<!-- Import the actual build file.
|
||||
|
||||
To customize existing targets, there are two options:
|
||||
- Customize only one target:
|
||||
- copy/paste the target into this file, *before* the
|
||||
<import> task.
|
||||
- customize it to your needs.
|
||||
- Customize the whole content of build.xml
|
||||
- copy/paste the content of the rules files (minus the top node)
|
||||
into this file, replacing the <import> task.
|
||||
- customize to your needs.
|
||||
|
||||
***********************
|
||||
****** IMPORTANT ******
|
||||
***********************
|
||||
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
|
||||
in order to avoid having your file be overridden by tools such as "android update project"
|
||||
-->
|
||||
<!-- version-tag: 1 -->
|
||||
<import file="${sdk.dir}/tools/ant/build.xml" />
|
||||
|
||||
</project>
|
|
@ -0,0 +1 @@
|
|||
doc=../../../docs/reference
|
|
@ -0,0 +1,15 @@
|
|||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system edit
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
#
|
||||
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
|
||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||
|
||||
# Project target.
|
||||
target=android-9
|
||||
android.library=true
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:state_pressed="true"
|
||||
android:color="@color/common_signin_btn_dark_text_pressed" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:state_focused="true"
|
||||
android:color="@color/common_signin_btn_dark_text_disabled" />
|
||||
<item
|
||||
android:state_focused="true"
|
||||
android:color="@color/common_signin_btn_dark_text_focused" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:color="@color/common_signin_btn_dark_text_disabled" />
|
||||
<item
|
||||
android:color="@color/common_signin_btn_dark_text_default" />
|
||||
</selector>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:state_pressed="true"
|
||||
android:color="@color/common_signin_btn_light_text_pressed" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:state_focused="true"
|
||||
android:color="@color/common_signin_btn_light_text_disabled" />
|
||||
<item
|
||||
android:state_focused="true"
|
||||
android:color="@color/common_signin_btn_light_text_focused" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:color="@color/common_signin_btn_light_text_disabled" />
|
||||
<item
|
||||
android:color="@color/common_signin_btn_light_text_default" />
|
||||
</selector>
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.3 KiB |
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:state_pressed="true"
|
||||
android:drawable="@drawable/common_signin_btn_icon_pressed_dark" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/common_signin_btn_icon_disabled_focus_dark" />
|
||||
<item
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/common_signin_btn_icon_focus_dark" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:drawable="@drawable/common_signin_btn_icon_disabled_dark" />
|
||||
<item
|
||||
android:drawable="@drawable/common_signin_btn_icon_normal_dark" />
|
||||
</selector>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:state_pressed="true"
|
||||
android:drawable="@drawable/common_signin_btn_icon_pressed_light" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/common_signin_btn_icon_disabled_focus_light" />
|
||||
<item
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/common_signin_btn_icon_focus_light" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:drawable="@drawable/common_signin_btn_icon_disabled_light" />
|
||||
<item
|
||||
android:drawable="@drawable/common_signin_btn_icon_normal_light" />
|
||||
</selector>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:state_pressed="true"
|
||||
android:drawable="@drawable/common_signin_btn_text_pressed_dark" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/common_signin_btn_text_disabled_focus_dark" />
|
||||
<item
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/common_signin_btn_text_focus_dark" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:drawable="@drawable/common_signin_btn_text_disabled_dark" />
|
||||
<item
|
||||
android:drawable="@drawable/common_signin_btn_text_normal_dark" />
|
||||
</selector>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:state_pressed="true"
|
||||
android:drawable="@drawable/common_signin_btn_text_pressed_light" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/common_signin_btn_text_disabled_focus_light" />
|
||||
<item
|
||||
android:state_focused="true"
|
||||
android:drawable="@drawable/common_signin_btn_text_focus_light" />
|
||||
<item
|
||||
android:state_enabled="false"
|
||||
android:drawable="@drawable/common_signin_btn_text_disabled_light" />
|
||||
<item
|
||||
android:drawable="@drawable/common_signin_btn_text_normal_light" />
|
||||
</selector>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="common_google_play_services_install_title" msgid="26645092511305524">"Kry Google Play-dienste"</string>
|
||||
<string name="common_google_play_services_install_text_phone" msgid="8685301130651051380">"Hierdie program sal nie loop sonder Google Play-dienste nie, wat nie op jou foon is nie."</string>
|
||||
<string name="common_google_play_services_install_text_tablet" msgid="1589957570365247855">"Hierdie program sal nie loop sonder Google Play-dienste nie, wat nie op jou tablet is nie."</string>
|
||||
<string name="common_google_play_services_install_button" msgid="8515591849428043265">"Kry Google Play-dienste"</string>
|
||||
<string name="common_google_play_services_enable_title" msgid="529078775174559253">"Aktiveer Google Play-dienste"</string>
|
||||
<string name="common_google_play_services_enable_text" msgid="7627896071867667758">"Hierdie program sal nie werk tensy jy Google Play-dienste aktiveer nie."</string>
|
||||
<string name="common_google_play_services_enable_button" msgid="4181637455539816337">"Aktiveer Google Play-dienste"</string>
|
||||
<string name="common_google_play_services_update_title" msgid="6006316683626838685">"Dateer Google Play-dienste op"</string>
|
||||
<string name="common_google_play_services_update_text" msgid="448354684997260580">"Hierdie program sal nie loop nie, tensy jy Google Play-dienste opdateer."</string>
|
||||
<string name="common_google_play_services_unknown_issue" msgid="4762332809710093730">"Onbekende probleem met Google Play-dienste."</string>
|
||||
<string name="common_google_play_services_unsupported_title" msgid="6334768798839376943">"Google Play-dienste"</string>
|
||||
<string name="common_google_play_services_unsupported_text" msgid="3542578567569488671">"Google Play-dienste, waarop sommige van jou programme staatmaak, werk nie met jou toestel nie. Kontak asseblief die vervaardiger vir bystand."</string>
|
||||
<string name="common_google_play_services_update_button" msgid="8932944190611227642">"Dateer op"</string>
|
||||
<string name="common_signin_button_text" msgid="9071884888741449141">"Meld aan"</string>
|
||||
<string name="common_signin_button_text_long" msgid="2429381841831957106">"Meld aan met Google"</string>
|
||||
</resources>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="common_google_play_services_install_title" msgid="26645092511305524">"Google Play አገልግሎቶችን አግኝ"</string>
|
||||
<string name="common_google_play_services_install_text_phone" msgid="8685301130651051380">"ይህ መተግበሪያ ያለ Google Play አገልግሎቶች አይሰራም፣ እነሱ ደግሞ ስልክዎ ላይ የሉም።"</string>
|
||||
<string name="common_google_play_services_install_text_tablet" msgid="1589957570365247855">"ይህ መተግበሪያ ያለ Google Play አገልግሎቶች አይሰራም፣ እነሱ ደግሞ ጡባዊዎ ላይ የሉም።"</string>
|
||||
<string name="common_google_play_services_install_button" msgid="8515591849428043265">"Google Play አገልግሎቶችን አግኝ"</string>
|
||||
<string name="common_google_play_services_enable_title" msgid="529078775174559253">"Google Play አገልግሎቶችን አንቃ"</string>
|
||||
<string name="common_google_play_services_enable_text" msgid="7627896071867667758">"Google Play አገልግሎቶችን እስካላነቁ ድረስ ይህ መተግበሪያ አይሰራም።"</string>
|
||||
<string name="common_google_play_services_enable_button" msgid="4181637455539816337">"Google Play አገልግሎቶችን አንቃ"</string>
|
||||
<string name="common_google_play_services_update_title" msgid="6006316683626838685">"Google Play አገልግሎቶችን ያዘምኑ"</string>
|
||||
<string name="common_google_play_services_update_text" msgid="448354684997260580">"Google Play አገልግሎቶችን እስኪያዘምኑ ድረስ ይህ መተግበሪያ አይሰራም።"</string>
|
||||
<string name="common_google_play_services_unknown_issue" msgid="4762332809710093730">"በGoogle Play አገልግሎቶች ላይ ያልታወቀ ችግር።"</string>
|
||||
<string name="common_google_play_services_unsupported_title" msgid="6334768798839376943">"Google Play አገልግሎቶች"</string>
|
||||
<string name="common_google_play_services_unsupported_text" msgid="3542578567569488671">"የGoogle Play አገልግሎቶች፣ አንዳንድ መተግበሪያዎችዎ በእሱ ላይ ጥገኛ የሆኑት፣ በመሣሪያዎ አይደገፍም። እባክዎ ለእርዳታ አምራቹን ያግኙ።"</string>
|
||||
<string name="common_google_play_services_update_button" msgid="8932944190611227642">"ያዘምኑ"</string>
|
||||
<string name="common_signin_button_text" msgid="9071884888741449141">"ግባ"</string>
|
||||
<string name="common_signin_button_text_long" msgid="2429381841831957106">"በGoogle ይግቡ"</string>
|
||||
</resources>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="common_google_play_services_install_title" msgid="26645092511305524">"الحصول على خدمات Google Play"</string>
|
||||
<string name="common_google_play_services_install_text_phone" msgid="8685301130651051380">"لن يتم تشغيل هذا التطبيق بدون خدمات Google Play، والتي لا تتوفر في هاتفك."</string>
|
||||
<string name="common_google_play_services_install_text_tablet" msgid="1589957570365247855">"لن يتم تشغيل هذا التطبيق بدون خدمات Google Play، والتي لا تتوفر في جهازك اللوحي."</string>
|
||||
<string name="common_google_play_services_install_button" msgid="8515591849428043265">"الحصول على خدمات Google Play"</string>
|
||||
<string name="common_google_play_services_enable_title" msgid="529078775174559253">"تمكين خدمات Google Play"</string>
|
||||
<string name="common_google_play_services_enable_text" msgid="7627896071867667758">"لن يعمل هذا التطبيق ما لم يتم تمكين خدمات Google Play."</string>
|
||||
<string name="common_google_play_services_enable_button" msgid="4181637455539816337">"تمكين خدمات Google Play"</string>
|
||||
<string name="common_google_play_services_update_title" msgid="6006316683626838685">"تحديث خدمات Google Play"</string>
|
||||
<string name="common_google_play_services_update_text" msgid="448354684997260580">"لن يتم تشغيل هذا التطبيق ما لم تحدِّث خدمات Google Play."</string>
|
||||
<string name="common_google_play_services_unknown_issue" msgid="4762332809710093730">"حدثت مشكلة غير معروفة في خدمات Google Play."</string>
|
||||
<string name="common_google_play_services_unsupported_title" msgid="6334768798839376943">"خدمات Google Play"</string>
|
||||
<string name="common_google_play_services_unsupported_text" msgid="3542578567569488671">"خدمات Google Play التي تستجيب لها بعض تطبيقاتك لا تعمل على جهازك. يُرجى الاتصال بجهة التصنيع للحصول على المساعدة."</string>
|
||||
<string name="common_google_play_services_update_button" msgid="8932944190611227642">"تحديث"</string>
|
||||
<string name="common_signin_button_text" msgid="9071884888741449141">"تسجيل الدخول"</string>
|
||||
<string name="common_signin_button_text_long" msgid="2429381841831957106">"تسجيل الدخول باستخدام Google"</string>
|
||||
</resources>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="common_google_play_services_install_title" msgid="26645092511305524">"Атрымаць службы Google Play"</string>
|
||||
<string name="common_google_play_services_install_text_phone" msgid="8685301130651051380">"Гэта прыкладанне не будзе працаваць без службаў Google Play, якіх няма ў вашым тэлефоне."</string>
|
||||
<string name="common_google_play_services_install_text_tablet" msgid="1589957570365247855">"Гэта прыкладанне не будзе працаваць без службаў Google Play, якіх няма на вашым планшэце."</string>
|
||||
<string name="common_google_play_services_install_button" msgid="8515591849428043265">"Атрымаць службы Google Play"</string>
|
||||
<string name="common_google_play_services_enable_title" msgid="529078775174559253">"Уключыць службы Google Play"</string>
|
||||
<string name="common_google_play_services_enable_text" msgid="7627896071867667758">"Гэта прыкладанне не будзе працаваць, пакуль вы не ўключыце службы Google Play."</string>
|
||||
<string name="common_google_play_services_enable_button" msgid="4181637455539816337">"Уключыць службы Google Play"</string>
|
||||
<string name="common_google_play_services_update_title" msgid="6006316683626838685">"Абнаўленне службаў Google Play"</string>
|
||||
<string name="common_google_play_services_update_text" msgid="448354684997260580">"Гэта прыкладанне не будзе працаваць падчас абнаўлення службаў Google Play."</string>
|
||||
<string name="common_google_play_services_unknown_issue" msgid="4762332809710093730">"Невядомая праблема са службамі Google Play."</string>
|
||||
<string name="common_google_play_services_unsupported_title" msgid="6334768798839376943">"Службы Google Play"</string>
|
||||
<string name="common_google_play_services_unsupported_text" msgid="3542578567569488671">"Службы Google Play, да якiх прывязаны некаторыя прыкладаннi, не падтрымлiваюцца на вашай прыладзе. Па дапамогу звярнiцеся да вытворцы."</string>
|
||||
<string name="common_google_play_services_update_button" msgid="8932944190611227642">"Абнавіць"</string>
|
||||
<string name="common_signin_button_text" msgid="9071884888741449141">"Увайсцi"</string>
|
||||
<string name="common_signin_button_text_long" msgid="2429381841831957106">"Увайсці ў Google"</string>
|
||||
</resources>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="common_google_play_services_install_title" msgid="26645092511305524">"Изтегляне на услугите за Google Play"</string>
|
||||
<string name="common_google_play_services_install_text_phone" msgid="8685301130651051380">"Това приложение няма да се изпълнява без услугите за Google Play, които липсват в телефона ви."</string>
|
||||
<string name="common_google_play_services_install_text_tablet" msgid="1589957570365247855">"Това приложение няма да се изпълнява без услугите за Google Play, които липсват в таблета ви."</string>
|
||||
<string name="common_google_play_services_install_button" msgid="8515591849428043265">"Услуги за Google Play: Изтегл."</string>
|
||||
<string name="common_google_play_services_enable_title" msgid="529078775174559253">"Активиране на услугите за Google Play"</string>
|
||||
<string name="common_google_play_services_enable_text" msgid="7627896071867667758">"Това приложение няма да работи, освен ако не активирате услугите за Google Play."</string>
|
||||
<string name="common_google_play_services_enable_button" msgid="4181637455539816337">"Услуги за Google Play: Актив."</string>
|
||||
<string name="common_google_play_services_update_title" msgid="6006316683626838685">"Актуализиране на услугите за Google Play"</string>
|
||||
<string name="common_google_play_services_update_text" msgid="448354684997260580">"Това приложение няма да се изпълнява, освен ако не актуализирате услугите за Google Play."</string>
|
||||
<string name="common_google_play_services_unknown_issue" msgid="4762332809710093730">"Неизвестен проблем с услугите за Google Play."</string>
|
||||
<string name="common_google_play_services_unsupported_title" msgid="6334768798839376943">"Услуги за Google Play"</string>
|
||||
<string name="common_google_play_services_unsupported_text" msgid="3542578567569488671">"Услугите за Google Play, на които разчитат някои от приложенията ви, не се поддържат от устройството ви. Моля, свържете се с производителя за помощ."</string>
|
||||
<string name="common_google_play_services_update_button" msgid="8932944190611227642">"Актуализиране"</string>
|
||||
<string name="common_signin_button_text" msgid="9071884888741449141">"Вход"</string>
|
||||
<string name="common_signin_button_text_long" msgid="2429381841831957106">"Вход с Google"</string>
|
||||
</resources>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="common_google_play_services_install_title" msgid="26645092511305524">"Baixa els serveis de Google Play"</string>
|
||||
<string name="common_google_play_services_install_text_phone" msgid="8685301130651051380">"Aquesta aplicació no s\'executarà si el telèfon no té instal·lats els serveis de Google Play."</string>
|
||||
<string name="common_google_play_services_install_text_tablet" msgid="1589957570365247855">"Aquesta aplicació no funcionarà si la tauleta no té instal·lats els serveis de Google Play."</string>
|
||||
<string name="common_google_play_services_install_button" msgid="8515591849428043265">"Baixa els serveis de Google Play"</string>
|
||||
<string name="common_google_play_services_enable_title" msgid="529078775174559253">"Activa els serveis de Google Play"</string>
|
||||
<string name="common_google_play_services_enable_text" msgid="7627896071867667758">"Aquesta aplicació no funcionarà si no actives els serveis de Google Play."</string>
|
||||
<string name="common_google_play_services_enable_button" msgid="4181637455539816337">"Activa els serveis de Google Play"</string>
|
||||
<string name="common_google_play_services_update_title" msgid="6006316683626838685">"Actualitza els serveis de Google Play"</string>
|
||||
<string name="common_google_play_services_update_text" msgid="448354684997260580">"Aquesta aplicació no s\'executarà si no actualitzes els serveis de Google Play."</string>
|
||||
<string name="common_google_play_services_unknown_issue" msgid="4762332809710093730">"Error desconegut relacionat amb els serveis de Google Play."</string>
|
||||
<string name="common_google_play_services_unsupported_title" msgid="6334768798839376943">"Serveis de Google Play"</string>
|
||||
<string name="common_google_play_services_unsupported_text" msgid="3542578567569488671">"El teu dispositiu no és compatible amb els serveis de Google Play, en què es basen les teves aplicacions. Per obtenir assistència, contacta amb el fabricant."</string>
|
||||
<string name="common_google_play_services_update_button" msgid="8932944190611227642">"Actualitza"</string>
|
||||
<string name="common_signin_button_text" msgid="9071884888741449141">"Inicia sessió"</string>
|
||||
<string name="common_signin_button_text_long" msgid="2429381841831957106">"Inicia sessió amb Google"</string>
|
||||
</resources>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="common_google_play_services_install_title" msgid="26645092511305524">"Instalovat služby Google Play"</string>
|
||||
<string name="common_google_play_services_install_text_phone" msgid="8685301130651051380">"Ke spuštění této aplikace jsou potřeba služby Google Play, které v telefonu nemáte."</string>
|
||||
<string name="common_google_play_services_install_text_tablet" msgid="1589957570365247855">"Ke spuštění této aplikace jsou potřeba služby Google Play, které v tabletu nemáte."</string>
|
||||
<string name="common_google_play_services_install_button" msgid="8515591849428043265">"Instalovat služby Google Play"</string>
|
||||
<string name="common_google_play_services_enable_title" msgid="529078775174559253">"Aktivovat služby Google Play"</string>
|
||||
<string name="common_google_play_services_enable_text" msgid="7627896071867667758">"Ke spuštění této aplikace je třeba aktivovat služby Google Play."</string>
|
||||
<string name="common_google_play_services_enable_button" msgid="4181637455539816337">"Aktivovat služby Google Play"</string>
|
||||
<string name="common_google_play_services_update_title" msgid="6006316683626838685">"Aktualizace služeb Google Play"</string>
|
||||
<string name="common_google_play_services_update_text" msgid="448354684997260580">"Ke spuštění této aplikace je třeba aktualizovat služby Google Play."</string>
|
||||
<string name="common_google_play_services_unknown_issue" msgid="4762332809710093730">"Nastal neznámý problém se službami Google Play."</string>
|
||||
<string name="common_google_play_services_unsupported_title" msgid="6334768798839376943">"Služby Google Play"</string>
|
||||
<string name="common_google_play_services_unsupported_text" msgid="3542578567569488671">"Některé vaše aplikace vyžadují služby Google Play, které ve vašem zařízení nejsou podporovány. S žádostí o pomoc se prosím obraťte na výrobce."</string>
|
||||
<string name="common_google_play_services_update_button" msgid="8932944190611227642">"Aktualizovat"</string>
|
||||
<string name="common_signin_button_text" msgid="9071884888741449141">"Přihlásit se"</string>
|
||||
<string name="common_signin_button_text_long" msgid="2429381841831957106">"Přihlásit se účtem Google"</string>
|
||||
</resources>
|