diff --git a/shell/android/res/layout/input_mod_fragment.xml b/shell/android/res/layout/input_mod_fragment.xml
index 780a600da..d4f417dcf 100644
--- a/shell/android/res/layout/input_mod_fragment.xml
+++ b/shell/android/res/layout/input_mod_fragment.xml
@@ -54,6 +54,32 @@
android:layout_height="wrap_content" />
+
+
+
+
+
+
+
+
+
+
Press any button on the controller %1$s to assign to port
This controller is already in use!
Enable Custom Key Layout
+ Enable Compatibility Mode
Custom Button Layout
Modify Controller
diff --git a/shell/android/src/com/reicast/emulator/GL2JNIActivity.java b/shell/android/src/com/reicast/emulator/GL2JNIActivity.java
index 03f37c478..c2e1866eb 100644
--- a/shell/android/src/com/reicast/emulator/GL2JNIActivity.java
+++ b/shell/android/src/com/reicast/emulator/GL2JNIActivity.java
@@ -214,10 +214,14 @@ public class GL2JNIActivity extends Activity {
for (int i = 0; i < joys.length; i++) {
Integer playerNum = deviceDescriptor_PlayerNum
.get(deviceId_deviceDescriptor.get(joys[i]));
+
+ String[] players = getResources().getStringArray(R.array.controllers);
+ String id = players[i].substring(
+ players[i].lastIndexOf(" "), players[i].length());
+ boolean compat = prefs.getBoolean("controller_compat" + id, false);
- if (playerNum != null) {
-
- if (prefs.getBoolean("modified_key_layout", false)) {
+ if (playerNum != null && !compat) {
+ if (prefs.getBoolean("modified_key_layout" + id, false)) {
map[playerNum] = setModifiedKeys(playerNum);
custom[playerNum] = true;
@@ -299,24 +303,19 @@ public class GL2JNIActivity extends Activity {
OuyaController.BUTTON_R1, key_CONT_START
};
}
+ } else {
+ runCompatibilityCheck(i, id);
}
}
} else {
- if (prefs.getBoolean("modified_key_layout", false)) {
- for (int i = 0; i < 4; i++) {
- String[] players = getResources().getStringArray(R.array.controllers);
- String id = players[i].substring(
- players[i].lastIndexOf(" "), players[i].length());
- name[i] = prefs.getInt("controller" + id, -1);
- if (name[i] != -1) {
- map[i] = setModifiedKeys(i);
- custom[i] = true;
- }
-
- globalLS_X[i] = previousLS_X[i] = 0.0f;
- globalLS_Y[i] = previousLS_Y[i] = 0.0f;
+ for (int i = 0; i < 4; i++) {
+ String[] players = getResources().getStringArray(R.array.controllers);
+ String id = players[i].substring(
+ players[i].lastIndexOf(" "), players[i].length());
+ if (prefs.getBoolean("controller_compat" + id, false)) {
+ runCompatibilityCheck(i, id);
}
}
}
@@ -333,7 +332,18 @@ public class GL2JNIActivity extends Activity {
Toast.makeText(getApplicationContext(),
"Press the back button for a menu", Toast.LENGTH_SHORT).show();
}
-
+
+ private void runCompatibilityCheck(int playerNum, String id) {
+ name[playerNum] = prefs.getInt("controller" + id, -1);
+ if (name[playerNum] != -1) {
+ map[playerNum] = setModifiedKeys(playerNum);
+ custom[playerNum] = true;
+ }
+
+ globalLS_X[playerNum] = previousLS_X[playerNum] = 0.0f;
+ globalLS_Y[playerNum] = previousLS_Y[playerNum] = 0.0f;
+ }
+
private int[] setModifiedKeys(int player) {
String[] players = getResources().getStringArray(R.array.controllers);
String id = players[player].substring(
diff --git a/shell/android/src/com/reicast/emulator/InputModFragment.java b/shell/android/src/com/reicast/emulator/InputModFragment.java
index 384ac65ab..3777de3ab 100644
--- a/shell/android/src/com/reicast/emulator/InputModFragment.java
+++ b/shell/android/src/com/reicast/emulator/InputModFragment.java
@@ -37,6 +37,7 @@ public class InputModFragment extends Fragment {
private Activity parentActivity;
private SharedPreferences mPrefs;
private Switch switchModifiedLayoutEnabled;
+ private Switch switchCompatibilityEnabled;
private String player;
private int sS = 2;
@@ -88,16 +89,15 @@ public class InputModFragment extends Fragment {
OnCheckedChangeListener modified_layout = new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) {
- selectController();
- }
- mPrefs.edit().putBoolean("modified_key_layout", isChecked)
+ mPrefs.edit()
+ .putBoolean("modified_key_layout" + player, isChecked)
.commit();
}
};
switchModifiedLayoutEnabled = (Switch) getView().findViewById(
R.id.switchModifiedLayoutEnabled);
- boolean layout = mPrefs.getBoolean("modified_key_layout", false);
+ boolean layout = mPrefs.getBoolean("modified_key_layout" + player,
+ false);
if (layout) {
switchModifiedLayoutEnabled.setChecked(true);
} else {
@@ -105,251 +105,246 @@ public class InputModFragment extends Fragment {
}
switchModifiedLayoutEnabled.setOnCheckedChangeListener(modified_layout);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
-
- ImageView a_button_icon = (ImageView) getView().findViewById(
- R.id.a_button_icon);
- a_button_icon.setImageDrawable(getButtonImage(448 / sS, 0));
- final TextView 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) {
- mapKeyCode("a_button", 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);
- }
- });
-
- ImageView b_button_icon = (ImageView) getView().findViewById(
- R.id.b_button_icon);
- b_button_icon.setImageDrawable(getButtonImage(384 / sS, 0));
- final TextView b_button_text = (TextView) getView().findViewById(
- R.id.b_button_key);
- getKeyCode("b_button", b_button_text);
- Button b_button = (Button) getView().findViewById(
- R.id.b_button_edit);
- b_button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("b_button", 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);
- }
- });
-
- ImageView x_button_icon = (ImageView) getView().findViewById(
- R.id.x_button_icon);
- x_button_icon.setImageDrawable(getButtonImage(256 / sS, 0));
- final TextView x_button_text = (TextView) getView().findViewById(
- R.id.x_button_key);
- getKeyCode("x_button", x_button_text);
- Button x_button = (Button) getView().findViewById(
- R.id.x_button_edit);
- x_button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("x_button", 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);
- }
- });
-
- ImageView y_button_icon = (ImageView) getView().findViewById(
- R.id.y_button_icon);
- y_button_icon.setImageDrawable(getButtonImage(320 / sS, 0));
- final TextView y_button_text = (TextView) getView().findViewById(
- R.id.y_button_key);
- getKeyCode("y_button", y_button_text);
- Button y_button = (Button) getView().findViewById(
- R.id.y_button_edit);
- y_button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("y_button", 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);
- }
- });
-
- ImageView l_button_icon = (ImageView) getView().findViewById(
- R.id.l_button_icon);
- l_button_icon.setImageDrawable(getButtonImage(78 / sS, 64 / sS));
- final TextView l_button_text = (TextView) getView().findViewById(
- R.id.l_button_key);
- getKeyCode("l_button", l_button_text);
- Button l_button = (Button) getView().findViewById(
- R.id.l_button_edit);
- l_button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("l_button", 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);
- }
- });
-
- ImageView r_button_icon = (ImageView) getView().findViewById(
- R.id.r_button_icon);
- r_button_icon.setImageDrawable(getButtonImage(162 / sS, 64 / sS));
- final TextView r_button_text = (TextView) getView().findViewById(
- R.id.r_button_key);
- getKeyCode("r_button", r_button_text);
- Button r_button = (Button) getView().findViewById(
- R.id.r_button_edit);
- r_button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("r_button", 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);
- }
- });
-
- final TextView joystick_text = (TextView) getView().findViewById(
- R.id.joystick_key);
- getKeyCode("joystick", joystick_text);
- Button joystick = (Button) getView().findViewById(
- R.id.joystick_edit);
- joystick.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("joystick", joystick_text);
- }
- });
- Button joystick_remove = (Button) getView().findViewById(
- R.id.remove_joystick);
- joystick_remove.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- remKeyCode("joystick", joystick_text);
- }
- });
- joystick.setEnabled(false);
- mPrefs.edit().remove("joystick").commit();
- // Still needs better support for identifying the entire stick
-
- final TextView dpad_up_text = (TextView) getView().findViewById(
- R.id.dpad_up_key);
- getKeyCode("dpad_up", dpad_up_text);
- Button dpad_up = (Button) getView().findViewById(R.id.dpad_up_edit);
- dpad_up.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("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);
- }
- });
-
- final TextView dpad_down_text = (TextView) getView().findViewById(
- R.id.dpad_down_key);
- getKeyCode("dpad_down", dpad_down_text);
- Button dpad_down = (Button) getView().findViewById(
- R.id.dpad_down_edit);
- dpad_down.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("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);
- }
- });
-
- final TextView dpad_left_text = (TextView) getView().findViewById(
- R.id.dpad_left_key);
- getKeyCode("dpad_left", dpad_left_text);
- Button dpad_left = (Button) getView().findViewById(
- R.id.dpad_left_edit);
- dpad_left.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("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);
- }
- });
-
- final TextView dpad_right_text = (TextView) getView().findViewById(
- R.id.dpad_right_key);
- getKeyCode("dpad_right", dpad_right_text);
- Button dpad_right = (Button) getView().findViewById(
- R.id.dpad_right_edit);
- dpad_right.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("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);
- }
- });
-
- ImageView start_button_icon = (ImageView) getView().findViewById(
- R.id.start_button_icon);
- start_button_icon.setImageDrawable(getButtonImage(0, 64 / sS));
- final TextView start_button_text = (TextView) getView()
- .findViewById(R.id.start_button_key);
- getKeyCode("start_button", start_button_text);
- Button start_button = (Button) getView().findViewById(
- R.id.start_button_edit);
- start_button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- mapKeyCode("start_button", 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);
- }
- });
-
+ OnCheckedChangeListener compat_mode = new OnCheckedChangeListener() {
+ public void onCheckedChanged(CompoundButton buttonView,
+ boolean isChecked) {
+ selectController();
+ mPrefs.edit()
+ .putBoolean("controller_compat" + player, isChecked)
+ .commit();
+ }
+ };
+ switchCompatibilityEnabled = (Switch) getView().findViewById(
+ R.id.switchCompatibilityEnabled);
+ boolean compat = mPrefs.getBoolean("controller_compat" + player, false);
+ if (compat) {
+ switchCompatibilityEnabled.setChecked(true);
} else {
-
- switchModifiedLayoutEnabled.setEnabled(false);
-
+ switchCompatibilityEnabled.setChecked(false);
}
+ switchCompatibilityEnabled.setOnCheckedChangeListener(compat_mode);
+
+ ImageView a_button_icon = (ImageView) getView().findViewById(
+ R.id.a_button_icon);
+ a_button_icon.setImageDrawable(getButtonImage(448 / sS, 0));
+ final TextView 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) {
+ mapKeyCode("a_button", 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);
+ }
+ });
+
+ ImageView b_button_icon = (ImageView) getView().findViewById(
+ R.id.b_button_icon);
+ b_button_icon.setImageDrawable(getButtonImage(384 / sS, 0));
+ final TextView b_button_text = (TextView) getView().findViewById(
+ R.id.b_button_key);
+ getKeyCode("b_button", b_button_text);
+ Button b_button = (Button) getView().findViewById(R.id.b_button_edit);
+ b_button.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("b_button", 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);
+ }
+ });
+
+ ImageView x_button_icon = (ImageView) getView().findViewById(
+ R.id.x_button_icon);
+ x_button_icon.setImageDrawable(getButtonImage(256 / sS, 0));
+ final TextView x_button_text = (TextView) getView().findViewById(
+ R.id.x_button_key);
+ getKeyCode("x_button", x_button_text);
+ Button x_button = (Button) getView().findViewById(R.id.x_button_edit);
+ x_button.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("x_button", 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);
+ }
+ });
+
+ ImageView y_button_icon = (ImageView) getView().findViewById(
+ R.id.y_button_icon);
+ y_button_icon.setImageDrawable(getButtonImage(320 / sS, 0));
+ final TextView y_button_text = (TextView) getView().findViewById(
+ R.id.y_button_key);
+ getKeyCode("y_button", y_button_text);
+ Button y_button = (Button) getView().findViewById(R.id.y_button_edit);
+ y_button.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("y_button", 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);
+ }
+ });
+
+ ImageView l_button_icon = (ImageView) getView().findViewById(
+ R.id.l_button_icon);
+ l_button_icon.setImageDrawable(getButtonImage(78 / sS, 64 / sS));
+ final TextView l_button_text = (TextView) getView().findViewById(
+ R.id.l_button_key);
+ getKeyCode("l_button", l_button_text);
+ Button l_button = (Button) getView().findViewById(R.id.l_button_edit);
+ l_button.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("l_button", 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);
+ }
+ });
+
+ ImageView r_button_icon = (ImageView) getView().findViewById(
+ R.id.r_button_icon);
+ r_button_icon.setImageDrawable(getButtonImage(162 / sS, 64 / sS));
+ final TextView r_button_text = (TextView) getView().findViewById(
+ R.id.r_button_key);
+ getKeyCode("r_button", r_button_text);
+ Button r_button = (Button) getView().findViewById(R.id.r_button_edit);
+ r_button.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("r_button", 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);
+ }
+ });
+
+ final TextView joystick_text = (TextView) getView().findViewById(
+ R.id.joystick_key);
+ getKeyCode("joystick", joystick_text);
+ Button joystick = (Button) getView().findViewById(R.id.joystick_edit);
+ joystick.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("joystick", joystick_text);
+ }
+ });
+ Button joystick_remove = (Button) getView().findViewById(
+ R.id.remove_joystick);
+ joystick_remove.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ remKeyCode("joystick", joystick_text);
+ }
+ });
+ joystick.setEnabled(false);
+ mPrefs.edit().remove("joystick").commit();
+ // Still needs better support for identifying the entire stick
+
+ final TextView dpad_up_text = (TextView) getView().findViewById(
+ R.id.dpad_up_key);
+ getKeyCode("dpad_up", dpad_up_text);
+ Button dpad_up = (Button) getView().findViewById(R.id.dpad_up_edit);
+ dpad_up.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("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);
+ }
+ });
+
+ final TextView dpad_down_text = (TextView) getView().findViewById(
+ R.id.dpad_down_key);
+ getKeyCode("dpad_down", dpad_down_text);
+ Button dpad_down = (Button) getView().findViewById(R.id.dpad_down_edit);
+ dpad_down.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("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);
+ }
+ });
+
+ final TextView dpad_left_text = (TextView) getView().findViewById(
+ R.id.dpad_left_key);
+ getKeyCode("dpad_left", dpad_left_text);
+ Button dpad_left = (Button) getView().findViewById(R.id.dpad_left_edit);
+ dpad_left.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("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);
+ }
+ });
+
+ final TextView dpad_right_text = (TextView) getView().findViewById(
+ R.id.dpad_right_key);
+ getKeyCode("dpad_right", dpad_right_text);
+ Button dpad_right = (Button) getView().findViewById(
+ R.id.dpad_right_edit);
+ dpad_right.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("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);
+ }
+ });
+
+ ImageView start_button_icon = (ImageView) getView().findViewById(
+ R.id.start_button_icon);
+ start_button_icon.setImageDrawable(getButtonImage(0, 64 / sS));
+ final TextView start_button_text = (TextView) getView().findViewById(
+ R.id.start_button_key);
+ getKeyCode("start_button", start_button_text);
+ Button start_button = (Button) getView().findViewById(
+ R.id.start_button_edit);
+ start_button.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ mapKeyCode("start_button", 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);
+ }
+ });
}
private Drawable getButtonImage(int x, int y) {
@@ -388,7 +383,8 @@ public class InputModFragment extends Fragment {
private void selectController() {
AlertDialog.Builder builder = new AlertDialog.Builder(parentActivity);
builder.setTitle(getString(R.string.select_controller_title));
- builder.setMessage(getString(R.string.select_controller_message, String.valueOf(player)));
+ builder.setMessage(getString(R.string.select_controller_message,
+ String.valueOf(player)));
builder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {