Commit Graph
638 Commits
Author SHA1 Message Date
antoniou79 f9251fc030 ANDROID: Improve multitap gesture handling for direct touch mode
More guards were added to hopefully link the mouse down and up events that should be executed in sequence, albeit delayed

Also a new case was added for a delayed mouse up event (in JE_MULTI) to avoid it being executed out of order / too soon.
2024-11-07 17:50:47 +02:00
Le Philousophe 70b1b16a93 ANDROID: Monitor shader changes when building assets 2024-10-27 20:02:39 +01:00
Le Philousophe 1a1315ed2b ANDROID: Drop androidx appcompat requirement 2024-10-27 09:43:34 +01:00
tunnelsociety e533413c34 JANITORIAL: Fix typo in helpTabs Touch Controls 2024-09-29 21:28:28 +02:00
Eugene Sandulenko c84a71596f ANDROID: Drop accidental +x flag on source files 2024-09-24 10:47:17 +02:00
Hubert Maier 4533e12280 JANITORIAL: BACKENDS: Fix typos 2024-09-16 02:13:34 +03:00
Le Philousophe c8c3a316d6 ANDROID: Properly apply touch settings when starting a game
The 2D graphics backend is recycled from the GUI when starting a game.
As a consequence, touch settings were never applied.
2024-09-14 16:51:19 +02:00
Le Philousophe ba57ad3a9d ANDROID: Release the AudioTrack instead of stopping it
Stopping throws an exception when the audio track is not initialized.
Releasing is what we want: it stops the track, ignores the error and do
more cleanups.
2024-09-09 18:27:27 +02:00
Le Philousophe 867cbfcd0d ANDROID: Create a dedicated define for Android backend
This allows other backends (SDL, libretro) to be used on Android without
hacks.
2024-09-02 20:53:57 +03:00
Le Philousophe 1d6dc51bb8 ANDROID: Hide the keyboard before _scummvm is null
Else there is a NPE in showScreenKeyboardWithoutTextInputField
2024-09-01 19:14:41 +02:00
Le Philousophe a98df4e445 ANDROID: Rework the virtual gamepad controller
- Use a SVG asset to allow for better scalability
- Make the controller visible when touching the screen
- Allow for oblique moving by placing finger between two directions
- Add more buttons on the center area of the screen (GUIDE, START, LEFT
  STICK, RIGHT STICK) and simplify right area (only four buttons)
- Don't track all fingers, only the ones needed
- Cleanup now unused code
2024-08-31 16:45:32 +02:00
Le Philousophe 5065891f0c ANDROID: Make system gestures insets available to C++
This will be used by touch controls
2024-08-31 16:45:32 +02:00
Le Philousophe 64eff5293a ANDROID: Add compatibility helper to get system gestures insets 2024-08-31 16:45:32 +02:00
Le Philousophe e34b92fc2f ANDROID: Push a dynamic shortcut when starting a game
This allows users to fast recall the last games with a long press on the
launcher icon.
This also allows users to pin these shortcuts without having to go by
the widgets selector (which is not implemented in some launchers).
2024-07-27 14:31:44 +02:00
Le Philousophe 8a5628b19c ANDROID: Make some functions static and allow to get a unique game
This will be used later
2024-07-27 14:31:44 +02:00
Le Philousophe 4f742d28e0 ANDROID: Add new compatibility shim to push dynamic shortcuts 2024-07-27 14:31:44 +02:00
Le Philousophe 68b6b965e2 ANDROID: Add shortcuts support up to Nougat MR1 2024-07-27 14:31:44 +02:00
Cameron Cawley 42903e7e6e COMMON: Add inttypes.h to common/scummsys.h 2024-07-03 22:34:26 +01:00
Le Philousophe 3a57523490 ANDROID: Avoid use-after-free when setting up touch mode
We set up touch mode in graphics managers constructor.
At this point, the _graphicsManager variable was pointed to the freshly
deleted old manager instead of being null.
When we are in this position, assume the cursor is at top left.
2024-06-22 20:23:49 +02:00
Cameron Cawley a6a369cdd3 GUI: Handle padding for the backend and engine options in the theme definitions 2024-06-14 01:15:12 +02:00
Cameron Cawley efec9b2d25 GUI: Remove built-in scroll containers from OptionsContainerWidget 2024-06-14 01:15:12 +02:00
Le Philousophe f0609ad962 ANDROID: Fix building from scratch 2024-06-02 10:08:12 +02:00
Le Philousophe e0eac792df ANDROID: Fix typo in comment 2024-06-01 12:44:11 +02:00
Le Philousophe c998525443 ANDROID: Use our own ZipFile implementation and load icons when needed 2024-06-01 12:44:11 +02:00
Le Philousophe c966d31c21 ANDROID: Add our own ZipFile implementation
This allows us to use a FileInputStream (as given by SAF) but with
seeking support.
This avoids us to parse the whole zip files while we only need some of
the files.
2024-06-01 12:44:11 +02:00
Le Philousophe a329f62069 ANDROID: Add a search field to games list 2024-06-01 12:44:11 +02:00
Le Philousophe e70b758496 ANDROID: Add UI to add game shortcuts on the launcher
The UI is started using the standard "Add widget" feature from the
launcher.
Loading of game icons is quite slow and could be optimized later.
2024-06-01 12:44:11 +02:00
Le Philousophe 960c74ad6a ANDROID: Add compatibility shims to handle shortcuts and drawables 2024-06-01 12:44:11 +02:00
Le Philousophe c1827fd420 ANDROID: Add a method to get a ParcelFileDescriptor from a SAFFSNode 2024-06-01 12:44:11 +02:00
Le Philousophe 1a76acc938 ANDROID: Allow sorting of SAFFSNode using their path component 2024-06-01 12:44:11 +02:00
Le Philousophe 81669642da ANDROID: Add getPath method to INIParser
This mimics the getPath method of ConfigManager
2024-06-01 12:44:11 +02:00
Le Philousophe 4ecf2e4ccc ANDROID: Allow to use an Intent to start a specific game
UI to create such intents will come in a later commit.
If the game is already running, it's resumed where it was left when
ScummVM was paused.
2024-06-01 12:44:11 +02:00
Le Philousophe 074344f84e ANDROID: Fix dependencies in port Makefile
Every generated file has now its rule and APKs depend on all the
generated files
2024-06-01 12:44:11 +02:00
Le Philousophe b3e5cf8e58 ANDROID: Optimize imports 2024-06-01 12:44:11 +02:00
Le Philousophe 30c8b3eec3 ANDROID: Use a dedicated INI parser for our configuration file 2024-06-01 12:44:11 +02:00
Le Philousophe 0c748c894f ANDROID: Use a dedicated properties file for srcdir
This allows to have a real file for gradle.properties.
2024-06-01 12:44:11 +02:00
Hubert Maier d8df8eb0a0 JANITORIAL: Fix continously typos in touchcontrols.cpp 2024-05-18 13:52:31 +02:00
Hubert Maier 4ac44129fe JANITORIAL: Fix auxilliary typo in events.cpp 2024-05-18 13:52:31 +02:00
Le Philousophe 9c681ddd77 ANDROID: Fix segmentation fault
We expect the array to be of even size so don't add the external data
title if there is no external data mount point
2024-05-01 11:44:10 +02:00
Le Philousophe 8475ef50da ANDROID: Add shim for AccessibilityEvent 2024-05-01 11:44:10 +02:00
Le Philousophe bb2ebef540 ANDROID: Make a compatibility shim for AudioTrack construction 2024-05-01 11:44:10 +02:00
Le Philousophe abca8ce013 ANDROID: Split deprecated code in its own function
This allows to remove deprecation warning on a limited part of code
2024-05-01 11:44:10 +02:00
Le Philousophe bed4b2ee0d ANDROID: Remove deprecated use of toggleSoftInputFromWindow 2024-05-01 11:44:10 +02:00
Le Philousophe 5146495601 ANDROID: Don't use deprecated getDefaultDisplay and getMetrics 2024-05-01 11:44:10 +02:00
Le Philousophe c155e3dc3b ANDROID: Remove old compatibility code
We don't support something like Honeycomb anymore
2024-05-01 11:44:10 +02:00
Le Philousophe 35e6c7a094 ANDROID: Introduce Compatibility helper class
It's kind of based on Androidx but is simpler and goes up to Jelly Bean.
This removes a bunch of warnings.
2024-05-01 11:44:10 +02:00
Le Philousophe 2522cba583 ANDROID: Don't use deprecated WiFi API
Use ConnectivityManager instead:
- it's more accurate
- it has been available since API level 16 which is the minimum we
  require
- it removes a deprecation warning
2024-05-01 11:44:10 +02:00
Le Philousophe 298c970fca ANDROID: Hide on-screen buttons while native code is not started 2024-04-13 19:16:55 +02:00
Le Philousophe aa406ba5f3 ANDROID: Don't display burger menu when in launcher 2024-04-13 19:16:55 +02:00
Le Philousophe 311f5ce493 ANDROID: Make on screen icons depend on screen orientation 2024-04-13 19:16:55 +02:00