Commit graph

7637 commits

Author SHA1 Message Date
Gregory John Casamento
3b97343204 Implement indexOfObject 2019-05-30 09:56:19 -04:00
Gregory John Casamento
04711a4f11 Implement firstObject, lastObject and enumeration methods. 2019-05-30 09:03:34 -04:00
Gregory John Casamento
40146d95cf Fix issues with class encoding 2019-05-30 07:46:54 -04:00
Gregory John Casamento
2dfe8d924e Implement more methods 2019-05-28 05:46:08 -04:00
Gregory John Casamento
09bae157fe Implement more methods 2019-05-28 05:40:22 -04:00
Gregory John Casamento
f45a231211 Implement more methods 2019-05-28 05:09:13 -04:00
Gregory John Casamento
fc31e7a37c Implement more methods 2019-05-28 04:49:59 -04:00
Gregory John Casamento
99753cc1a3 Remove errors and warnings. 2019-05-27 07:50:11 -04:00
Gregory John Casamento
2b7152fcde Remove errors and warnings. 2019-05-27 07:40:18 -04:00
Gregory John Casamento
90efc7017a Further implementation 2019-05-27 07:17:30 -04:00
Gregory John Casamento
2a511cca12 Further implementation 2019-05-27 06:05:19 -04:00
Frederik Seiffert
409030a367 Extended NSBundle localizations method for Android. 2019-05-24 10:56:34 +02:00
Frederik Seiffert
ca76053c8e Fixed Android asset language logic in NSBundle. 2019-05-24 09:53:01 +02:00
Frederik Seiffert
9f01876102 Added option to specify Android asset reading mode. 2019-05-24 09:29:24 +02:00
Frederik Seiffert
ba4948fd97 Moved Android asset reading code path in NSData.
No reason to get path file system representation first.
2019-05-24 09:28:10 +02:00
Frederik Seiffert
3b60b1a8be Added support for asset loading on Android.
Requires passing the activity's AssetManager object from Java to GNUstep by calling +[NSBundle setJavaAssetManager:withJNIEnv:], which then enables the following features:

- NSBundle main bundle resource paths support for Android assets, e.g. for pathForResource:ofType:, URLForResource:ofType: and related methods.
- NSBundle main bundle info dictionary support if Info.plist exists in Android assets.
- -initWithContentsOfFile: and related methods support for reading Android assets from main bundle in various classes (e.g. NSData, NSDictionary, NSArray, etc.).
- NSFileManager fileExistsAtPath:(isDirectory:) and isReadableFileAtPath: return YES for main bundle asset / asset directory paths.
- NSFileHandle support for reading Android assets from main bundle.
- NSDirectoryEnumerator support for enumerating Android assets from main bundle. Note that recursion into subdirectories is currently not supported by the native Android asset manager API (see https://issuetracker.google.com/issues/37002833).

Also adds support for automatic NSProcessInfo initialization on Android with a fake executable path "/data/data/<app identifier>/exe" (as Android apps don't have a real executable path), and tweaks main bundle initialization to allow that path. Main bundle resource paths are prefixed by "/data/data/<app identifier>/Resources".
2019-05-23 15:44:07 +02:00
Gregory John Casamento
5287a62909 Add skeletal implementation of keysSortyedByValue*** methods 2019-05-20 22:23:20 -04:00
rfm
5ce5899da2
Merge pull request #41 from triplef/swift-corelibs-libdispatch-compat
Add compatibility for Swift corelibs libdispatch release
2019-05-20 14:54:46 +01:00
rfm
fa34c66e25
Merge pull request #42 from triplef/nsthread-spinlock-builtin
Added basic spinlock implementation using builtins.
2019-05-20 14:47:33 +01:00
Gregory John Casamento
d4428e8d6c Clean compilation 2019-05-20 04:01:20 -04:00
Gregory John Casamento
9a516999c8 GSOrderedSet partial implementation 2019-05-20 01:43:06 -04:00
Gregory John Casamento
61a9dc8a13 Implemented isEqual... 2019-05-19 01:31:15 -04:00
Gregory John Casamento
496c9a63e2 Implemented isEqual... 2019-05-19 00:19:19 -04:00
Gregory John Casamento
b61aa7bb96 Implement NSCoding, add GSOrderedSet 2019-05-18 04:01:11 -04:00
Gregory John Casamento
56785613f1 Implement NSCoding, add GSOrderedSet 2019-05-18 03:56:11 -04:00
Gregory John Casamento
33ae3a3f66 Eliminate errors. 2019-05-17 20:37:19 -04:00
Gregory John Casamento
d96ac7f32a Barebones skeleton compiling now. 2019-05-17 20:17:10 -04:00
Frederik Seiffert
43c5ccaef6 Add compatibility for Swift corelibs libdispatch release
This updates the libdispatch runloop integration to be compatible with the Swift corelibs libdispatch release:
https://github.com/apple/swift-corelibs-libdispatch

In that release, the main queue handle and drain functions have been renamed with a "_4CF" (for CoreFoundation) suffix and have moved to private.h, so we now check for the existance of this header and function names.

Note that libdispatch must be compiled with INSTALL_PRIVATE_HEADERS=YES.

Also fixes the checks for the HAVE_LIBDISPATCH_RUNLOOP define (was inverted) and ensures that both the handle and drain functions are available.
2019-05-10 16:17:53 +02:00
Frederik Seiffert
cecb41958b Always use syslog for NSLog on Android.
As there is no way to access stdout/stderr on Android, and syslog is available and outputs to the system log (accesible using "adb logcat"), this improves the developer experience when developing for Android by enabling NSLog output without having to set the "GSLogSyslog" flag.
2019-05-08 10:52:06 +02:00
Frederik Seiffert
3a97bb08f4 Added basic spinlock implementation using builtins.
This will be used on platforms without pthread_spin_lock(), e.g. Android targeting API level < 24.

Implementation lifted from spinlock.h in libobjc2.
2019-05-07 17:40:41 +02:00
Richard Frith-Macdonald
8ed7ccea9e Cleanups to avoid code conflicts and buffer overrun fixes. 2019-04-16 08:07:16 +01:00
Gregory John Casamento
665bdcf952 Add test for emoji's back in. 2019-04-13 04:52:48 -04:00
Gregory John Casamento
b147a64ff5 Remove semicolons as mentioned by Fred 2019-04-12 09:12:54 -04:00
Gregory John Casamento
298f87d24e All tests passing. Implementation of string and nscharacterset methods completed 2019-04-12 08:46:41 -04:00
Gregory John Casamento
f1b48541ae Fix issue with character set caching. 2019-04-12 06:57:40 -04:00
Gregory John Casamento
51e0e3f45e Some additional changes to the test 2019-04-10 05:43:25 -04:00
Gregory John Casamento
6e843573af Add missing method and rename in header. 2019-04-09 05:27:28 -04:00
Gregory John Casamento
574fc45c0b Initial, untested implementation of stringByRemovingPercentEncoding. 2019-04-09 04:39:55 -04:00
Gregory John Casamento
fc13419877 Correct implementation of method. 2019-04-09 03:51:41 -04:00
Gregory John Casamento
9e960dfcd2 Correct method names 2019-04-09 03:28:35 -04:00
Gregory John Casamento
613d90c193 Initial/untested implementation of new string function. 2019-04-09 02:28:54 -04:00
Gregory John Casamento
b1f47e6f22 Added new character set implementations 2019-04-09 00:59:59 -04:00
Gregory John Casamento
41f4fa411a Skeletal implementation of new characterset and screen methods. 2019-04-08 07:36:38 -04:00
fsb4000
3f305d6973 Decrease ICU version requirements to 49 2019-03-29 17:14:11 +07:00
Richard Frith-Macdonald
dc481825ec remove leftover logging 2019-02-27 17:24:39 +00:00
Richard Frith-Macdonald
dd3e71e050 escape charaacters with codepoint greater than 0x7f 2019-02-27 16:54:45 +00:00
Richard Frith-Macdonald
06019034b0 header line folding fix 2019-02-15 14:13:14 +00:00
Richard Frith-Macdonald
911c5cdd66 make class lookup more reliable 2019-02-14 12:37:44 +00:00
Richard Frith-Macdonald
d6ef10f224 fixes for encoding in mime header encoded word 2019-02-14 11:19:33 +00:00
Richard Frith-Macdonald
921f7521ff improve thread safety when using zombies 2019-02-11 09:09:20 +00:00