Cameron Gutman
1ed7ecc82f
Don't use FLAG_BYPASS_INTERRUPTION_POLICY
...
See https://issuetracker.google.com/issues/235875658
2022-07-19 23:02:31 -05:00
Chase Payne
19b8032d06
Fixes an issue that caused televisions to have frame pacing problems when setting the refresh rate below 50hz
2022-07-12 23:56:38 -05:00
Cameron Gutman
ebd327c7a6
Use new ShieldControllerExtensions library for Shield Controller rumble support
...
https://github.com/cgutman/ShieldControllerExtensions
2022-06-30 18:04:02 -05:00
Cameron Gutman
602febe876
Use onPictureInPictureRequested() to enter PiP on Android 11
2022-06-29 23:28:52 -05:00
Cameron Gutman
84fcd3ae6a
Use requestMetaKeyEvent API on Samsung devices
...
Inspired by #1078
2022-06-28 22:07:40 -05:00
Cameron Gutman
84296c6e1c
Toggle the IME with a 3 finger tap rather than only showing it
2022-06-28 21:40:59 -05:00
Cameron Gutman
9c76defad0
Add workaround for Galaxy S10 devices crashing during WifiLock acquisition
2022-06-26 13:59:39 -05:00
Cameron Gutman
ffd6fab35c
Prevent use of proxies
2022-06-25 14:18:38 -05:00
Cameron Gutman
ce850ac12f
Fix crash on Xiaomi MiPad running newer custom ROMs
...
AVC Decoder: OMX.Nvidia.h264.decode
HEVC Decoder: OMX.Nvidia.h265.decode
AVC supported width range: [32, 3840]
AVC achievable FPS range: [146.0, 149.0]
HEVC supported width range: [32, 528]
HEVC achievable FPS range: UNSUPPORTED!
2022-06-18 15:00:10 -05:00
Cameron Gutman
a93422d3ed
Handle failure to bind com.nvidia.blakepairing more robustly
2022-06-18 14:31:38 -05:00
Cameron Gutman
b2e605838e
Opt in for new predictive back gesture support in Android 13
2022-06-18 14:26:13 -05:00
Cameron Gutman
2e14002442
Switch to the new native per-app language preference APIs on Android 13
2022-06-18 14:19:19 -05:00
Cameron Gutman
c743949df5
Don't crash if no performance data was provided for the codec using the M API
2022-06-18 10:37:16 -05:00
Cameron Gutman
f207a3f6d1
Use areSizeAndRateSupported() as a last resort if no performance data is available
2022-06-18 10:35:12 -05:00
Cameron Gutman
d6211605a1
Fix crash on shortcut launch if PC has no known MAC address
2022-06-18 10:23:06 -05:00
Cameron Gutman
22b9c9ca68
Use H.264 on Sabrina if possible for lowest latency
2022-06-13 21:40:41 -05:00
Cameron Gutman
aa10bb7dc5
Block HDR use on the known broken Shield TV firmware build
2022-06-13 20:23:18 -05:00
Cameron Gutman
c6100a9be1
Catch potential older NVIDIA devices that use partial HEVC acceleration
2022-06-13 19:25:29 -05:00
Cameron Gutman
529a2f7bf8
Prevent PiP entry while the USB permission dialog is open
2022-06-13 19:23:03 -05:00
Cameron Gutman
982b36cf98
Adjust app details text for new HDR behavior
2022-06-09 20:25:37 -05:00
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