Cameron Gutman
a73eab5e92
Handle stale controller token mappings upon device removal
2022-06-09 19:43:46 -05:00
Cameron Gutman
a8479ccb5f
Implement support for rumble for Shield controllers on Shield devices
2022-06-09 18:51:23 -05:00
Cameron Gutman
f55e4e0e01
Don't dock expanded PiP overlays when browsing PCs and apps
2022-06-09 00:05:19 -05:00
Cameron Gutman
d08c32ce04
Map external keyboard keycodes to the QWERTY layout that GFE expects
2022-06-08 23:54:57 -05:00
Cameron Gutman
e888ae59e4
Ignore 3 finger tap gesture when cancelled
2022-06-08 22:58:23 -05:00
Cameron Gutman
951d544894
Provide GameState updates to GameManager on Android 13
2022-06-08 22:41:16 -05:00
Cameron Gutman
49898b34e1
Don't export UsbEventReceiver on Android 13
2022-06-08 22:16:58 -05:00
Cameron Gutman
3854a6a42e
Add predictive back support to HelpActivity
2022-06-08 21:45:00 -05:00
Cameron Gutman
04954f5242
Add handling for MotionEvent.FLAG_CANCELED
2022-06-08 20:35:46 -05:00
Cameron Gutman
9fc5496526
Use VibrationAttributes to bypass interruption policy
2022-06-08 20:26:36 -05:00
Cameron Gutman
e363d24b1c
Add PiP title and subtilte on Android 13
2022-06-08 20:04:12 -05:00
TacoTheDank
b5b3d81f00
Clean up flavors by using buildConfigField
2022-06-08 19:44:59 -05:00
Cameron Gutman
297ac64fde
Enable HEVC on all Shield TV devices
2022-06-06 17:29:47 -05:00
Cameron Gutman
d4490f0e17
Fix performance point check for Android M - P
2022-06-06 17:26:59 -05:00
Cameron Gutman
d04e7a3231
Enable HEVC on untested decoders if it's the only way to meet the performance target
2022-06-04 17:37:14 -05:00
Cameron Gutman
5b456aba27
Use a separate HandlerThread for Choreographer callbacks
2022-06-04 17:00:58 -05:00
Cameron Gutman
0c065dcc1f
Print vendor parameters on Android 12
2022-06-04 15:42:06 -05:00
Cameron Gutman
531f73329d
Quiet down excessive exception logging in debug builds
2022-06-04 15:33:12 -05:00
Cameron Gutman
6aac8e6be6
Use amazon.hardware.fire_tv feature to detect Fire TV devices
2022-06-03 19:03:56 -05:00
Cameron Gutman
0b18e8fdb4
Update decoder errata details
2022-06-03 01:39:39 -05:00
Cameron Gutman
19d8ae0f78
Revamp low latency option handling
...
- Introduce a tiered solution where we try progressively fewer options until one works
- Use vdec-lowlatency for all devices, since we know at least the Fire TV 3 supports it with an Amlogic SoC
- Enable HEVC on Fire TV 3 since vdec-lowlatency avoids the HEVC decoder bug
2022-06-03 01:04:11 -05:00
Cameron Gutman
d7ffb5dddc
Refactor decoder creation code to allow retries
2022-06-02 21:17:20 -05:00
Cameron Gutman
2859b73dfe
Add Amlogic low latency vendor-defined option
2022-06-02 21:02:43 -05:00
Cameron Gutman
6f9021a5e6
Add magic performance boost for MediaTek devices
2022-06-01 22:06:11 -05:00
Cameron Gutman
18c93abcb3
Submit fused IDR frames on decoders that support adaptive playback even if they are blocked from using it
2022-05-29 22:21:15 -05:00
Cameron Gutman
bd64dfb661
Submit codec config data with a timestamp of 0 like MediaCodec does with csd-0
2022-05-29 22:10:49 -05:00
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