Aaron Culliney
4d9eda4862
Work around another UI race exposed by NVIDIA Shield Portable
2015-12-22 21:53:14 -08:00
Aaron Culliney
4deedb2215
Move main menu dialog code into Apple2MainMenu
2015-12-20 16:45:59 -08:00
Aaron Culliney
bf3ef3ae18
GZIP the supplied disk images to help cut down on app space
2015-12-20 15:18:09 -08:00
Aaron Culliney
abe1346051
Remove unused method
2015-12-20 15:04:06 -08:00
Aaron Culliney
145b6a6cef
Refactor JNI plumbing for consistency
2015-12-20 12:54:27 -08:00
Aaron Culliney
22b1bc9ad8
Move key handling back to the Activity, otherwise we don't seem to receive onKeyUp() for the Android back button
2015-12-20 12:11:12 -08:00
Aaron Culliney
2f7f7bd359
Preliminary support for mapping an Android physical gamepad/joystick to emulated Apple //e joystick
...
- No support for custom joystick/gamepad configurations (yet)
2015-12-19 23:59:02 -08:00
Aaron Culliney
7dd0f0b3cf
Avoid another UI race exposed by NVIDIA Shield Portable
...
- Use AtomicBoolean to avoid spurious extra taps/clicks/presses
2015-12-19 23:24:45 -08:00
Aaron Culliney
3ff877d80c
Refactor : move event handling into custom view
2015-12-19 23:13:52 -08:00
Aaron Culliney
13de08f8cb
map L1 and R1 keys to joy buttons
2015-12-19 23:13:44 -08:00
Aaron Culliney
1d248c5e22
Whitespace and style changes
2015-12-19 23:13:33 -08:00
Aaron Culliney
e5e2f98835
Avoid nasty UI race manifesting on NVIDIA Shield Portable
...
- For some reason this device has really slow Java UI, so it exposed a case where spammy touch resulted in two
save/restore popups and a subsequent assert on the native side if you saved while the emulation was resumed.
2015-12-19 23:12:05 -08:00
Aaron Culliney
1e573c34ad
Meager support for Android joystick/gamepad keys
2015-12-19 13:14:46 -08:00
Aaron Culliney
e165da72fc
Explicitly not supporting older joystick devices
2015-12-19 13:14:10 -08:00
Aaron Culliney
1c50d12963
Source InputManager from AOSP
2015-12-19 13:08:48 -08:00
Aaron Culliney
a1fbc63f98
Semi-inscrutible changes insisted upon by Android Studio
2015-12-19 12:59:40 -08:00
Aaron Culliney
c7c209907b
Allow for keyboard to completely own/cover screen
...
- Includes updated alternate/custom keyboards
2015-12-19 12:56:24 -08:00
Aaron Culliney
72fb577166
Update misc Android assets
2015-12-16 22:14:29 -08:00
Aaron Culliney
2c8284d41f
Start running tests on Android after first resume
...
- This allows for a more consistent test environment (test disks copied out of APK and available, etc) and also
mimics main app behavior
2015-12-16 20:59:20 -08:00
Aaron Culliney
870a24ced6
Fix test compilation on Android
2015-12-15 22:24:43 -08:00
Aaron Culliney
836044c80b
Bump Android version to 1.1.3
2015-12-13 22:48:29 -08:00
Aaron Culliney
f34cf4c384
Band-aid for joystick state corruption after foregrounding
2015-12-13 12:44:03 -08:00
Aaron Culliney
2a51a62127
Avoid NPE when external storage is unavailable
2015-12-13 12:09:49 -08:00
Aaron Culliney
b32a97b6fc
Slightly better translation via @stef-pellegrino
2015-12-12 14:50:41 -08:00
Aaron Culliney
6cef33b501
Request and handle external storage permissions on Marshmallow
...
- Also disentangles exposing APK assets internally and on external storage
2015-12-12 13:38:22 -08:00
Aaron Culliney
ac78e00afa
Alter UI only on UI thread
2015-12-12 13:29:50 -08:00
Aaron Culliney
b1b55006be
Resetting preferences will also quit to re-trigger any migration code
2015-12-12 13:20:47 -08:00
Aaron Culliney
a761c11382
First cut at support for Android versioning and data migrations
2015-12-12 12:09:14 -08:00
Aaron Culliney
d819220a07
Pass Apple2Activity to out getExternalStorageDirectory() function
2015-12-12 12:03:41 -08:00
Aaron Culliney
22914de79c
Enable setting to show/hide disk read/write HUD messages
2015-12-12 12:01:41 -08:00
Aaron Culliney
cdb0f7b06b
Shunt disk-state-change information back to the Java/Android menu system
2015-12-12 11:42:33 -08:00
Aaron Culliney
651ac246e3
Flush disk IO on backgrounding
2015-12-11 23:42:57 -08:00
Aaron Culliney
05cb322feb
Bump Android version to 1.1.2
2015-12-09 22:46:22 -08:00
stef-pellegrino
791bb91843
French version
2015-12-09 19:55:37 -08:00
Aaron Culliney
b48cfa2084
First cut at French translation for Android (blame Google for this one ;-)
2015-12-08 22:36:10 -08:00
Aaron Culliney
d96db51bd2
Clarify and clean up a number of settings
2015-12-08 22:35:59 -08:00
Aaron Culliney
2e100c9b67
Remove a bunch of unused string resources
2015-12-08 20:46:22 -08:00
Aaron Culliney
ad7902b41f
First cut at Moebius keyboard
...
- Takes a bit getting used to, but I successfully completed Earth level employing finger-muscle-memory strategies
from the '80s ;-)
2015-12-07 23:05:03 -08:00
Aaron Culliney
74c951f64f
Bump Android version to 1.1.1
2015-12-04 23:10:47 -08:00
Aaron Culliney
c7250d860f
Send SDK version in crash reports
2015-11-29 21:31:23 -08:00
Aaron Culliney
0d74d21608
Bump Android version to 1.1.10
2015-11-29 14:41:54 -08:00
Aaron Culliney
e1629095b6
Get crash symbolication working for x86 build
2015-11-29 14:35:01 -08:00
Aaron Culliney
12b2103a56
Condense reboot/quit main menu item into one popup
...
- This works better on lo-res devices (ahem, Galaxy Y) and I'd rather not iterate too much on the Java menus for now
since they appear to be basically working =P
2015-11-25 23:13:43 -08:00
Aaron Culliney
b9d6d38b17
First cut at save/restore emulator state feature
...
- This adds to overall UX ... (you can finally finish some very difficult arcade games by strategically leveraging
this feature)
- Currently enabled for Android, but not Android-specific
2015-11-22 18:22:01 -10:00
Aaron Culliney
ad5a6e8061
Get NDK debugging working from script: './apple2ix debug'
2015-11-10 22:08:32 -08:00
Aaron Culliney
e4c669f016
x86 builds and basically works on Android x86 devices
2015-11-09 22:45:52 -08:00
Aaron Culliney
3bdbe50f0f
Bump Android version to 1.0.4
2015-11-08 22:03:22 -08:00
Aaron Culliney
0cefd912b5
Build against API 23 now that text relocs appear to be solved
2015-11-08 21:13:13 -08:00
Aaron Culliney
456f9a14e4
Build PIC without relocations in TEXT section
2015-11-08 21:11:03 -08:00
Aaron Culliney
e9bae19e9e
Bump Android version to 1.0.3
2015-11-04 21:15:12 -08:00
Aaron Culliney
bc96417091
DO NOT use API 23 yet ... we need to fix text relocations first!
...
- This prevents crashing on Marshmallow (for the time being)
2015-11-04 20:03:28 -08:00
Aaron Culliney
fb4d6f466b
Splash screen is not dismissable during first time initialization or crash reporting
2015-11-03 22:47:35 -08:00
Aaron Culliney
a6ac111707
lightly refactor two-phase first-time launch
2015-11-03 22:42:24 -08:00
Aaron Culliney
d0319bd2ff
Splash screen may be dismissable (or not)
2015-11-03 22:41:50 -08:00
Aaron Culliney
871762975a
Bump Android version to 1.0.2
2015-11-01 22:03:39 -08:00
Aaron Culliney
ce974177b2
Correct link
2015-11-01 21:00:05 -08:00
Aaron Culliney
b524b5a068
Point to curated public domain images repo
2015-11-01 20:48:46 -08:00
Aaron Culliney
646d64cd92
Don't forget to clean up crash spam ;-)
2015-11-01 19:33:39 -08:00
Aaron Culliney
6de1cae478
Move nativeOnCreate back to proper position as first native call
...
- This runs discovery of CPU family
- This sets up native crash handling
2015-11-01 19:26:34 -08:00
Aaron Culliney
4999471ade
Work around black screen if someone went to joystick calibration from splash screen
2015-11-01 14:19:40 -08:00
Aaron Culliney
933e99c927
Bugfix Gingerbread GLSurfaceView lifecycle
2015-11-01 14:17:10 -08:00
Aaron Culliney
9a2044f75e
Apparently not possible to query this early on Gingerbread devices
2015-11-01 13:43:09 -08:00
Aaron Culliney
3d634004cf
Avoid reinitializing preferences every resume of GLView
2015-11-01 13:42:05 -08:00
Aaron Culliney
bf54615198
Refactor menu ownership and dismissal
...
- Fix incorrect iteration in dismissAll() that could lead to restarting CPU too early
- Semi-lazy-loaded Apple2MainMenu (which depends on GLSurfaceView/Apple2View as main content) no longer owns
Apple2SettingsMenu and Apple2DisksMenu
2015-11-01 12:44:31 -08:00
Aaron Culliney
521d1daccf
Refactor app startup
...
- Make sure crash checking is performed as early as possible
- Minimize calling complex native functions until after splash screen is dimissed
- Do not attempt to setup/resume OpenGL until after splash screen is dimissed
2015-11-01 10:14:40 -08:00
Aaron Culliney
cbe8a734d0
Move CPU feature discovery into CTOR
2015-10-31 23:00:45 -07:00
Aaron Culliney
6c959a030c
Remove unused public methods
2015-10-31 14:03:53 -07:00
Aaron Culliney
acdc8da64f
Refactor pause/resume functions to be strictly CPU thread pause/resume
2015-10-31 14:01:47 -07:00
Aaron Culliney
e52f753bf3
Remove commented code
2015-10-31 10:35:24 -07:00
Aaron Culliney
d4adabda93
SNEAKY BUGFIX race condition between UI thread and CPU thread on disk insertion
...
- Previously we would start the CPU thread and then insert, which has been a long standing race condition, but
possibly better exposed since the recent disk.c rephactor to use mmap I/O
- This directly manifested on a Kindle Fire 1st Gen as a crash, and, anecdotally on other devices as a "stalled"
disk read requiring a reboot of the virtual machine. Yay for crappy devices helping to expose crappy code! (git
blame me). =P
2015-10-30 23:19:33 -07:00
Aaron Culliney
5c4ab06612
Hopefully improve crash reporting on older devices by sending a crash summary (possibly in addition to the attachment)
2015-10-30 00:13:14 -07:00
Aaron Culliney
dcd77a4650
Allow and gracefully handle case when external files directory is null
2015-10-28 23:52:54 -07:00
Aaron Culliney
38dce3e212
Check if parent view exists as proxy for isShowing
2015-10-25 22:03:44 -07:00
Aaron Culliney
844d8b815b
Losing trust with implementation(s) of Apple2MenuView.isShowing()
...
- This changes the behavior to rely on non-null status as proxy for showing
- TODO : investigate why isShowing() appears to be a race/bogus
2015-10-25 21:00:16 -07:00
Aaron Culliney
997461318f
Bump Android version code
2015-10-25 20:56:51 -07:00
Aaron Culliney
aae70eb59b
Bump Android version to 1.0.0
2015-10-25 14:16:46 -07:00
Aaron Culliney
14099c359a
Round the edges of Android icon
2015-10-25 10:56:08 -07:00
Aaron Culliney
c054be6612
Expose download directory
2015-10-24 13:59:57 -07:00
Aaron Culliney
d497810c23
Robustify crash handling
2015-10-24 13:17:47 -07:00
Aaron Culliney
e512a3ca89
Show progress bar when processing/sending crashes
2015-10-24 12:45:52 -07:00
Aaron Culliney
465872e435
Changes that new Android Studio suggests
2015-10-23 00:03:06 -07:00
Aaron Culliney
42c4248a89
Persist GL information from context so we can write to crash log
2015-10-23 00:02:12 -07:00
Aaron Culliney
42a2fac420
Only expose symbols bundled in APK on demand
...
- Cuts down on launch time
- Cuts down on wasted app space
2015-10-22 23:30:36 -07:00
Aaron Culliney
f7c8978c79
Ensure that path stack has an absolute path
2015-10-22 23:06:20 -07:00
Aaron Culliney
2cc23cf35d
Upgrade to GPLv3 "or later" and update copyrights
2015-10-22 21:09:13 -07:00
Aaron Culliney
9956fc69b2
Bump Android version number
2015-10-20 22:18:24 -07:00
Aaron Culliney
2801b47888
Add auto-genned Android xml file
2015-10-20 21:20:55 -07:00
Aaron Culliney
c6ddfbf763
just assume armeabi for now (appears to allow gdb to work with older Spamsung devices)
2015-10-20 20:44:16 -07:00
Aaron Culliney
4abe8a8c08
Always copy potentially new symbols when booting in debug mode
2015-10-20 20:42:02 -07:00
Aaron Culliney
4e478d369c
Refactor disk interface API function names
2015-10-15 22:51:44 -07:00
Aaron Culliney
51f5bc64ba
Expose macro globally
2015-10-04 14:39:53 -07:00
Aaron Culliney
f4fa5670b4
Add function-call time tracing for Linux/Android
2015-10-04 14:22:26 -07:00
Aaron Culliney
e161dce3c2
Make app shutdown happen on the GL thread to avoid crashing
2015-10-04 13:39:57 -07:00
Aaron Culliney
446d4817bd
Add intent-filter and code to handle inserting disk images
...
- Appears to work from Cyanogenmod's file browser =P
2015-10-04 13:32:26 -07:00
Aaron Culliney
fd0df1274a
Expose file extensions that we can handle
2015-10-04 13:30:38 -07:00
Aaron Culliney
b67cec7b9f
Preferences save calls into native already
2015-10-04 13:30:34 -07:00
Aaron Culliney
242c083180
Simplify splash screen showing logic
2015-10-04 13:30:28 -07:00
Aaron Culliney
9e86f493d0
Bugfix CPU step range values
2015-10-04 13:30:22 -07:00
Aaron Culliney
d93a91cca8
Tests build and run on Desktop Linux and Android
2015-10-04 13:29:17 -07:00
Aaron Culliney
e6a1182c32
Unstick make clean
2015-10-04 11:02:57 -07:00
Aaron Culliney
54a92033b0
Add ability to disable crash checking/reporting in release builds
2015-10-02 20:17:29 -07:00
Aaron Culliney
6a8290d22c
Fix the about link
2015-10-02 20:16:28 -07:00
Aaron Culliney
b4f871613d
Correctly copy keyboard JSON to SD Card
2015-09-30 22:00:08 -07:00
Aaron Culliney
7f32e14a6e
Compile against android-10 while we still care about Gingerbread ... nom nom nom
2015-09-27 15:04:10 -07:00
Aaron Culliney
286012c991
Blow up early, blow up often
...
- Expose and trigger a link error with getpagesize() on Gingerbread devices if we have built the software
incorrectly.
2015-09-27 14:30:20 -07:00
Aaron Culliney
f7f43aa1b2
Clarify and send more device information in crash report
2015-09-27 14:28:10 -07:00
Aaron Culliney
0da8282b49
Attempt to handle link/load errors gracefully
2015-09-27 13:34:58 -07:00
Aaron Culliney
339d037d4e
superstitiously remove synchronization of overridden lifecycle method
2015-09-27 13:31:55 -07:00
Aaron Culliney
b5de4222c3
Handle Java exceptions within Java to the best of our ability
2015-09-27 13:30:16 -07:00
Aaron Culliney
d90b523440
process crashes in-situ on Android device
2015-09-26 15:20:54 -07:00
Aaron Culliney
88be6086a2
Refactor crash testing/reports into separate class/files
2015-09-26 15:16:30 -07:00
Aaron Culliney
a20b2461b5
Include native symbolication information in APK assets
2015-09-26 15:00:07 -07:00
Aaron Culliney
ad2dbd54b0
Android architecture globals
2015-09-26 14:58:09 -07:00
Aaron Culliney
6d63a6bb71
Improved codepaths to recursively copy assets out of APK
2015-09-26 14:56:00 -07:00
Aaron Culliney
0749c83c96
Avoid triggering a native resume when going to background after dismissing all Android UI
...
- This appeared to occasionally get audio/cpu timing wedged
2015-09-26 14:52:15 -07:00
Aaron Culliney
a6397b22d2
Code to test/exercise Android Breakpad crash handler
2015-09-19 14:52:05 -07:00
Aaron Culliney
79613b49fb
Roll back to slightly older target Sdk for sanity
2015-09-19 13:13:11 -07:00
Aaron Culliney
b8921b8441
Integrate Breakpad crash dumper and tools into Android build
...
- Includes Linux x86_64 binaries dump_syms and minidump_stackwalk
- Includes adb_sanitize.c tool (gcc -std=gnu11 -o adb_sanitize adb_sanitize.c) for easily pulling local minidumps
2015-09-19 13:11:27 -07:00
Aaron Culliney
43fa597e7d
Flip-flopping again on NDK build script options-n-things
2015-09-18 23:05:04 -07:00
Aaron Culliney
ba0b0505e3
Minor nit ... name change
2015-09-18 23:04:30 -07:00
Aaron Culliney
0f9f4a70eb
For devices without /sdcard mounted, fall back to alt keyboards supplied in APK
2015-09-17 22:22:40 -07:00
Aaron Culliney
8d3de3ddd0
Avoid NPE on showing splash screen
2015-09-15 22:41:33 -07:00
Aaron Culliney
a7eda527de
Bugfix : avoid NPE if /sdcard directory is not present
2015-09-15 20:38:41 -07:00
Aaron Culliney
33fe40ae71
Errors on copying alt-keyboard.json to /sdcard should not be fatal
2015-09-13 15:16:59 -07:00
Aaron Culliney
5dadc922fd
Simplify mobile lifecycle at the expense of holding onto audio resources
...
- This does not seem to be a problem with both modern and older Gingerbread devices
2015-09-13 14:24:17 -07:00
Aaron Culliney
f343ad9dbd
Get Mockingboard working somewhat better
2015-09-13 12:43:34 -07:00
Aaron Culliney
54e6b7598e
Improved some alt keyboards
2015-09-13 11:37:27 -07:00
Aaron Culliney
11d4ed4c2f
Move a joystick-only configuration option to that menu
2015-09-13 11:25:48 -07:00
Aaron Culliney
c8d7f9cba3
Let chooser interface handle skipping rather than native
2015-09-13 11:23:59 -07:00
Aaron Culliney
104c0bbe6e
Keep track of all AlertDialog objects to properly dispose of them upon backgrounding
2015-09-13 10:43:53 -07:00
Aaron Culliney
9c475b58eb
Better lifecycle management of main menu and splash screen
2015-09-13 10:42:06 -07:00
Aaron Culliney
902cdff495
strict warnings about file I/O were getting annoying
2015-09-13 10:32:17 -07:00
Aaron Culliney
55f04d4f68
Gracefully handle case where /sdcard is removed or otherwise unavailable
2015-09-13 10:01:44 -07:00
Aaron Culliney
dada329a8b
Add script that starts Valgrind on Android device
2015-09-12 15:36:41 -07:00
Aaron Culliney
b2cb35c182
Lifecycle tweaks that get Android building again
2015-09-12 15:33:22 -07:00
Aaron Culliney
bc5559c1b0
Allow graphics thread to self-shutdown to avoid segfault on exit
2015-09-08 23:12:20 -07:00
Aaron Culliney
9c98745099
Remove unnecessary call to pump key handling codepath
2015-09-07 11:08:43 -07:00
Aaron Culliney
fa91a2806d
Get testing working on Android again
2015-09-06 23:43:26 -07:00
Aaron Culliney
2c97f7af19
Excise HEADLESS ... it was only being used by testcpu
2015-09-06 17:14:38 -07:00
Aaron Culliney
7d4b63e12d
Refactor : move reinitialize() to timing module and make static (mostly)
2015-09-06 14:05:18 -07:00
Aaron Culliney
d3ae7d1524
Get ndk-gdb Working For Me (tm)
...
- Force BASH script to be super verbose
- Subvert check for COMPAT_ABI (for now)
- Subvert apparently buggy and unnecessary check for android:debuggable
2015-09-06 13:53:53 -07:00
Aaron Culliney
909b785d07
vanilla ndk-gdb from android-ndk-r10e
2015-09-06 12:40:23 -07:00
Aaron Culliney
8666ca3603
Common baseline for CLI and Android Studio builds
...
- CLI is still super useful for GDB debugging and running emulator testcases
- Possibly this maintenance of two build systems can all go away when Android Studio has better NDK support
2015-09-05 14:40:44 -07:00
Aaron Culliney
c3702c54b5
Remove build variants because they are confusing and incompatible with CLI ant builds which I still want to maintain
2015-09-05 14:08:21 -07:00
Aaron Culliney
d7ae39b2a8
Fixes for olde CLI builds
2015-09-05 13:48:42 -07:00
Aaron Culliney
5b59e1c0c0
Android key click preference for GL touch keyboard
2015-09-03 22:25:38 -07:00
Aaron Culliney
2cd60c3c88
Expose all three touch interfaces in the sprouting menu for easier switching
2015-08-29 10:42:24 -07:00
Aaron Culliney
2cd1be791a
FTUE: add a button to load disk image on splash screen
2015-08-29 10:10:31 -07:00
Aaron Culliney
0743608a0b
UI/UX: default disable lowercase
2015-08-29 09:45:06 -07:00
Aaron Culliney
e4a849e6ae
Allow choosing alternate keyboard.kbd.json file from /sdcard (or internal dataDir)
2015-08-28 22:23:43 -07:00