Benjamin Wiegand
54b8f7e416
improve dynamic colors themes
2025-08-08 16:53:42 -07:00
Benjamin Wiegand
a767079d34
version 0.0.2
v0.0.2
2025-07-15 12:47:48 -07:00
Benjamin Wiegand
e1edbe963c
implement power button
...
I'm not entirely happy with the ui changes, I might revisit them
2025-07-15 12:23:10 -07:00
Benjamin Wiegand
56113d7d87
version 0.0.1
...
fuck it time for release now
v0.0.1
2025-07-10 16:47:02 -07:00
Benjamin Wiegand
cb23b4995e
only grant POST_NOTIFICATIONS on api >=33
2025-07-10 16:37:18 -07:00
Benjamin Wiegand
853083415e
add new app icon
2025-07-10 16:34:43 -07:00
Benjamin Wiegand
343d2ab792
request notification permission
2025-07-09 19:40:00 -07:00
Benjamin Wiegand
7fabc95359
don't reconnect automatically if not open
2025-07-09 18:40:23 -07:00
Benjamin Wiegand
634a57b420
add foreground notification
...
this should hopefully stop the annoying disconnections when the app is backgrounded.
the implementation did not go to plan. nothing ever goes to plan. but whatever, it works well enough.
2025-07-08 01:30:17 -07:00
Benjamin Wiegand
e5d9e085b3
debug flag for network logs
2025-07-06 21:29:44 -07:00
Benjamin Wiegand
916b79008a
debug flag for defaulting to localhost:6969
2025-07-06 21:25:20 -07:00
Benjamin Wiegand
8ea8723149
fix test
2025-07-06 21:24:00 -07:00
Benjamin Wiegand
4023bee0c1
media state event booleans can be null
2025-06-25 18:50:35 -07:00
Benjamin Wiegand
085797a502
move error text to strings
2025-06-25 18:45:01 -07:00
Benjamin Wiegand
56c08aaca5
add default editor action / submit button
...
also added a shift key to even out the keyboard buttons
2025-06-25 18:40:34 -07:00
Benjamin Wiegand
c79b27be73
add separate click action for accessibility
...
long press also works pretty well with talkback
2025-06-24 21:41:38 -07:00
Benjamin Wiegand
32214108e3
send repeating key events by default
...
as it turns out, sending multiple key down events is the rule not the exception. I should have checked this.
2025-06-24 19:36:26 -07:00
Benjamin Wiegand
a69288aa23
refactor
...
- put the button handling of RemoteButton classes into a single shared class so the code doesn't have to be duplicated across both classes
- renamed a method from "UpDown" to "DownUp"
2025-06-24 17:36:48 -07:00
Benjamin Wiegand
54f5c78b14
allow ime action to send text
2025-06-24 14:25:51 -07:00
Benjamin Wiegand
45ae9be2f9
fixes for small screen sizes
...
- require a minimum width for the landscape dpad layout
- remove UI elements if the screen is too small
2025-06-23 20:39:20 -07:00
Benjamin Wiegand
5150c8da86
make stack trace dropdown less prominent and hide it for remote exceptions
2025-06-23 18:45:47 -07:00
Benjamin Wiegand
b213d918a2
fix button text teleportation
...
it can still happen if you tap it and quickly open the keyboard, but this is good enough for now
2025-06-23 18:17:37 -07:00
Benjamin Wiegand
fafe2a610f
add more icons
2025-06-23 16:39:17 -07:00
Benjamin Wiegand
29364120b6
dd navbar margin in landscape mouse layout
2025-06-23 13:27:47 -07:00
Benjamin Wiegand
0549c95044
adjust dpad margin
2025-06-23 00:38:14 -07:00
Benjamin Wiegand
7e98e38ee6
fix dpad spacing
...
the dpad was kinda off-center because the grid tiles were not sized evenly.
before you ask, no, I don't even know why it was like that, but this fixes it.
2025-06-23 00:35:09 -07:00
Benjamin Wiegand
ce940b5496
set a minimum width for button rows
...
without this they get crushed if the dpad is too small
2025-06-22 23:31:21 -07:00
Benjamin Wiegand
9fa3126592
fix button grid alignment with dpad
...
buttons should be in line with the 3x3 dpad grid. this means not evenly spaced, because math.
2025-06-22 23:30:00 -07:00
Benjamin Wiegand
eb6fa77686
use constraint layout chain
...
previously there were problems with square(ish) screens having clipping ui elements, now they only have clipping ui elements in landscape mode.
unfortunately I couldn't get the media buttons in the exact position I wanted them. at this point I'm just happy that I have a dpad ui that doesn't completely break on some aspect ratios.
2025-06-22 22:52:33 -07:00
Benjamin Wiegand
6b16be891e
show media source/title on dpad screen
2025-06-22 20:34:22 -07:00
Benjamin Wiegand
0d68e57e74
make media metadata go "invisible" instead of "gone"
...
avoids/reduces layout shift when it changes
2025-06-22 20:33:34 -07:00
Benjamin Wiegand
a582002593
move media buttons to the top of the screen
2025-06-22 20:24:11 -07:00
Benjamin Wiegand
874373661a
add navbar margin in mouse layout
2025-06-22 20:00:22 -07:00
Benjamin Wiegand
40f64bf33f
remove button margin
2025-06-22 19:58:37 -07:00
Benjamin Wiegand
e19c9aeb2c
implement keyboard input ui
...
for now it just auto-types text provided in a textbox. I've been thinking of a much more integrated solution, but it will take a lot of time
2025-06-22 19:14:37 -07:00
Benjamin Wiegand
14ee7eb112
refactor RemoteButton -> RemoteImageButton and add RemoteTextButton
2025-06-22 19:11:11 -07:00
Benjamin Wiegand
75509371c2
send up/down key events for all buttons
2025-06-21 15:16:02 -07:00
Benjamin Wiegand
1421dac1e5
add basic protocol support for keyboard
2025-06-20 20:55:57 -07:00
Benjamin Wiegand
a35f58687e
use new constants for key events
2025-06-19 16:36:54 -07:00
Benjamin Wiegand
f48cc1889c
allow rotating just the drawable
...
rotating the entire button becomes problematic. for example, if the button isn't square or has a rotation not divisible by 90, you will be able to tell that the background get rotated too.
2025-06-19 16:23:57 -07:00
Benjamin Wiegand
5eadb01fc8
fix contentDescription
2025-06-19 16:18:59 -07:00
Benjamin Wiegand
350bacfa1b
add operation definitions before starting i/o threads
...
prevents a race condition where you can get a "HUH?" right after the connection is established for a supported command
2025-06-13 04:01:26 -07:00
Benjamin Wiegand
bc31b53c4f
subscribe to position events while on media screen
2025-06-13 03:59:44 -07:00
Benjamin Wiegand
5da846eac2
implement media session feedback into UI
...
- shows text information about the media
- the play/pause button now switches between play and pause icons depending on if the primary media session is playing. the button still always toggles playback.
- if subscribed to position events, the seek bar is shown and matches playback position
2025-06-13 02:50:28 -07:00
Benjamin Wiegand
5f2cf3f5bf
refactor toast errors
2025-06-13 02:44:52 -07:00
Benjamin Wiegand
0b359d1c48
update media display layout
...
- add app name label
- make everything hidden by default
2025-06-13 02:43:35 -07:00
Benjamin Wiegand
05790b2a1b
implement media session tracker
...
tracks what media sessions are active, their states, callbacks for them, and manages subscriptions to media related events
2025-06-12 23:42:08 -07:00
Benjamin Wiegand
c82fda50df
remove unused exception
2025-06-10 11:33:13 -07:00
Benjamin Wiegand
3d9939d91d
increase event timeout to 30 seconds
...
this doesn't fix any known issues, but events getting dropped is not supposed to happen and increasing this timeout makes it much less likely that network latency could cause a problem
2025-06-10 11:30:00 -07:00
Benjamin Wiegand
4b99866247
log exceptions in event handlers that aren't error messages
2025-06-10 11:27:47 -07:00