Cameron Gutman
82619063ee
Plumb frame type information into the decoder
2022-05-29 21:58:28 -05:00
Cameron Gutman
5dbf18d66e
Fix miscounting IDR frames in video stats
2022-05-29 21:10:41 -05:00
Cameron Gutman
6a34ff2728
Rewrite AES pairing functions to avoid Play Store's ECB warning
...
ECB is safe in this context because it's encrypting one-time messages
using a one-time key. All input data going through encryptAes() is
either random or partially random and passed through a secure hashing
function (SHA-256 on modern GFE versions).
Message authentication is not a concern either, because it is performed
by the pairing process itself via RSA signature verification. Any
ciphertext tampering would cause signature verification to fail later in
the pairing process.
2022-05-29 14:38:56 -05:00
Cameron Gutman
81a3bbd5e8
Implement remote desktop optimized mouse mode
2022-05-28 16:38:22 -05:00
Cameron Gutman
1509a2a799
Fix default deadzone setting
2022-05-28 16:16:46 -05:00
Cameron Gutman
fc547b734f
Fix crashes caused by calling NvHTTP with a null address
2022-05-28 15:54:21 -05:00
Cameron Gutman
b3700b5a19
Plumb LiSendMouseMoveAsMousePositionEvent() into JNI
2022-05-28 15:21:58 -05:00
Cameron Gutman
286094ee33
Add dead zone configuration option
...
Fixes #1075
2022-05-28 15:12:58 -05:00
Cameron Gutman
8ffc3b80b2
Rework use of URLs in NvHTTP
...
- Fixes parsing inconsistencies between URI and HttpUrl
- Fixes a couple of serverinfo requests sent without uniqueid and UUID
- Avoids PairingManager having to look into NvHTTP internals
2022-05-22 16:47:45 -05:00
Cameron Gutman
08f8b6cb8e
Keep the SpinnerDialog visible while the connectivity test runs
2022-05-22 15:36:38 -05:00
Cameron Gutman
fb09c9692c
Fix handling of InterruptedExceptions
2022-05-22 15:31:06 -05:00
Cameron Gutman
4901b0c78f
Stop parallel polling threads when we find a working address
2022-05-22 14:56:28 -05:00
Cameron Gutman
0a2117241f
Wrap Choreographer calls to releaseOutputBuffer() in try/catch
2022-05-22 14:32:03 -05:00
Cameron Gutman
ac7c5c1064
Improve handling of required XML tags
2022-05-20 17:15:26 -05:00
Cameron Gutman
cdeda011a4
Temporarily disable in-app links until they are translated
2022-05-18 22:40:47 -05:00
Cameron Gutman
d4bd29b320
Properly deal with battery saver mode in capped FPS mode
2022-05-17 00:14:55 -05:00
Cameron Gutman
7f2f2056c3
Add in-app privacy policy link to comply with Google Play policies
...
Also added Setup Guide and Troubleshooting Guide links too.
2022-05-15 15:56:19 -05:00
Cameron Gutman
41ef292b82
Fix frame rate cap not taking effect with the unlock FPS option enabled
2022-05-14 21:19:51 -05:00
Cameron Gutman
aa60671c88
Return the selected refresh rate now that the capped FPS mode is not default
2022-05-14 20:53:42 -05:00
Cameron Gutman
f1ccba39e8
Don't raise refresh rate above stream FPS except in min latency mode
2022-05-14 20:53:07 -05:00
Cameron Gutman
226e580a30
Prevent microstutter in balanced mode when streaming at 60 FPS on a 120 Hz display
2022-05-14 20:08:41 -05:00
Cameron Gutman
c127af1e05
Rewrite polling logic to avoid needing to poll using a separate socket first
2022-05-14 18:14:37 -05:00
Cameron Gutman
dc85ddb3f9
Reintroduce option of using old frame pacing algorithm using capped FPS
2022-05-08 15:20:08 -05:00
Cameron Gutman
2203186527
Remove extra ViewGroup between OSC and StreamView
...
This allows touch events to be properly split
2022-05-08 14:39:32 -05:00
Cameron Gutman
8a63b61495
Avoid touchscreens when looking for pointer capture capable devices
2022-02-18 17:07:23 -06:00
Cameron Gutman
eb9e6443e2
Display frame pacing mode in crash logs
2022-02-18 17:00:21 -06:00
Cameron Gutman
362c466a16
Reintroduce never drop frames option
2022-02-18 16:04:49 -06:00
Cameron Gutman
c25faf6426
Replace frame pacing hack with Choreographer-based rendering
...
This mimics the frame pacing logic now present in the iOS client.
2022-02-17 23:48:02 -06:00
Cameron Gutman
c0f8001627
Ignore relative mouse inputs from non-mouse tools
...
Apparently this can happen for the SPen on Android 12
2022-02-12 19:50:59 -06:00
Cameron Gutman
f39bf61b04
Try to wake the host PC when connecting via the ShortcutTrampoline
...
Fixes #1024
2022-02-12 18:35:12 -06:00
Cameron Gutman
7552181e24
Plumb setHdrMode callback into MediaCodecDecoderRenderer
2022-02-12 14:31:25 -06:00
Cameron Gutman
4b2e26050e
Only enable pointer capture if a compatible input device is connected
2022-02-12 14:21:19 -06:00
Cameron Gutman
530b48de71
Move recapture on focus gain logic to InputCaptureProvider
2022-02-12 13:58:55 -06:00
Cameron Gutman
8b692269c1
Remove per-app HDR support check
...
It doesn't seem to make a difference anymore whether it's supported or not.
GFE seems happy to enter HDR mode anyway.
2022-02-07 20:23:11 -06:00
Cameron Gutman
4a60ec1755
Fix excessive high-res scroll speed on newer GFE versions
2021-12-14 22:02:12 -06:00
Cameron Gutman
da45cba2ff
Send fractional scroll events properly
2021-12-08 22:11:44 -06:00
Cameron Gutman
ec647608c4
Allow state loss when committing SettingsFragment
2021-08-18 00:24:30 -05:00
Cameron Gutman
597582ddd8
Add workaround for NPE in getNetworkInterfaces()
2021-08-18 00:04:34 -05:00
Cameron Gutman
ae9282b0af
Plumb UTF-8 text support through to NvConnection
2021-08-10 00:14:13 -05:00
Cameron Gutman
04545ecbb0
Avoid tons of redundant calls to InputEvent.getSource()
2021-07-17 14:01:12 -05:00
Cameron Gutman
5350651d6f
Fix crash when using USB driver on Android 12
2021-07-17 13:59:11 -05:00
Cameron Gutman
f2e2e28419
Fix NPE if we receive a SOURCE_CLASS_POSITION event with no associated device
2021-07-17 13:15:57 -05:00
Cameron Gutman
b9031785ac
Fix crash if maxShortcutCountPerActivity is zero
2021-07-17 13:08:25 -05:00
Cameron Gutman
b6e7c425c6
Fix input from SOURCE_TRACKPAD devices
2021-07-16 20:44:01 -05:00
Cameron Gutman
834ace4566
Add SoC details and performance class to exception data
2021-07-16 20:00:03 -05:00
Cameron Gutman
54af70005d
Fix spurious gamepad removal when entering PiP with PS4 controller on Android 12
...
The relative mouse axes AXIS_RELATIVE_X/Y are added/removed when gaining/losing input focus
2021-07-16 19:51:14 -05:00
Cameron Gutman
f2bf168925
Fix possible rumble crash if only the lower motor byte is non-zero
2021-07-16 19:25:10 -05:00
Cameron Gutman
73784585a8
Fix new Android 12 rumble code based on real hardware testing
...
Independent rumble motor controller tested working on:
- DualShock 4 (USB and BT)
- DualShock 3 (USB)
- Xbox Series X (USB)
2021-07-15 19:51:08 -05:00
Cameron Gutman
262d562dd9
Implement enhanced rumble support for Android 12 devices
...
This allows independent control of large and small motors which
was not possible with the old single Vibrator API.
Currently untested on real hardware.
2021-07-14 20:18:35 -05:00
Cameron Gutman
fc4fdd5ee2
Implement seamless PiP entry on Android 12
2021-07-14 20:00:53 -05:00