From 9eb7b719123fa7dc74d34aa69d244a3b100c76a0 Mon Sep 17 00:00:00 2001 From: Shinovon Date: Fri, 2 Jun 2023 02:27:45 +0500 Subject: [PATCH] BlackBerry network choice --- src/mahomaps/MahoMapsApp.java | 29 +++++++++++++++++++++++++++-- src/mahomaps/Settings.java | 3 +++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/mahomaps/MahoMapsApp.java b/src/mahomaps/MahoMapsApp.java index 03d48de8..4b38c45e 100644 --- a/src/mahomaps/MahoMapsApp.java +++ b/src/mahomaps/MahoMapsApp.java @@ -2,6 +2,8 @@ import javax.microedition.io.ConnectionNotFoundException; import javax.microedition.lcdui.Alert; +import javax.microedition.lcdui.Choice; +import javax.microedition.lcdui.ChoiceGroup; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; @@ -35,13 +37,32 @@ public class MahoMapsApp extends MIDlet implements Runnable, CommandListener { private static Command exit = new Command("Выход", Command.EXIT, 0); private static Command rms = new Command("Исп. RMS", Command.OK, 0); + private static boolean bbWifi; + + private static boolean bb = platform.toLowerCase().indexOf("blackberry") != -1; + private Form bbForm; + private ChoiceGroup bbChoice; public MahoMapsApp() { display = Display.getDisplay(this); + if (bb) { + bbForm = new Form("Выберите используемую сеть"); + bbChoice = new ChoiceGroup("", Choice.EXCLUSIVE, new String[] { "Сотовая", "Wi-Fi" }, null); + bbForm.addCommand(new Command("OK", Command.OK, 2)); + bbForm.setCommandListener(this); + bbForm.append(bbChoice); + } } protected void startApp() { paused = false; + if (bb) { + Settings.Read(); + if (!Settings.bbNetworkChoosen && display.getCurrent() != bbForm) { + BringSubScreen(bbForm); + return; + } + } if (thread == null) { version = getAppProperty("MIDlet-Version"); midlet = this; @@ -302,14 +323,18 @@ public void commandAction(Command c, Displayable d) { Settings.cacheMode = Settings.CACHE_RMS; Settings.Save(); startApp(); + } else if (c.getPriority() == 2) { + bbWifi = bbChoice.getSelectedIndex() == 1; + Settings.bbNetworkChoosen = true; + Settings.Save(); + startApp(); } } public static String getConnectionParams() { - if (platform.toLowerCase().indexOf("blackberry") == -1) { + if (!bb || !bbWifi) { return ""; } - // сделать поддержку 3г когда-нибудь return ";deviceside=true;interface=wifi"; } } diff --git a/src/mahomaps/Settings.java b/src/mahomaps/Settings.java index 14dec81a..145832eb 100644 --- a/src/mahomaps/Settings.java +++ b/src/mahomaps/Settings.java @@ -21,6 +21,7 @@ private Settings() { public static boolean proxyApi = false; public static int uiSize = 0; public static int lang = 0; + public static boolean bbNetworkChoosen; public static String proxyServer = "http://nnp.nnchan.ru:80/mahoproxy.php?u="; @@ -54,6 +55,7 @@ public static boolean Read() { proxyApi = j.optBoolean("proxy_api"); uiSize = j.optInt("ui_size", 0); lang = j.optInt("lang", 0); + bbNetworkChoosen = j.optBoolean("bb_network"); return true; } catch (Throwable e) { e.printStackTrace(); @@ -85,6 +87,7 @@ public static String Serialize() { j.put("proxy_api", proxyApi); j.put("ui_size", uiSize); j.put("lang", lang); + j.put("bb_network", bbNetworkChoosen); return j.toString(); }