From: rnayabed Date: Sat, 06 Mar 2021 11:00:09 +0530 Subject: Somewhat storage support for iOS --- Somewhat storage support for iOS --- --- 'a/pom.xml' +++ b/pom.xml @@ -72,6 +72,11 @@ util 4.0.10 + + com.gluonhq.attach + storage + 4.0.10 + @@ -118,6 +123,7 @@ lifecycle + storage java.util.logging.FileHandler --- 'a/src/main/java/com/stream_pi/client/info/ClientInfo.java' +++ b/src/main/java/com/stream_pi/client/info/ClientInfo.java @@ -8,6 +8,7 @@ Contributors: Debayan Sutradhar (@dubbad package com.stream_pi.client.info; +import com.gluonhq.attach.storage.StorageService; import com.stream_pi.util.exception.MinorException; import com.stream_pi.util.platform.Platform; import com.stream_pi.util.platform.ReleaseStatus; @@ -56,9 +57,30 @@ public class ClientInfo { } else if(osName.contains("android")) // SPECIFY -Dsvm.targetName=android WHILE BUILDING ANDROID NATIVE IMAGE { - prePath = "/sdcard/Android/data/com.stream_pi.client/"; + StorageService.create().ifPresent(s->{ + s.getPublicStorage("Documents").ifPresentOrElse(sp->{ + prePath = sp.getAbsolutePath()+"/Stream-Pi/Client/"; + }, ()-> + { + prePath = null; + }); + }); + platformType = Platform.ANDROID; } + else if(osName.contains("ios")) // SPECIFY -Dsvm.targetName=ios WHILE BUILDING ANDROID NATIVE IMAGE + { + StorageService.create().ifPresent(s->{ + s.getPrivateStorage().ifPresentOrElse(sp->{ + prePath = sp.getAbsolutePath()+"/Stream-Pi/Client/"; + }, ()-> + { + prePath = null; + }); + }); + + platformType = Platform.IOS; + } else if (osName.contains("mac")) { platformType = Platform.MAC; --- 'a/src/main/java/com/stream_pi/client/window/Base.java' +++ b/src/main/java/com/stream_pi/client/window/Base.java @@ -253,8 +253,7 @@ public abstract class Base extends Stack { try { - File filex = new File(ClientInfo.getInstance().getPrePath()); - + File filex = new File(getClientInfo().getPrePath()); if(!filex.exists()) { --- 'a/src/main/java/module-info.java' +++ b/src/main/java/module-info.java @@ -7,6 +7,7 @@ module com.stream_pi.client { requires com.gluonhq.attach.lifecycle; requires com.gluonhq.attach.util; + requires com.gluonhq.attach.storage; requires java.xml;