From d3bf508fc7acedffb375a2bda334495fa19ae769 Mon Sep 17 00:00:00 2001 From: drdev Date: Mon, 25 May 2015 19:56:25 +0000 Subject: [PATCH] Use fixed orientation to prevent rendering issues --- forge-gui-android/AndroidManifest.xml | 3 ++- forge-gui-android/src/forge/app/Main.java | 20 +++++++++++-------- forge-gui-mobile-dev/src/forge/app/Main.java | 5 +++++ .../java/forge/interfaces/IDeviceAdapter.java | 1 + 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/forge-gui-android/AndroidManifest.xml b/forge-gui-android/AndroidManifest.xml index de69ff21824..2872eecf0d8 100644 --- a/forge-gui-android/AndroidManifest.xml +++ b/forge-gui-android/AndroidManifest.xml @@ -13,7 +13,8 @@ diff --git a/forge-gui-android/src/forge/app/Main.java b/forge-gui-android/src/forge/app/Main.java index ebbd8689394..06de351443c 100644 --- a/forge-gui-android/src/forge/app/Main.java +++ b/forge-gui-android/src/forge/app/Main.java @@ -12,7 +12,6 @@ import android.content.res.Configuration; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; -import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.webkit.MimeTypeMap; @@ -32,13 +31,8 @@ public class Main extends AndroidApplication { AndroidAdapter adapter = new AndroidAdapter(this.getContext()); - //enforce portrait orientation for non-tablet screens - if (!adapter.isTablet) { - this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - if (Build.VERSION.SDK_INT > 8) { //use dual-side portrait mode if supported - this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT); - } - } + //enforce orientation based on whether device is a tablet + adapter.setLandscapeMode(adapter.isTablet); //establish assets directory if (!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { @@ -161,5 +155,15 @@ public class Main extends AndroidApplication { public boolean isTablet() { return isTablet; } + + @Override + public void setLandscapeMode(boolean landscapeMode) { + if (landscapeMode) { + Main.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); + } + else { + Main.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } + } } } diff --git a/forge-gui-mobile-dev/src/forge/app/Main.java b/forge-gui-mobile-dev/src/forge/app/Main.java index 1359c543dcd..5e8579b6cf4 100644 --- a/forge-gui-mobile-dev/src/forge/app/Main.java +++ b/forge-gui-mobile-dev/src/forge/app/Main.java @@ -63,5 +63,10 @@ public class Main { public boolean isTablet() { return true; //treat desktop the same as a tablet } + + @Override + public void setLandscapeMode(boolean landscapeMode) { + //TODO: Consider supporting toggling this on desktop for testing + } } } diff --git a/forge-gui/src/main/java/forge/interfaces/IDeviceAdapter.java b/forge-gui/src/main/java/forge/interfaces/IDeviceAdapter.java index 0630021363a..16def7f852a 100644 --- a/forge-gui/src/main/java/forge/interfaces/IDeviceAdapter.java +++ b/forge-gui/src/main/java/forge/interfaces/IDeviceAdapter.java @@ -6,5 +6,6 @@ public interface IDeviceAdapter { boolean isTablet(); String getDownloadsDir(); boolean openFile(String filename); + void setLandscapeMode(boolean landscapeMode); void exit(); }