From 71109d701d37fd7117768fb1c41c0718dc0b5db4 Mon Sep 17 00:00:00 2001 From: GabrielBRDeveloper Date: Thu, 14 Dec 2023 14:22:55 -0400 Subject: [PATCH] Remove Node storage for replace by Gson --- src/pandroid/app/build.gradle.kts | 1 + src/pandroid/app/src/main/AndroidManifest.xml | 2 +- ...lication.java => PandroidApplication.java} | 2 +- .../pandroid/data/config/GlobalConfig.java | 4 +- .../panda3ds/pandroid/data/node/Caster.java | 40 ----- .../pandroid/data/node/NodeArray.java | 133 -------------- .../panda3ds/pandroid/data/node/NodeBase.java | 34 ---- .../pandroid/data/node/NodeObject.java | 164 ------------------ 8 files changed, 5 insertions(+), 375 deletions(-) rename src/pandroid/app/src/main/java/com/panda3ds/pandroid/app/{PandaApplication.java => PandroidApplication.java} (88%) delete mode 100644 src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/Caster.java delete mode 100644 src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeArray.java delete mode 100644 src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeBase.java delete mode 100644 src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeObject.java diff --git a/src/pandroid/app/build.gradle.kts b/src/pandroid/app/build.gradle.kts index 276eb552..91a36c6e 100644 --- a/src/pandroid/app/build.gradle.kts +++ b/src/pandroid/app/build.gradle.kts @@ -39,4 +39,5 @@ dependencies { implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.8.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") + implementation("com.google.code.gson:gson:2.10.1") } \ No newline at end of file diff --git a/src/pandroid/app/src/main/AndroidManifest.xml b/src/pandroid/app/src/main/AndroidManifest.xml index a4379fb2..15bf6270 100644 --- a/src/pandroid/app/src/main/AndroidManifest.xml +++ b/src/pandroid/app/src/main/AndroidManifest.xml @@ -11,7 +11,7 @@ android:glEsVersion="0x0030001"/> list = new ArrayList<>(); - - NodeArray(JSONArray array) { - init(array); - } - - public NodeArray() { - this(EMPTY_SOURCE); - } - - public NodeArray(String source) { - try { - init(new JSONArray(source)); - } catch (JSONException e) { - throw new IllegalArgumentException(e); - } - } - - private void init(JSONArray array) { - try { - for (int i = 0; i < array.length(); i++) { - Object item = array.get(i); - if (item instanceof JSONArray) { - item = new NodeArray((JSONArray) item); - ((NodeArray) item).setParent(this); - } else if (item instanceof JSONObject) { - item = new NodeObject((JSONObject) item); - ((NodeObject) item).setParent(this); - } - list.add(item); - } - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - } - - private void add(Object obj) { - list.add(obj); - changed(); - } - - public String getString(int index) { - return (String) list.get(index); - } - - public int getInteger(int index) { - return Caster.intValue(list.get(index)); - } - - public long getLong(int index) { - return Caster.longValue(list.get(index)); - } - - public boolean getBoolean(int index) { - return (boolean) list.get(index); - } - - public double getDouble(int index) { - return Caster.doubleValue(list.get(index)); - } - - public NodeArray getArray(int index) { - return (NodeArray) list.get(index); - } - - public NodeObject getObject(int index) { - return (NodeObject) list.get(index); - } - - public void add(String val) { - list.add(val); - } - - public void add(int val) { - add((Object) val); - } - - public void add(long val) { - add((Object) val); - } - - public void add(double val) { - add((Object) val); - } - - public void add(boolean val) { - add((Object) val); - } - - public void add(NodeBase val) { - add((Object) val); - } - - public int getSize() { - return list.size(); - } - - @NonNull - @Override - public String toString() { - try { - return ((JSONArray) buildValue()).toString(4); - } catch (JSONException e) { - throw new RuntimeException(e); - } - } - - @Override - protected Object buildValue() { - JSONArray array = new JSONArray(); - for (Object obj : list) { - if (obj instanceof NodeBase) { - array.put(((NodeBase) obj).buildValue()); - } else { - array.put(obj); - } - } - return array; - } -} diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeBase.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeBase.java deleted file mode 100644 index 12961a4f..00000000 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeBase.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.panda3ds.pandroid.data.node; - -import androidx.annotation.NonNull; - -import com.panda3ds.pandroid.lang.Function; - -abstract class NodeBase { - private NodeBase parent = null; - private Function changeListener; - - protected void setParent(NodeBase parent) { - this.parent = parent; - } - - protected void changed() { - if (parent != null) - parent.changed(); - if (changeListener != null) - changeListener.run(this); - } - - public void setChangeListener(Function listener) { - changeListener = val -> listener.run((T) val); - } - - protected NodeBase getParent() { - return parent; - } - - protected abstract Object buildValue(); - - @NonNull - public abstract String toString(); -} diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeObject.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeObject.java deleted file mode 100644 index 40cb1682..00000000 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/data/node/NodeObject.java +++ /dev/null @@ -1,164 +0,0 @@ -package com.panda3ds.pandroid.data.node; - -import androidx.annotation.NonNull; - -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.HashMap; -import java.util.Iterator; - -public class NodeObject extends NodeBase { - - public static final String EMPTY_SOURCE = "{}"; - private final HashMap map = new HashMap<>(); - - NodeObject(JSONObject obj) { - init(obj); - } - - public NodeObject() { - this(EMPTY_SOURCE); - } - - public NodeObject(String source) { - try { - init(new JSONObject(source)); - } catch (JSONException e) { - throw new IllegalArgumentException(e); - } - } - - private void init(JSONObject base) { - try { - Iterator keys = base.keys(); - while (keys.hasNext()) { - String key = keys.next(); - Object item = base.get(key); - if (item instanceof JSONObject) { - item = new NodeObject((JSONObject) item); - ((NodeObject) item).setParent(this); - } else if (item instanceof JSONArray) { - item = new NodeArray((JSONArray) item); - ((NodeArray) item).setParent(this); - } - map.put(key, item); - } - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - } - - private Object get(String key, Object def) { - if (!has(key)) - return def; - - return map.get(key); - } - - private void put(String key, Object value) { - map.put(key, value); - changed(); - } - - public String getString(String key, String def) { - return (String) get(key, def); - } - - public int getInteger(String key, int def) { - return Caster.intValue(get(key, def)); - } - - public long getLong(String key, long def) { - return Caster.longValue(get(key, def)); - } - - public boolean getBoolean(String key, boolean def) { - return (boolean) get(key, def); - } - - public double getDouble(String key, double def) { - return Caster.doubleValue(get(key, def)); - } - - public NodeArray getArray(String key, NodeArray def) { - return (NodeArray) get(key, def); - } - - public NodeObject getObject(String key, NodeObject def) { - return (NodeObject) get(key, def); - } - - public void put(String key, String val) { - put(key, (Object) val); - } - - public void put(String key, int val) { - put(key, (Object) val); - } - - public void put(String key, double val) { - put(key, (Object) val); - } - - public void put(String key, boolean val) { - put(key, (Object) val); - } - - public void put(String key, NodeBase val) { - put(key, (Object) val); - } - - public boolean has(String key) { - return map.containsKey(key); - } - - public void remove(String key) { - map.remove(key); - changed(); - } - - - public void clear() { - map.clear(); - changed(); - } - - public String[] getKeys() { - return map.keySet().toArray(new String[0]); - } - - - public int getSize() { - return map.size(); - } - - @NonNull - @Override - public String toString() { - try { - return ((JSONObject) buildValue()).toString(4); - } catch (JSONException e) { - throw new RuntimeException(e); - } - } - - @Override - protected Object buildValue() { - try { - JSONObject dest = new JSONObject(); - for (String key : getKeys()) { - Object obj = map.get(key); - if (obj instanceof NodeBase) { - obj = ((NodeBase) obj).buildValue(); - } - dest.put(key, obj); - } - - return dest; - } catch (Exception e) { - throw new RuntimeException(e); - } - } -}