lynxnb
83bc93601f
Use EFFECT_TICK
instead of CLICK
as OSC vibration effect
2023-04-02 18:16:10 +02:00
lynxnb
88e6fc9888
Implement OSC snap to grid functionality
2023-04-02 18:16:10 +02:00
lynxnb
88084016a1
Implement OSC per-button scale functionality
2023-04-02 18:16:10 +02:00
lynxnb
2794af6d06
OSC: delegate config reset to individual buttons
2023-04-02 18:16:10 +02:00
lynxnb
3fc09f0953
Add OnScreenButton
properties' missing comments
2023-04-02 18:16:10 +02:00
lynxnb
81eb8fd231
Rework OSC edit mode handling for better extensibility
...
Edit mode configuration parameters are now shared between the view and the buttons in a small `OnScreenEditInfo` object, avoiding variable duplication about edit state. The `editingTouchHandler` has also been simplified to only lookup the button if one wasn't being edited already.
2023-04-02 18:16:10 +02:00
lynxnb
c4d0d02509
Simplify OnScreenConfiguration
...
`ControllerConfigurationDummy` was removed as it isn't needed anymore, and the remaining classes simplified.
2023-04-02 18:16:10 +02:00
lynxnb
17f45c0366
Retrieve the vibrator service outside of OSC View
...
Retrieving the vibrator service inside the view crashes the layout editor. Fix by retrieving it in the activity and passing it to the view.
2023-04-02 18:16:10 +02:00
kikimanjaro
0eed72664d
Add automatic refreshing games list
2023-04-02 16:52:37 +02:00
PabloG02
ef5456f939
Hide Debug preferences from search on release builds and remove settings that don't support per-game configuration instead of hiding them
2023-03-25 22:54:27 +00:00
PabloG02
44cbf26b72
Add search functionality to settings
...
Multiple terms search is also available by separating individual terms with commas.
2023-03-25 22:54:27 +00:00
lynxnb
ab553c9671
Use MD3 divider in ControllerActivity
2023-03-22 21:57:50 +01:00
lynxnb
236b754559
Implement Material You theming support
...
Material You is disabled by default, it can be toggled in settings.
2023-03-22 21:57:50 +01:00
lynxnb
d3d22670f9
Use MaterialAlertDialogBuilder
in PreferenceDialogFragment
s
...
`PreferenceDialogFragment`s have been extended to use `MaterialAlertDialogBuilder`, which results in Material Design 3 dialogs. `DialogFragment` creation logic has been moved to `SettingsActivity` to reduce code duplication.
2023-03-22 21:57:50 +01:00
lynxnb
a4a5bedeea
Remove icon padding from the left side of preferences
...
`ProfilePicturePreference` image preview has been moved to the right side as a result.
2023-03-22 21:57:50 +01:00
lynxnb
b12a2bdc3e
Replace preference checkboxes with material switches
2023-03-22 21:57:50 +01:00
lynxnb
ee2716403e
Update dialogs' drag handle to use BottomSheetDragHandleView
2023-03-22 21:57:50 +01:00
lynxnb
2bcf0e2abd
Update themes and styles to Material Design 3
...
This commit transitions all layouts and views to the use the new stuff from MD3.
2023-03-22 21:57:50 +01:00
Billy Laws
c928084bb1
Show a toast when per-game settings are active
2023-03-19 13:52:15 +00:00
Abandoned Cart
0949d51871
Clear or suppress some easy lint warnings
2023-03-18 16:16:15 +01:00
Abandoned Cart
e68baf9088
Centralize missingIcon and condition for use in DataItem
...
`One missing Bitmap to rule them all and one condition to find them.` Also eliminates passing that condition between methods. The data class can simply return the same instance every time it's necessary.
2023-03-15 14:25:24 +01:00
Abandoned Cart
905c0a47fa
Allow the options, even if they're useless
...
Since this is instantiated in `onCreate` and may be recycled with different settings, relying on the audio to be disabled to determine if a mute action is available seems like a risky gamble.
2023-03-14 23:22:32 +00:00
Abandoned Cart
39393ec310
Move picture-in-picture configuration to method
...
This will also make the transition to per-game settings less of a collision later.
2023-03-14 23:22:32 +00:00
Abandoned Cart
a906c6d689
Use BuildConfig package name to forgo Context
...
This should adapt to the package name, despite not actually relying on the value of it to function. Intents are one of the most analyzed items for vulnerabilities and exploits.
2023-03-14 23:22:32 +00:00
Abandoned Cart
bd9050f6c7
Add an emulator pause button to the OSC
2023-03-14 23:22:32 +00:00
Abandoned Cart
69e322b76b
Pausing should mute audio for looped music
...
Also adds pausing the surface in onPause and restoring it in onResume to avoid wasting resources when the activity is legitimately in the background.
2023-03-14 23:22:32 +00:00
Abandoned Cart
df96d74ca1
No use assigning null surface if null already
...
This also prevents any possibility a null value is falsely assigned to a valid surface for whatever reason.
2023-03-14 23:22:32 +00:00
Abandoned Cart
95a679e5cd
Add an action to pause the emulator process
2023-03-14 23:22:32 +00:00
Abandoned Cart
a1143ee5de
Respect the existing "mute" user preference
2023-03-14 23:22:32 +00:00
Abandoned Cart
bdc368e039
Add a mute button as a PiP window action
2023-03-14 23:22:32 +00:00
Abandoned Cart
4298415134
Add picture in picture for emulation activity
2023-03-14 23:22:32 +00:00
Abandoned Cart
6703a875f0
Support deprecation of getSerializableExtra
2023-03-11 18:27:15 +00:00
lynxnb
b724bc2309
Adjust default OSC opacity and color
2023-03-05 12:45:07 +01:00
KikiManjaro
1282362fce
Add color selection to OSC
...
* Add bold text and antialiasing for osc buttons
* Fix osc dpad and button position (widder than taller)
* Set default OSC color to white background with black text
2023-03-05 12:45:07 +01:00
KikiManjaro
66d2965c63
Fix resetControls for opacity of OSC
2023-03-05 12:45:07 +01:00
Abandoned Cart
1f608da8e0
Drop local app path in preview summary
2023-03-05 11:48:46 +01:00
Billy Laws
7150ce0d1d
Allow disabling the freeing of texture guest memory
...
This helps to prevent issues that result from the overlapping of buffer and texture data, by only ever syncing back textures if they are actually used as RTs, which are much less likely to overlap buffers.
2023-03-04 18:55:44 +00:00
lynxnb
787f2bde02
Enable localization for app strings
...
A setting has been added to override the system default language, should a user want a different language for the app.
2023-02-27 22:19:53 +01:00
lynxnb
aa1da257f8
Add an option to copy global settings to per-game ones
2023-02-27 19:56:53 +01:00
lynxnb
485bd2031c
Only hide validation_layer
setting on release instead of debug category
2023-02-27 19:56:53 +01:00
lynxnb
b2228a93da
Reorder settings pt.2
2023-02-27 19:56:53 +01:00
lynxnb
ddfa9013a9
Use a proper tag for AppItem
in intent extras and arguments
2023-02-27 19:56:53 +01:00
lynxnb
2f4778247c
Use per-game settings during emulation
2023-02-27 19:56:53 +01:00
lynxnb
1a11aaa651
Add per-game settings configuration functionality
2023-02-27 19:56:53 +01:00
lynxnb
0467614dc0
Add per-game support to EmulationSettings
...
Implements support for retrieving per-game emulation settings
2023-02-27 19:56:53 +01:00
lynxnb
cd426d9f18
Split PreferenceSettings
into AppSettings
and EmulationSettings
...
`PreferenceSettings` was removed in favor of:
* `AppSettings`: stores general purpose settings mostly used for UI configuration and state
* `EmulationSettings`: stores emulation-related settings, most of these are passed to native emulation code
2023-02-27 19:56:53 +01:00
lynxnb
854ea1a42d
Make NativeSettings
a serializable data class
2023-02-27 19:56:53 +01:00
lynxnb
ee98aaaed1
Add a method to return format in AppItem
2023-02-27 19:56:53 +01:00
lynxnb
d1fd44e32e
Move preference fragment to a separate file for modularity
2023-02-27 19:56:53 +01:00
lynxnb
a683978e8c
Split preferences to multiple files for reusability
2023-02-27 19:56:53 +01:00