diff --git a/project/java/Globals.java b/project/java/Globals.java index 526171986..b91d29514 100644 --- a/project/java/Globals.java +++ b/project/java/Globals.java @@ -119,6 +119,7 @@ class Globals public static boolean HoverJitterFilter = true; public static boolean GenerateSubframeTouchEvents = false; public static boolean KeepAspectRatio = KeepAspectRatioDefaultSetting; + public static boolean TvBorders = true; public static int RemapHwKeycode[] = new int[SDL_Keys.JAVA_KEYCODE_LAST]; public static int RemapScreenKbKeycode[] = new int[6]; public static int ScreenKbControlsLayout[][] = AppUsesThirdJoystick ? // Values for 800x480 resolution diff --git a/project/java/MainActivity.java b/project/java/MainActivity.java index 200123cc1..92c8bf4b2 100644 --- a/project/java/MainActivity.java +++ b/project/java/MainActivity.java @@ -352,10 +352,11 @@ public class MainActivity extends Activity SetLayerType.get().setLayerType(mGLView); FrameLayout.LayoutParams margin = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); // Add TV screen borders, if needed - margin.setMargins( getResources().getDimensionPixelOffset(R.dimen.screen_border_horizontal), - getResources().getDimensionPixelOffset(R.dimen.screen_border_vertical), - getResources().getDimensionPixelOffset(R.dimen.screen_border_horizontal), - getResources().getDimensionPixelOffset(R.dimen.screen_border_vertical)); + if( Globals.TvBorders ) + margin.setMargins( getResources().getDimensionPixelOffset(R.dimen.screen_border_horizontal), + getResources().getDimensionPixelOffset(R.dimen.screen_border_vertical), + getResources().getDimensionPixelOffset(R.dimen.screen_border_horizontal), + getResources().getDimensionPixelOffset(R.dimen.screen_border_vertical)); _videoLayout.addView(mGLView, margin); mGLView.setFocusableInTouchMode(true); mGLView.setFocusable(true); @@ -779,7 +780,7 @@ public class MainActivity extends Activity screenKeyboard.setOnKeyListener(new simpleKeyListener(this)); screenKeyboard.setBackgroundColor(Color.BLACK); // Full opaque - do not show semi-transparent edit box, it's confusing screenKeyboard.setTextColor(Color.WHITE); // Just to be sure about gamma - if( isRunningOnOUYA() ) + if( isRunningOnOUYA() && Globals.TvBorders ) screenKeyboard.setPadding(100, 100, 100, 100); // Bad bad HDMI TVs all have cropped borders _screenKeyboard = screenKeyboard; _videoLayout.addView(_screenKeyboard); diff --git a/project/java/Settings.java b/project/java/Settings.java index 062c498af..66680caa8 100644 --- a/project/java/Settings.java +++ b/project/java/Settings.java @@ -185,6 +185,7 @@ class Settings out.writeBoolean(Globals.HorizontalOrientation); out.writeBoolean(Globals.ImmersiveMode); out.writeBoolean(Globals.AutoDetectOrientation); + out.writeBoolean(Globals.TvBorders); out.close(); settingsLoaded = true; @@ -377,6 +378,7 @@ class Settings Globals.HorizontalOrientation = settingsFile.readBoolean(); Globals.ImmersiveMode = settingsFile.readBoolean(); Globals.AutoDetectOrientation = settingsFile.readBoolean(); + Globals.TvBorders = settingsFile.readBoolean(); settingsLoaded = true; diff --git a/project/java/SettingsMenuMisc.java b/project/java/SettingsMenuMisc.java index c1637866b..521ca44b6 100644 --- a/project/java/SettingsMenuMisc.java +++ b/project/java/SettingsMenuMisc.java @@ -357,6 +357,7 @@ class SettingsMenuMisc extends SettingsMenu p.getResources().getString(R.string.video_orientation_autodetect), p.getResources().getString(R.string.video_orientation_vertical), p.getResources().getString(R.string.video_bpp_24), + p.getResources().getString(R.string.tv_borders), }; boolean defaults[] = { Globals.KeepAspectRatio, @@ -365,6 +366,7 @@ class SettingsMenuMisc extends SettingsMenu Globals.AutoDetectOrientation, !Globals.HorizontalOrientation, Globals.VideoDepthBpp == 24, + Globals.TvBorders, }; if(Globals.SwVideoMode && !Globals.CompatibilityHacksVideo) @@ -376,6 +378,7 @@ class SettingsMenuMisc extends SettingsMenu p.getResources().getString(R.string.video_orientation_autodetect), p.getResources().getString(R.string.video_orientation_vertical), p.getResources().getString(R.string.video_bpp_24), + p.getResources().getString(R.string.tv_borders), p.getResources().getString(R.string.video_separatethread), }; boolean defaults2[] = { @@ -385,6 +388,7 @@ class SettingsMenuMisc extends SettingsMenu Globals.AutoDetectOrientation, !Globals.HorizontalOrientation, Globals.VideoDepthBpp == 24, + Globals.TvBorders, Globals.MultiThreadedVideo, }; items = items2; @@ -422,52 +426,12 @@ class SettingsMenuMisc extends SettingsMenu if( item == 5 ) Globals.VideoDepthBpp = (isChecked ? 24 : 16); if( item == 6 ) + Globals.TvBorders = isChecked; + if( item == 7 ) Globals.MultiThreadedVideo = isChecked; } }); builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() - { - public void onClick(DialogInterface dialog, int item) - { - dialog.dismiss(); - if( debugMenuShowCount > 5 || Globals.OuyaEmulation ) - showDebugMenu(p); - else - goBack(p); - } - }); - builder.setOnCancelListener(new DialogInterface.OnCancelListener() - { - public void onCancel(DialogInterface dialog) - { - goBack(p); - } - }); - AlertDialog alert = builder.create(); - alert.setOwnerActivity(p); - alert.show(); - } - - void showDebugMenu (final MainActivity p) - { - CharSequence[] items = { - "OUYA emulation" - }; - boolean defaults[] = { - Globals.OuyaEmulation, - }; - - AlertDialog.Builder builder = new AlertDialog.Builder(p); - builder.setTitle("Debug settings"); - builder.setMultiChoiceItems(items, defaults, new DialogInterface.OnMultiChoiceClickListener() - { - public void onClick(DialogInterface dialog, int item, boolean isChecked) - { - if( item == 0 ) - Globals.OuyaEmulation = isChecked; - } - }); - builder.setPositiveButton(p.getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { diff --git a/project/java/translations/values/strings.xml b/project/java/translations/values/strings.xml index fe178a1a6..32c248f5c 100644 --- a/project/java/translations/values/strings.xml +++ b/project/java/translations/values/strings.xml @@ -157,6 +157,7 @@ Auto-detect screen orientation 24 bpp screen color depth Hide system navigation buttons / immersive mode + TV borders Tap to start typing, press Back when done