ReviewOS

also looking at this

craft-native/craft

feat(android): downloadFile and saveFile in Zig — ratchet 69 → 67

#176
Merged glennmichael123 wants to merge feat/android-files into main
6 files +477 -3
packages/android/templates/CraftNative.kt.templatemodified+21-0
Changes to packages/android/templates/CraftNative.kt.template
@@ -129,6 +129,8 @@ object CraftNative {
129129 private external fun nativeLockOrientation(activity: Activity, orientation: String): Boolean
130130 private external fun nativeUnlockOrientation(activity: Activity): Boolean
131131 private external fun nativeSetKeepAwake(activity: Activity, enabled: Boolean): Boolean
132 private external fun nativeDownloadFile(activity: Activity, url: String, filename: String): Boolean
133 private external fun nativeSaveFile(activity: Activity, data: String, filename: String): Boolean
132134
133135 /**
134136 * `getDeviceInfo`, or null to use the Kotlin implementation.
@@ -629,4 +631,23 @@ object CraftNative {
629631 false
630632 }
631633 }
634
635 /** Both answer through the reply channel; true means Zig took the action. */
636 fun downloadFile(activity: Activity, url: String, filename: String): Boolean {
637 if (!isAvailable) return false
638 return try {
639 nativeDownloadFile(activity, url, filename)
640 } catch (e: UnsatisfiedLinkError) {
641 false
642 }
643 }
644
645 fun saveFile(activity: Activity, data: String, filename: String): Boolean {
646 if (!isAvailable) return false
647 return try {
648 nativeSaveFile(activity, data, filename)
649 } catch (e: UnsatisfiedLinkError) {
650 false
651 }
652 }
632653}