Revision: 2471
http://sourceforge.net/p/swingme/code/2471
Author: yuranet
Date: 2021-06-23 14:11:07 +0000 (Wed, 23 Jun 2021)
Log Message:
-----------
detect running on ios
Modified Paths:
--------------
SwingME/src/net/yura/mobile/gui/DesktopPane.java
SwingME/src/net/yura/mobile/gui/Midlet.java
Modified: SwingME/src/net/yura/mobile/gui/DesktopPane.java
===================================================================
--- SwingME/src/net/yura/mobile/gui/DesktopPane.java 2021-06-23 12:22:40 UTC (rev 2470)
+++ SwingME/src/net/yura/mobile/gui/DesktopPane.java 2021-06-23 14:11:07 UTC (rev 2471)
@@ -140,9 +140,9 @@
public boolean IPHONE_SCROLL;
public boolean QWERTY_KAYPAD; // if true the multi letter per number is disabled
public boolean USE_SOFT_KEY_CLEAR; // Nokia S40 does not have a dedicated delete key
- public boolean HIDDEN_MENU; // on android and blackberry the menu and back are hardware buttons
+ public boolean HIDDEN_MENU; // on old android and blackberry the menu and back are hardware buttons
public boolean HIDDEN_BACK;
- public boolean GRID_MENU; // on android
+ public boolean GRID_MENU; // on old android
// object variables
protected Midlet midlet;
@@ -190,19 +190,21 @@
*/
public DesktopPane(Midlet m, int back, Image sph) {
- SOFT_KEYS = Midlet.getPlatform() != Midlet.PLATFORM_ME4SE && Midlet.getPlatform() != Midlet.PLATFORM_ANDROID && Midlet.getPlatform() != Midlet.PLATFORM_BLACKBERRY;
- HIDDEN_MENU = Midlet.getPlatform() == Midlet.PLATFORM_ANDROID || Midlet.getPlatform() == Midlet.PLATFORM_BLACKBERRY;
- HIDDEN_BACK = Midlet.getPlatform() == Midlet.PLATFORM_ANDROID || Midlet.getPlatform() == Midlet.PLATFORM_BLACKBERRY;
+ int platform = Midlet.getPlatform();
- VERY_BIG_SCREEN = Midlet.getPlatform() == Midlet.PLATFORM_ME4SE;
- MAX_CLOSE_BUTTONS = Midlet.getPlatform() == Midlet.PLATFORM_ME4SE;
- IPHONE_SCROLL = Midlet.getPlatform() != Midlet.PLATFORM_ME4SE;
+ SOFT_KEYS = platform != Midlet.PLATFORM_ME4SE && platform != Midlet.PLATFORM_ANDROID && platform != Midlet.PLATFORM_IOS && platform != Midlet.PLATFORM_BLACKBERRY;
+ HIDDEN_MENU = platform == Midlet.PLATFORM_ANDROID || platform == Midlet.PLATFORM_BLACKBERRY;
+ HIDDEN_BACK = platform == Midlet.PLATFORM_ANDROID || platform == Midlet.PLATFORM_BLACKBERRY;
- QWERTY_KAYPAD = Midlet.getPlatform() == Midlet.PLATFORM_ME4SE || Midlet.getPlatform() == Midlet.PLATFORM_ANDROID || (Midlet.getPlatform() == Midlet.PLATFORM_BLACKBERRY && !KeyEvent.BLACKBERRY_ITUT);
+ VERY_BIG_SCREEN = platform == Midlet.PLATFORM_ME4SE;
+ MAX_CLOSE_BUTTONS = platform == Midlet.PLATFORM_ME4SE;
+ IPHONE_SCROLL = platform != Midlet.PLATFORM_ME4SE;
- USE_SOFT_KEY_CLEAR = Midlet.getPlatform() == Midlet.PLATFORM_NOKIA_S40;
- GRID_MENU = Midlet.getPlatform() == Midlet.PLATFORM_ANDROID;
+ QWERTY_KAYPAD = platform == Midlet.PLATFORM_ME4SE || platform == Midlet.PLATFORM_ANDROID || platform == Midlet.PLATFORM_IOS || (platform == Midlet.PLATFORM_BLACKBERRY && !KeyEvent.BLACKBERRY_ITUT);
+ USE_SOFT_KEY_CLEAR = platform == Midlet.PLATFORM_NOKIA_S40;
+ GRID_MENU = platform == Midlet.PLATFORM_ANDROID;
+
desktop = this;
background = back;
Modified: SwingME/src/net/yura/mobile/gui/Midlet.java
===================================================================
--- SwingME/src/net/yura/mobile/gui/Midlet.java 2021-06-23 12:22:40 UTC (rev 2470)
+++ SwingME/src/net/yura/mobile/gui/Midlet.java 2021-06-23 14:11:07 UTC (rev 2471)
@@ -47,6 +47,7 @@
public static final int PLATFORM_WTK = 9;
public static final int PLATFORM_ANDROID = 10;
public static final int PLATFORM_BLACKBERRY = 11;
+ public static final int PLATFORM_IOS = 12;
private static int platform = detectPlatform();
@@ -136,8 +137,13 @@
currentPlatform = ""; // Avoid null pointer exceptions
}
+ // detect ios before android as it has a few android classes in it
+ if (hasClass("apple.uikit.UIView")) {
+ return PLATFORM_IOS;
+ }
+
// detecting Android BEFORE Nokia platform as Nokia X is both android+nokia
- if (hasClass("android.app.Activity")) {
+ if (hasClass("android.app.Activity")) { // or android.content.Context ?
return PLATFORM_ANDROID;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|