BenOS Uma Release Notes:
Latest version: Uma.1 available below!
If you are already running BenOS, just install the update. You don't need to uninstall any modules to prepare.
*Uma.1 CHANGELOG:*
 (now with 100% less Error 51)
- Play Integrity is now 100% automated
  - Installs modules and sets Google Play Services to proper "umount disabled" option.
  - Sets Play Integrity Inject options correct (verified to work with Google Wallet.)
- Phone will reboot 1x automatically after initial reboot, be sure to unlock your screen.
- The .pit_installed control file is now orphaned, .pit_installed_u is now used.
- Adblock remains enabled by default, unlike the "beta" version.
Note: after applying an OTA update, the phone may run slower temporarily while it reconciles boot slot A and B. This should take less than an hour. Send me an email or message on xmpp if there are any issues that don't resolve themself.

Below the line is primarily for new installs

!!BACK UP YOUR DATA AND APP CONFIGS BEFORE UPDATING!!
(You should be doing that anyway)

!!FOR BEST RESULTS, BE SURE TO READ THE INSTALLATION NOTES BELOW!!
!!YOU MAY NEED TO RE-ADD YOUR GOOGLE ACCOUNT AFTER UPDATING (pls lmk)!!

(putting a file named `.gapps_cleaned` on the main / top directory of the device storage *before updating* will prevent running the "nuke the cooked apps" script on first boot)

!!PHONE WILL AUTOMATICALLY REBOOT 2X AFTER FRESH INSTALLATION OF THIS ROM!!

- Reboot #1: clears /data/data/com.google.android.gms to restore app functionality
- Reboot #2: installs KSU app and modules, reboot needed after installing modules. KSU app will automatically open after install, just chill and wait for the reboot.
- If you have a password / screen lock set, the above tasks will happen after unlock (due to userdata encryption)
- You will have to unlock before each reboot

With the Uma.1 update, there is no longer any manual configuration necessary for Play Integrity!

Seriously.... read the whole post. If you hit me up for help, the first thing I'm going to ask is if you read the whole post

This ROM still contains Keymapper v3. If Keymapper disappears after the update, or you otherwise know you were running v4 previously, use the supplemental OTA update to restore Keymapper v4.

Problems? Web Chat: Click Here Email oops@digitalsand.photography or hit me up on XMPP oops@chat.digitalsand.photography
(any XMPP client or account can be used, or https://dgsd.ph/UKCqZc that invite link can be used to make an account on my server)

*CHANGELOG:*
- Fix Google apps giving error about Play Protect and becoming unusable
- Restore working Google Apps if currently cooked
- Fix bug in Harpocrat Keyboard related to back button having inconsistent behavior
- LED notifications more reliable (no longer requires disabling "Blink LED" in the system notification settings)
- Update to kernel from latest 326 stock ROM update (includes fix for keyboard shutting off in relation to the proximity sensor)
- Potentially expanded hardware acceleration of media codecs
  - Let me know if this translates into better battery life
- Update to KSU 3.2
- Pre-installed Play Integrity modules
- Migrate from Tricky Store to TEE Simulator for automated replacement of expired keyboxes
- Migrate to Play Integrity Inject module
- Migrate to ReZygisk
- Patched major privilege escalation CVE in External Media Provider (related to zero-click exploits like Pegasus spyware) CVE-2024-43093/
   - Not claiming this ROM is patched against Pegasus, but this is still a major security improvement.
- Steven Black adblock hosts file installed by default
- Setup Wizard disabled on first boot
- "Control" dot files moved to the top directory of user storage
- Duraspeed "disabled" by default
- BlackBerry Priv boot animation 

*INSTALLATION NOTES:*
*Upgrading from rooted stock ROM:*
- Be sure that you do not have any of the following apps installed !!*BACK UP YOUR DATA / CONFIGS*!!:
   - Q25Led (com.duc1607.q25led)
   - Resolution Changer (com.duc1607.resolutionchanger)
   - Q25 Trackpad Customizer (tech.shroyer.q25trackpadcuztomizer)
   - BlackBerry Keyboard (com.blackberry.keyboard)
   - Harpocrat Keyboard (com.blackberry.keyboard)
- If you have root modules installed to get a valid Play Integrity result do one of the following:
- If you wish to continue using your existing modules / config:
   - Create a blank file in the main directory of the internal device storage called `.pit_installed` the preceding dot will make it a hidden file, but as long as it's there, the included modules will not be installed.
      - This file can be created using usb debugging with the command: `$ adb shell touch /sdcard/.pit_installed` or you can use a file manager on the device to create a new blank file and name it `.pit_installed` or you can download the file linked here, save it to the main / top level of the internal device storage, then rename it, adding the . in front of the name. It should "disappear" after you rename it, but it is still there.
      - Or... you can probably not do any of this and just clean up whatever modules you don't want installed later.... shouldn't do anything too bad...
- If you wish to use the included Play Integrity modules, uninstall the ones you currently have installed (including whatever Zygisk module you have installed)
- Uninstall the Kernel SU Manager app you currently have installed (the appropriate KSU-spoofed version for 3.2 will automatically be installed)

*Upgrading from non-rooted stock ROM:*
- Be sure that you do not have any of the following apps installed !!*BACK UP YOUR DATA / CONFIGS*!!:
   - Q25Led (com.duc1607.q25led)
   - Resolution Changer (com.duc1607.resolutionchanger)
   - Q25 Trackpad Customizer (tech.shroyer.q25trackpadcuztomizer)
   - BlackBerry Keyboard (com.blackberry.keyboard)
   - Harpocrat Keyboard (com.blackberry.keyboard)
- OTA can be installed over stock ROM

*Upgrading from BenOS-Tina:* (Not needed if you are running a version of Uma already)
- Uninstall Kernel SU app and Play Integrity modules (including Zygisk)

*CONTROL FILES:*
- The following functions can be controlled by "dot files" (hidden files that being with a "." character) on the top level / main directory of the internal user storage:
- Disable adblock: create file named .adblock_disabled
- Reset the Harpocrat Keyboard to system default: create file named .keyboard_reset
- Reinstall KSU Manager app: delete .k32_installed
- Reinstall Play Integrity modules: delete .pit_installed
- Re-nuke Google Apps: delete .gapps_cleaned
This can be done with the included FOSS FM app (green file manager icon), simply open it and select "Temporarily Show Hidden Files" from the menu in the top right corner. Files can be added from the + icon and selecting new file, just type the appropriate name into the text field, hit OK, and reboot. Be sure to include the preceding . in the file name (you shouldn't see the file you created, unless you enable show hidden files).

*KNOWN ISSUES:*
- If your device name contains a space, the DocumentsUI file picker may not be able to see files on your internal storage. Go to Settings > About and change your device name so that it does not have any spaces and reboot. Investigating a proper fix currently.

*DOWNLOAD LINKS:*
Full packages will always contain the latest release. If you are doing a new install, you will be up to date and will not have to run an additional update after installing.
If for some reason you need an old release, contact me.

OTA Package (rooted)
SPFlash Package (rooted)
Keymapper v4 OTA coming soon.

Uma.1 Update OTA (incremental)
Incremental update is for those running the initial release of BenOS-Uma. If you are still running a pre-release build or if I gave you an personal update package, you'll have to use the full OTA package.

Also, keep an eye out for an experimental build that implements blocking of Google's remote feature provisioning (hopefully to block the September update that cooks installing apps from non-Play Store sources.)

Patched ExternalStorageProvider.apk for stock Zinwa ROMs
Simply install this .apk file (should install as an update on top of the existing one) to patch CVE 2024-43093 on official Zinwa ROMs

If you are in a position to do so, and are so inclined, any and all donations are greatly appreciated. However, you are under no obligation to do so. Whether you donate or not, you are appreciated and I am glad to have folks enjoying my work. Thank you!