From becf9186fad7df5511bee508a4ccad776216d0a8 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Thu, 22 Dec 2022 09:59:22 +0530 Subject: [PATCH] android settings --- src/Settings.hx | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/Settings.hx b/src/Settings.hx index 1299ac3e..d63f3ece 100644 --- a/src/Settings.hx +++ b/src/Settings.hx @@ -157,11 +157,23 @@ class Settings { public static var isTouch:Option = Option.None; #if hl - #if MACOS_BUNDLE + #if MACOS_BUNDLE public static var settingsDir = Path.join([Sys.getEnv("HOME"), "Library", "Application Support", "MBHaxe-MBP"]); - #else + #else public static var settingsDir = "."; - #end + #end + #end + #if android + @:hlNative("Java_io_heaps_android_HeapsActivity") + static function saveAndroid(name:String, data:String) {} + #end + + #if android + @:hlNative("Java_io_heaps_android_HeapsActivity") + static function loadAndroid(name:String):hl.Bytes { + var i = 4; + return hl.Bytes.fromValue("null", i); + } #end public static function applySettings() { @@ -260,6 +272,9 @@ class Settings { } File.saveContent(Path.join([settingsDir, "settings.json"]), json); #end + #if android + saveAndroid('settings', json); + #end #if js var localStorage = js.Browser.getLocalStorage(); if (localStorage != null) { @@ -279,11 +294,20 @@ class Settings { settingsExists = localStorage.getItem("MBHaxeSettings") != null; } #end + #if android + settingsExists = true; + var rawJson = @:privateAccess String.fromUTF8(loadAndroid('settings')); + if (rawJson == null || rawJson == "") + settingsExists = false; + #end if (settingsExists) { - #if hl + #if (hl && !android) var json = Json.parse(File.getContent(Path.join([settingsDir, "settings.json"]))); #end + #if android + var json = Json.parse(rawJson); + #end #if js var json = Json.parse(localStorage.getItem("MBHaxeSettings")); #end