Added
Added mobile-only feature to set selected image files directly as home screen or lock screen wallpaper with confirmation dialogs, supported across local, network, and cloud storage files.
Changed
Updated UFM-Windows license declaration, badge, and contribution guidelines to GPL-3.0 to align with the main FOSS repository.
Fixed
- Fixed grid view item size inconsistency between portrait and landscape modes on mobile devices.
- Fixed folder navigation transition animations being bypassed in non-indexed local folders, network activities, and network fragments when enabled in settings.
- Prevent IllegalStateException crash when fragment is detached during view animation end callbacks.
- Fixed an ANR (App Freeze) on Android TV devices during SSDP discovery by implementing 10s TTL subnet caching in DlnaSsdpEngine and FileServer.
- Fixed Advanced Sync to SMB shares creating a duplicate subfolder (e.g. /Media/Media) instead of syncing to the selected destination.
- The share name was being counted twice because NetworkBrowserActivity encodes it as the first segment of the path and SmbShareClient was independently extracting it again. A syncRemotePath correction now strips the leading share-name segment for standard SMB shares only; all other protocols (SFTP, FTP, WebDAV, NFS, online storages) are unaffected.
- Fixed Advanced Sync to SMB subfolders (e.g. /Media/Movies) producing no file transfers and no notification. The resolved path did not exist on the server, so the listing returned empty and the sync silently succeeded without copying anything.
- Fixed ANR freeze when connecting to SMB servers or browsing server shares by moving blocking TCP socket connections outside session pool monitor locks and parallelizing server share accessibility probes.
- Fixed ANR (App Freeze) on Android TV (Google Chromecast) and mobile caused by MediaStore change notifications flooding the main thread looper, by offloading ContentObserver callbacks to a background HandlerThread.
- Fixed IllegalArgumentException crash (Authenticator combination is unsupported on API 29: BIOMETRIC_STRONG | DEVICE_CREDENTIAL) when initiating settings transfer authentication on Android 10 (API 29) devices.
- Fixed false-positive ANR (App Freeze) reports when waking from device deep sleep or Doze mode by switching AnrWatchdogThread to use SystemClock.uptimeMillis() and filtering idle nativePollOnce looper stack states.
- Fixed NetworkOnMainThreadException crash during SSDP discovery and UDP multicast packet transmission by offloading all DatagramSocket.send calls in DlnaSsdpEngine to a dedicated background executor.
- Fixed potential NullPointerException on Ethernet-only Android TV devices (such as UGOOS AM8) when initializing local network pairing by safely retrieving WifiManager with fallback handling when Wi-Fi hardware is unavailable.
- Fixed an ANR (App Freeze) in VaultActivity during PIN verification, PIN creation, PIN migration, and recovery code verification by offloading 260,000-iteration PBKDF2 key derivation off the main thread to background coroutines.
- Fixed WebDAV media file playback failing with a "Source Error" in both internal UFM player and external players (VLC, MPV). Fixed XML parser tag case-sensitivity for camelCase tags like <d:getContentLength> from Nextcloud, ownCloud, Apache, and IIS servers; added multi-stage size resolution (HEAD -> PROPFIND Depth:0 -> GET Range: bytes=0-0); and prevented zero-byte file size capping from causing instant EOF at offset 0.