## Description
- Stopped updating image width and height in public metadata since the
these could be incorrect (width and height inverted to be precise).
- Parse `rotation` metadata from video metadata when parsing video
properties with `ffprobe` to get the correct video width and height
considering `rotation`.
Noticed multiple ticks when uploading an item, which brought back focus into the
app and caused wakeUp also to get triggered because of sync. Not sure if this
was the issue, but felt like a potential one.
* This ensures that the UI remains responsive when indexing is running.
* This allows us to parallelize the in-flight networking etc instead of
waterfalling everything.
* The actual CPU intensive indexing is still serial.
### Pull Request Description
*Features Added:*
1. *App Lock Options:*
- *Device Lock*: Users can set the app lock to utilize the device's
default lock mechanism (e.g., fingerprint, face recognition, or device
PIN/password).
- *Custom PIN/Password*: Users have the option to set a custom PIN or
password for app lock.
2. *Authentication for App Lock Settings:*
- When users attempt to change the app lock settings, they must
authenticate using the currently set PIN/password or, if none is set,
the device lock.
3. *App Lock on Background and Quit:*
- The app will prompt for authentication when it is brought back to the
foreground after being in the background or when the app is restarted.
4. *Incremental Lock Timer:*
- A timer mechanism is implemented which starts at 30 seconds after few
incorrect unlock attempts.
- The lockout time doubles after each incorrect attempt, increasing
delay penalties.
- After 10 incorrect attempts, the user is automatically logged out.