From 17c7abf4d9806fb78459a13a81ba35de500d71f1 Mon Sep 17 00:00:00 2001 From: Stephanie Gawroriski Date: Thu, 9 Feb 2023 04:49:15 +0000 Subject: [PATCH] Fill in SprintPCS 2.2 API. --- modules/sprint-api/build.gradle | 4 +- .../java/com/sprintpcs/lcdui/ExternalCanvas.java | 88 ++++++++++++++++++++++ .../com/sprintpcs/media/{Player.java => Clip.java} | 17 ++++- .../main/java/com/sprintpcs/media/DualTone.java | 39 ++++++---- .../src/main/java/com/sprintpcs/media/Player.java | 37 ++++++++- .../media/{Player.java => PlayerListener.java} | 42 +++++++++-- .../main/java/com/sprintpcs/media/Vibrator.java | 4 +- .../{media/Player.java => util/Location.java} | 32 ++++++-- .../{media/Player.java => util/Muglet.java} | 28 +++++-- .../src/main/java/com/sprintpcs/util/System.java | 26 +++++++ 10 files changed, 274 insertions(+), 43 deletions(-) create mode 100644 modules/sprint-api/src/main/java/com/sprintpcs/lcdui/ExternalCanvas.java copy modules/sprint-api/src/main/java/com/sprintpcs/media/{Player.java => Clip.java} (64%) copy modules/sprint-api/src/main/java/com/sprintpcs/media/{Player.java => PlayerListener.java} (61%) copy modules/sprint-api/src/main/java/com/sprintpcs/{media/Player.java => util/Location.java} (55%) copy modules/sprint-api/src/main/java/com/sprintpcs/{media/Player.java => util/Muglet.java} (63%) diff --git a/modules/sprint-api/build.gradle b/modules/sprint-api/build.gradle index ddcb524fe1..e15e9d30de 100644 --- a/modules/sprint-api/build.gradle +++ b/modules/sprint-api/build.gradle @@ -1,13 +1,13 @@ import cc.squirreljme.plugin.swm.JavaMEMidletType -description = "Implements support for the Sprint PCS APIs." +description = "Implements support for the SprintPCS 2.2 API." version = rootProject.version squirreljme { javaDocErrorCode = "AJ" swmType = JavaMEMidletType.API - swmName = "Sprint PCS API" + swmName = "SprintPCS 2.2 API" swmVendor = "Stephanie Gawroriski" tags += "sprint" } diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/lcdui/ExternalCanvas.java b/modules/sprint-api/src/main/java/com/sprintpcs/lcdui/ExternalCanvas.java new file mode 100644 index 0000000000..38d666c1c3 --- /dev/null +++ b/modules/sprint-api/src/main/java/com/sprintpcs/lcdui/ExternalCanvas.java @@ -0,0 +1,88 @@ +// -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*- +// --------------------------------------------------------------------------- +// Multi-Phasic Applications: SquirrelJME +// Copyright (C) Stephanie Gawroriski +// --------------------------------------------------------------------------- +// SquirrelJME is under the GNU General Public License v3+, or later. +// See license.mkd for licensing and copyright information. +// --------------------------------------------------------------------------- + +package com.sprintpcs.lcdui; + +import cc.squirreljme.runtime.cldc.annotation.Api; +import cc.squirreljme.runtime.cldc.debug.Debugging; + +@Api +public class ExternalCanvas +{ + @Api + public static final int AUTO_LCD = + 27; + + @Api + public static final int EXTERNAL_A = + 82; + + @Api + public static final int EXTERNAL_B = + 83; + + @Api + public static final int EXTERNAL_C = + 84; + + @Api + public static final int EXTERNAL_D = + 85; + + @Api + public static final int KEY_FAST_FORWARD = + 86; + + @Api + public static final int KEY_MUTE = + 87; + + @Api + public static final int KEY_PAUSE = + 88; + + @Api + public static final int KEY_PLAY = + 89; + + @Api + public static final int KEY_PLAY_PAUSE = + 90; + + @Api + public static final int KEY_REWIND = + 91; + + @Api + public static final int KEY_STOP = + 92; + + @Api + public static final int KEY_TRACK_BACK = + 94; + + @Api + public static final int KEY_TRACK_FORWARD = + 93; + + @Api + public static final int PRIMARY_LCD = + 28; + + @Api + public static final int SECONDARY_LCD = + 29; + + @Api + public void setLCD(int __mode) + throws IllegalArgumentException + { + throw Debugging.todo(); + } +} diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java b/modules/sprint-api/src/main/java/com/sprintpcs/media/Clip.java similarity index 64% copy from modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java copy to modules/sprint-api/src/main/java/com/sprintpcs/media/Clip.java index 212e4b0d2b..5d7a02da78 100644 --- a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java +++ b/modules/sprint-api/src/main/java/com/sprintpcs/media/Clip.java @@ -1,6 +1,6 @@ // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*- // --------------------------------------------------------------------------- -// SquirrelJME +// Multi-Phasic Applications: SquirrelJME // Copyright (C) Stephanie Gawroriski // --------------------------------------------------------------------------- // SquirrelJME is under the GNU General Public License v3+, or later. @@ -11,13 +11,22 @@ package com.sprintpcs.media; import cc.squirreljme.runtime.cldc.annotation.Api; import cc.squirreljme.runtime.cldc.debug.Debugging; +import java.io.IOException; @Api -public class Player +public class Clip { @Api - public static void play(DualTone __tone, int __unknown2) + public Clip(byte[] __data, String __mime, int __priority, int __vibration) + throws IOException { - Debugging.todoNote("play(%s, %d)", __tone, __unknown2); + throw Debugging.todo(); + } + + @Api + public Clip(String __rcName, String __mine, int __priority, int __vibration) + throws IOException + { + throw Debugging.todo(); } } diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/media/DualTone.java b/modules/sprint-api/src/main/java/com/sprintpcs/media/DualTone.java index e42bb3bf85..e47130ddab 100644 --- a/modules/sprint-api/src/main/java/com/sprintpcs/media/DualTone.java +++ b/modules/sprint-api/src/main/java/com/sprintpcs/media/DualTone.java @@ -17,35 +17,42 @@ import cc.squirreljme.runtime.cldc.util.IntegerArrayList; public class DualTone { @Api - public DualTone(int[] __unknownA, int[] __unknownB, int[] __unknownC, - int __unknownD, int __unknownE) + public DualTone(int __aFreq, int __bFreq, int __duration, int __priority, + int __vibration) { - // __unknownA = first frequency?? + throw Debugging.todo(); + } + + @Api + public DualTone(int[] __aFreq, int[] __bFreq, int[] __duration, + int __priority, int __vibration) + { + // __aFreq = first frequency?? // new int[]{1047, 1109, 1175, 1245, 1319, 1397, 1480, 1568, ...}; - // __unknownB = second frequency?? + // __bFreq = second frequency?? // new int[]{1047, 988, 932, 880, 830, 784, 740, 698, 659, ...}; - // __unknownC = duration?? + // __duration = duration?? // new int[]{120, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 400}; - // __unknownD = always zero?? - // __unknownE = always one or zero?? + // __priority = always zero?? + // __vibration = always one or zero?? - if (__unknownA == null || __unknownB == null || __unknownC == null) + if (__aFreq == null || __bFreq == null || __duration == null) throw Debugging.todo("Throw NullPointerException???"); - if (__unknownA.length != __unknownB.length || - __unknownA.length != __unknownC.length) + if (__aFreq.length != __bFreq.length || + __aFreq.length != __duration.length) throw Debugging.todo("Unequal lengths???"); - if (__unknownD != 0) + if (__priority != 0) throw Debugging.todo("D is not zero???"); - if (__unknownE != 0 && __unknownE != 1) + if (__vibration != 0 && __vibration != 1) throw Debugging.todo("E is not zero or one???"); Debugging.todoNote("DualTone(%s, %s, %s, %d, %d)", - IntegerArrayList.toString(__unknownA), - IntegerArrayList.toString(__unknownB), - IntegerArrayList.toString(__unknownC), - __unknownD, __unknownE); + IntegerArrayList.toString(__aFreq), + IntegerArrayList.toString(__bFreq), + IntegerArrayList.toString(__duration), + __priority, __vibration); } } diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java b/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java index 212e4b0d2b..01d571cdf8 100644 --- a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java +++ b/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java @@ -16,8 +16,41 @@ import cc.squirreljme.runtime.cldc.debug.Debugging; public class Player { @Api - public static void play(DualTone __tone, int __unknown2) + public static void addPlayerListener(PlayerListener __listener) { - Debugging.todoNote("play(%s, %d)", __tone, __unknown2); + throw Debugging.todo(); + } + + @Api + public static void play(Clip __clip, int __repeat) + throws IllegalArgumentException + { + throw Debugging.todo(); + } + + @Api + public static void play(DualTone __tone, int __repeat) + throws IllegalArgumentException + { + Debugging.todoNote("play(%s, %d)", __tone, __repeat); + } + + @Api + public static void playBackground(Clip __clip, int __repeat) + throws IllegalArgumentException + { + throw Debugging.todo(); + } + + @Api + public static void resume() + { + throw Debugging.todo(); + } + + @Api + public static void stop() + { + throw Debugging.todo(); } } diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java b/modules/sprint-api/src/main/java/com/sprintpcs/media/PlayerListener.java similarity index 61% copy from modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java copy to modules/sprint-api/src/main/java/com/sprintpcs/media/PlayerListener.java index 212e4b0d2b..15bdac91d2 100644 --- a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java +++ b/modules/sprint-api/src/main/java/com/sprintpcs/media/PlayerListener.java @@ -1,6 +1,6 @@ // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*- // --------------------------------------------------------------------------- -// SquirrelJME +// Multi-Phasic Applications: SquirrelJME // Copyright (C) Stephanie Gawroriski // --------------------------------------------------------------------------- // SquirrelJME is under the GNU General Public License v3+, or later. @@ -10,14 +10,42 @@ package com.sprintpcs.media; import cc.squirreljme.runtime.cldc.annotation.Api; -import cc.squirreljme.runtime.cldc.debug.Debugging; @Api -public class Player +public interface PlayerListener { @Api - public static void play(DualTone __tone, int __unknown2) - { - Debugging.todoNote("play(%s, %d)", __tone, __unknown2); - } + int AUDIO_DEVICE_UNAVAILABLE = + 0; + + @Api + int END_OF_DATA = + 1; + + @Api + int ERROR = + 2; + + @Api + int PAUSED = + 5; + + @Api + int PREEMPTED = + 7; + + @Api + int RESUME = + 6; + + @Api + int STARTED = + 3; + + @Api + int STOPPED = + 4; + + @Api + void playerUpdate(int __unknownA, Object __unknownB); } diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/media/Vibrator.java b/modules/sprint-api/src/main/java/com/sprintpcs/media/Vibrator.java index 63869c5ec4..1472226b84 100644 --- a/modules/sprint-api/src/main/java/com/sprintpcs/media/Vibrator.java +++ b/modules/sprint-api/src/main/java/com/sprintpcs/media/Vibrator.java @@ -16,8 +16,8 @@ import cc.squirreljme.runtime.cldc.debug.Debugging; public class Vibrator { @Api - public static void vibrate(int __unknown1) + public static void vibrate(int __duration) { - Debugging.debugNote("vibrate(%d)", __unknown1); + Debugging.debugNote("vibrate(%d)", __duration); } } diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java b/modules/sprint-api/src/main/java/com/sprintpcs/util/Location.java similarity index 55% copy from modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java copy to modules/sprint-api/src/main/java/com/sprintpcs/util/Location.java index 212e4b0d2b..558134f16e 100644 --- a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java +++ b/modules/sprint-api/src/main/java/com/sprintpcs/util/Location.java @@ -1,23 +1,45 @@ // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*- // --------------------------------------------------------------------------- -// SquirrelJME +// Multi-Phasic Applications: SquirrelJME // Copyright (C) Stephanie Gawroriski // --------------------------------------------------------------------------- // SquirrelJME is under the GNU General Public License v3+, or later. // See license.mkd for licensing and copyright information. // --------------------------------------------------------------------------- -package com.sprintpcs.media; +package com.sprintpcs.util; import cc.squirreljme.runtime.cldc.annotation.Api; import cc.squirreljme.runtime.cldc.debug.Debugging; @Api -public class Player +public class Location { @Api - public static void play(DualTone __tone, int __unknown2) + public String getBSCLatitude() + throws SecurityException { - Debugging.todoNote("play(%s, %d)", __tone, __unknown2); + throw Debugging.todo(); + } + + @Api + public String getBSCLongitude() + throws SecurityException + { + throw Debugging.todo(); + } + + @Api + public void setServerIPAddress(String __ip) + throws SecurityException + { + throw Debugging.todo(); + } + + @Api + public void setServerIPPort(String __port) + throws SecurityException + { + throw Debugging.todo(); } } diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java b/modules/sprint-api/src/main/java/com/sprintpcs/util/Muglet.java similarity index 63% copy from modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java copy to modules/sprint-api/src/main/java/com/sprintpcs/util/Muglet.java index 212e4b0d2b..e98e8f4390 100644 --- a/modules/sprint-api/src/main/java/com/sprintpcs/media/Player.java +++ b/modules/sprint-api/src/main/java/com/sprintpcs/util/Muglet.java @@ -1,23 +1,41 @@ // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*- // --------------------------------------------------------------------------- -// SquirrelJME +// Multi-Phasic Applications: SquirrelJME // Copyright (C) Stephanie Gawroriski // --------------------------------------------------------------------------- // SquirrelJME is under the GNU General Public License v3+, or later. // See license.mkd for licensing and copyright information. // --------------------------------------------------------------------------- -package com.sprintpcs.media; +package com.sprintpcs.util; import cc.squirreljme.runtime.cldc.annotation.Api; import cc.squirreljme.runtime.cldc.debug.Debugging; @Api -public class Player +public class Muglet { @Api - public static void play(DualTone __tone, int __unknown2) + public String getMediaType() { - Debugging.todoNote("play(%s, %d)", __tone, __unknown2); + throw Debugging.todo(); + } + + @Api + public String getReferringURI() + { + throw Debugging.todo(); + } + + @Api + public String getURI() + { + throw Debugging.todo(); + } + + @Api + public static Muglet getMuglet() + { + throw Debugging.todo(); } } diff --git a/modules/sprint-api/src/main/java/com/sprintpcs/util/System.java b/modules/sprint-api/src/main/java/com/sprintpcs/util/System.java index c3d82c64d4..50ff610806 100644 --- a/modules/sprint-api/src/main/java/com/sprintpcs/util/System.java +++ b/modules/sprint-api/src/main/java/com/sprintpcs/util/System.java @@ -40,6 +40,19 @@ public class System Debugging.todoNote("Add listeners..."); } + @Api + public static String[] getPropertiesList() + { + throw Debugging.todo(); + } + + @Api + public static String getProtectedProperty(String __key) + throws SecurityException + { + throw Debugging.todo(); + } + /** * Returns the state of the given option. * @@ -68,6 +81,12 @@ public class System } } + @Api + public static void promptMasterVolume() + { + throw Debugging.todo(); + } + /** * When the system exits, the specified URL will be activated in the * browser. @@ -81,4 +100,11 @@ public class System if (__uri != null) CleanupHandler.add(new __ExitUri__(__uri)); } + + @Api + public static void setSystemSetting(String __key, String __value) + throws SecurityException, IllegalArgumentException, NullPointerException + { + throw Debugging.todo(); + } } -- 2.11.4.GIT