Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
2.3.8 - 2023-12-05
Fixed
- App no longer crashes on Android 12 when granting permissions during setup
2.3.7 - 2023-11-15
Fixed
- Improve startup time
- Support Proprietary power timer policy (since 2.3.0)
2.3.6 - 2023-11-07
Fixed
- Fallback Android TV launcher shows Notifications, Settings, and clock in the top right corner
2.3.5 - 2023-11-03
Fixed
- Taking full screenshots using a11y framework on API 30 now works again (since 2.3.1)
- Improved process management during setup
2.3.4 - 2023-10-31
Fixed
- Fix potential deadlock affecting Sony Bravia BPK provisioning (since 2.3.1)
- Avoid potential DoS attack denying cloud connection by starting exported components
2.3.3 - 2023-10-30
Fixed
- IR lock no longer gets stuck when enabled on Sony Bravia (since 2.3.1)
- Attempt to disable preinstalled high-priority Android TV launcher (so other apps can become the launcher)
2.3.2 - 2023-10-29
Fixed
- Background app setup doesn't end prematurely (since 2.3.1)
- Correctly report service connection status
2.3.1 - 2023-10-26
Fixed
- Correctly provision developer options from flash drive
- Disable battery optimizations or disable Idle Mode
- Devices without a battery no longer report battery stats
2.3.0 - 2023-10-01
Added
- Sony Bravia: Suppress IR remote control keys when Kiosk Mode is active (as was always intended)
- Developer Option: Hotel Mode (enables IR RC and user power control in Kiosk Mode)
- Support Proprietary power timer
Fixed
- Remove dependency on
BatteryManager
- Setup: Improve ADB connection handling
- Philips 10BDL3051T: Manage network adapters in order to keep connectivity
- Setup: Improve process stability
- Setup: Correctly handle
android.permission.POST_NOTIFICATIONS
on Android 13 - Persist device name and organization name across app restarts and reboots
- Sony Bravia: Wi-Fi MAC address contributes to device UID for new installations
- BenQ SL: Report correct Android firmware type in case the scaler chip firmware doesn't match
- Report Wi-Fi SSID and signal strength on Android 9+
- Correctly report storage volumes after first run
2.2.3 - 2023-06-27
Fixed
- Setup process is now slightly faster
2.2.2 - 2023-06-26
Fixed
- Setup process is now more resilient to
lowmemorykiller
system daemon
2.2.1 - 2023-06-26
Fixed
- Vestel: Disable automatic system update dialog
2.2.0 - 2023-06-23
Added
- Expose public key for ADB authentication for automation
Fixed
- Allow
android.permission.SYSTEM_ALERT_WINDOW
for remotely installed apps on Android 10+ - ADB: Confirmation dialog doesn't flicker
- ADB: Confirmation dialog is only shown on subsequent attempts
2.1.0 - 2023-05-10
Added
- Support hisense
Fixed
- Setup: Manage more permissions interactively on unsupported devices
- Setup: Offer to enable Philips SICP
- Setup: Offer to set Sharp's Monitor Control Select to Application
- Panasonic: Support IR lock
2.0.1 - 2023-04-20
Fixed
- Report correct model to cloud (since 2.0.0)
- Improve setup experience on some TVs
- Gracefully handle missing WebView package
- Deprovisioning: Coerce volume between 10 % and 50 %
- Deprovisioning: Reset screen orientation
- Deprovisioning: Clear app cache
- Status: Added option to Rerun Setup Wizard under new Troubleshooting dialog
- Public API: Auto Start SDK works again (since 2.0.0)
2.0.0 - 2023-03-21
Added
- Use ADB to perform device management on devices running Android 7-10 with ADB-over-TCP enabled
- Set self as device owner on devices with root or ADB-over-TCP enabled
- EULA confirmation during setup
- Report management capabilities
- Experimental: Support separate frontend app
- Experimental: Allow running on unsupported devices
- Support Panasonic SQE2
Changed
- Implement interactive step-by-step setup wizard ensuring proper configuration after first run
Fixed
- Correctly recognize Ethernet connection on Philips
- Vestel: Report correct firmware version
1.7.1 - 2023-03-10
Fixed
- Gracefully handle if we can't toggle Do Not Disturb mode along volume
- Don't ask to enable Accessibility Service on platforms that don't support it
- Philips: Reliably check external storage lock
- Support Elo I-Series 4 Value
1.7.0 - 2022-11-02
Added
- Report device brand separately
- Report OS version
- Support Elo I-Series 4
- Support Elo Backpack 4 Standard and Value
- Support QR code and NFC provisioning on Android 12
Fixed
- Using certain device management APIs on BenQ SL2K no longer restarts the app
Security
- Update
OkHostnameVerifier
, fix CVE-2021-0341 - Update Google Play services SDK, fix CVE-2022-1799
- Update Guava, fix CVE-220-8908
1.6.1 - 2022-09-05
Fixed
- Remove surrounding quotation marks from reported Wi-Fi SSID
- Check native library compatibility before installing packages
1.6.0 - 2022-07-04
Added
- Support Vestel PN series
Fixed
- Fix false negative package install results
- Fix display off using root on Android 4.4
- Fix setting time using root
1.5.1 - 2022-05-04
Fixed
- Fix potential crash when fetching time from NTP server (since 1.5.0)
- Display on/off/timer work more reliably on Philips BDL4051D
- Fix Device Owner feature check on Sony Bravia
1.5.0 - 2022-03-17
Added
- BenQ, Philips: Restore display power state after a power outage
- Automatically attempt to update to at least WebView 85.0.4183.120
Fixed
- Read serial number after provisioning as Device Owner
- Interactive package install now works on Android 11
- Taking screenshots should now work on supported devices running Android 12 or newer
- Taking screenshots is now supported on Android 11 using Accessibility Service API
- Improved attempt to fix time on devices which don't preserve time across reboots
- Sharp PN-HM1 should no loner get stuck on black screen after display ON command
1.4.1 - 2022-02-03
Fixed
- Open status page after provisioning
1.4.0 - 2022-02-02
Added
- Support Philips BDL3550Q (Android 8.0)
- Support Philips BDL4550D (Android 8.0)
- Support Philips BDL4551T (Android 8.1)
- Support ELO I-Touch 3.0 (Android 8.1 AOSP)
- Support ProDVX APPC-10X (Android 8.1)
- Support Sony Bravia (Android 10, requires advanced setup)
- Support arbitrary phones (Android 7+, requires advanced setup)
- Allow taking screenshots using Media Projection API (requires advanced setup)
- Report screen resolution
- Report firmware type
- Report temperature
- Device Policy
- Bundle support for recent TLS cipher suites
- Install packages and firmware updates from absolute URLs
- Support firmware update on Android 10+ with Device Owner
- Re-apply last set display power after reboot
Fixed
- Report correct serial number on BenQ
- Throttle installed package reports
- Correctly reschedule timer events
- Report package install failure immediately on BenQ SL2K
- Automatically grant runtime permissions for installed packages on more devices
- Send all types of telemetry reports on app start
- Improved telemetry stability
- Improved platform socket stability
- Report framerate
- Support firmware update on BenQ SL2K
- Set orientation on Philips tablets
- Read temperature on more devices
- Report correct screen resolution on Android 4.4 and 5.x
- Display on/off should be more reliable on Philips BDL3550Q and BDL4550D
- Schedule app restart
1.3.0 - 2020-12-11
Added
- Support Sharp PN-HM1 series.
- Support setting NTP server.
Fixed
- Philips xxBDL4051D should no longer get stuck during reboot.
- Screen will no longer be forced on if there are no proprietary timer rules set.
- Setting brightness should use correct range on tablets.
- Disable Smart Power on Philips TVs before setting brightness.
- Report last charging time on Android 6+.
- Support Ethernet restart on BenQ SL2K.
- Don't attempt Ethernet restart when using static IP.
1.2.2 - 2020-08-25
Fixed
- Temporarily enable Wi-Fi adapter to get WLAN MAC address, if needed.
1.2.1 - 2020-08-21
Fixed
- Support
rk3399_mid
devices when running as Device Owner.
1.2.0 - 2020-08-19
Added
- Support BenQ SL2K (Android 8) series.
- Support Philips DL (Android 7) series.
- Support recent SSL ciphers via unbundled signageOS Conscrypt APK.
- Expose preferred kiosk state through a
ContentProvider
(requires runtime permission or shell). - Support pre-verification for Open subscription type.
- Report more info about OS to server.
- Report installed packages to server.
- Allow Lock Task Mode for all apps installed via Cloud Control when running as Device Owner app.
- Start apps after installation.
- Support uninstalling Android apps via remote action.
Fixed
- Bundle some recent root CA certificates.
- Support setting brightness on Philips QL.
- Correctly report battery status to server.
- Handle corner cases in interactive package installer.
- Persist preferred kiosk state.
- Sharp will not change monitor button lock anymore (lock mode may change to accommodate RC lock).
- Fix Ethernet restart on BenQ SL2K series.
- Disable system package verifier for silent package installs on some devices.
- Grant runtime permissions to apps installed via Cloud Control.
1.1.0 - 2020-02-07
Added
- Support BenQ SL series.
- Support Sharp PN series.
- Support Philips DL (Android 4), PL, QL, TL (10" Android 4, 24") series.
- Support Open subscription type.
- Support launching Android apps via remote action.
- Support controlling screen orientation.
- Automatically install required system companion apps.
Fixed
- Unrecognized power commands are no longer treated as failed.
- UpdateDeviceTimeSettings command now reports success correctly.
- SetDeviceVolume and SyncRemoteControlSettings now report failure correctly.
- Backup restart power action is confirmed to server.
- Socket config URL is never changed at runtime.
- App doesn't crash when restarting on Android 9+.
- Various fixes in service socket connection.
- Re-compress large screenshots before upload.
1.0.2 - 2019-10-01
Fixed
- Restart Cloud Control on uncaught exception.
- Prevent potential error when web socket fails to connect.
1.0.1 - 2019-10-01
Fixed
- Added missing ping to server every 30 seconds.
- Unlock RC and ensure power on after deprovisioning.
1.0.0 - 2019-09-20
This is the initial release of the Cloud Control app.
Added
- Device registration & verification.
- Remote device management.
- Socket health checking and Backup restart
- Status screen.
- Restart Ethernet if necessary.