Skip to content

New Crowdin updates#9

Open
Mrick343 wants to merge 1313 commits into
16.2from
l10n_16.2
Open

New Crowdin updates#9
Mrick343 wants to merge 1313 commits into
16.2from
l10n_16.2

Conversation

@Mrick343

Copy link
Copy Markdown
Contributor

No description provided.

Ghosuto and others added 30 commits May 12, 2026 21:06
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Change-Id: I1f09e7d2517e76eb8a0488dd92e091f08d1cbfce
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
- Remove Pixel Launcher entries from base config arrays
- Ensure framework does not reference unavailable launchers
- Allow LauncherPixelOverlay to provide multi-launcher config when needed
That will spoof build fingerprints on some g00gle apps

* Also will enable some cool stuffs like:
  - Dynamic navbar on GBoard
  - SafetyHub

and others.

Thanks to kdrag0n for the original idea at ProtonAOSP/android_frameworks_base@5a54bfd

Change-Id: I1078e7402833fec77edb751070c5144d08c85b6c
Signed-off-by: jhenrique09 <jhenrique09.mcz@hotmail.com>

keystore: Block key attestation for SafetyNet

SafetyNet (part of Google Play Services) opportunistically uses
hardware-backed key attestation via KeyStore as a strong integrity
check. This causes SafetyNet to fail on custom ROMs because the verified
boot key and bootloader unlock state can be detected from attestation
certificates.

As a workaround, we can take advantage of the fact that SafetyNet's
usage of key attestation is opportunistic (i.e. falls back to basic
integrity checks if it fails) and prevent it from getting the
attestation certificate chain from KeyStore. This is done by checking
the stack for DroidGuard, which is the codename for SafetyNet, and
pretending that the device doesn't support key attestation.

Key attestation has only been blocked for SafetyNet specifically, as
Google Play Services and other apps have many valid reasons to use it.
For example, it appears to be involved in Google's mobile security key
ferature.

Change-Id: I5146439d47f42dc6231cb45c4dab9f61540056f6

core: Make CTS/Play Integrity pass again

The logic behind CTS and Play Integrity has been updated today it now
checks the product and model names against the fingerprint and if
they do not match the CTS profile will fail.

Also while we are at it use a newer FP from Pixel XL and add logging
for key attestation blocking for debugging.

Test: Boot, check for CTS and Play Integrity

Change-Id: I089d5ef935bba40338e10c795ea7d181103ffd15
Signed-off-by: Dyneteve <dyneteve@hentaios.com>

* Stallix: Adapted for A13 and squashed changes with their respected authors from
  https://github.com/Evolution-X/frameworks_base/commits/tiramisu-bak-reverts-qpr2/core/java/com/android/internal/util/evolution/PixelPropsUtils.java.
  https://github.com/Evolution-X/frameworks_base/commits/tiramisu-qpr2/core/java/com/android/internal/util/evolution/PixelPropsUtils.java

stop Microsoft apps from crashing without INTERNET permission

Crash is caused by checks in
com.microsoft.aad.adal.AuthenticationContext.checkInternetPermission() and
com.microsoft.identity.client.PublicClientApplication.checkInternetPermission()

Prevent apps from crashing if internet permission is revoked.

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

ApplicationPackageManager: Extend freeform window feature to all apps

Change-Id: Iaa3e500fd6a80f4e1718218ff6d42fcb1eb79c9c
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>

core: block 2021/22 pixel features to ASI and pixel launcher

* blacklist pe features and spoof redfin to get rid of tensor shits

Change-Id: I83aa09c151f51ee61361510b2c1a9ac8865a2aee
Signed-off-by: aswin7469 <aswinas@pixysos.com>

core: ApplicationPackageManager: Remove p21+ features from featuresPixel

* Differentiate with featuresTensor

ApplicationPackageManager: Adjust Tensor workaround

* Avoid P22 device's aggresive TensorFlow implementation
* Allow P21 pixel experience
* Add lynx to Tensor Pixel lists

Revert "PixelPropUtils: Spoof userdebug to pixel launcher"

* wont work anymore developer options are migrated to debug flags

This reverts commit 1c86058d22803ed3c60655c012b6d0ef2cf48aef.

PixelPropsUtils: Add emojiwalls and cinematiceffects pkgs

Signed-off-by: aswin7469 <aswinas@pixysos.com>

PixelPropsUtils: Enable new Velvet Weather UI

Change-Id: I45310071f0267be1ea26f7c00044a56a763a3e6a

* Adapt to current PixelPropsUtils

Original commit:
StatiXOS/android_frameworks_base@ce72977

Signed-off-by: someone5678 <nemui3353@gmail.com>

PixelPropsUtils: Refactor

* Allows some devices to fully pass safetynet's strong attestation (maybe due to prebuilt vendor)
* Do not spoof restore, pixelmigrate and setupwizard
* Enable Photos spoof by default
* Keep Photos happy and not count towards storage quota
* Switch from POCO F4 to POCO F5

PixelPropsUtils: Spoof to Pixel 5a by default

* Several apps broken with Pixel 7 Pro spoof
* Just use Pixel 5a and spoof only small portion of apps to Pixel 7 Pro

Change-Id: I3762f80d499b2d8ce9115cfcaae7b59ce220dca4

PixelPropsUtils: Remove pixel tablet spoof for Weather

Change-Id: I189c1307f01a9938b178746374ef9f5dfc7de60a

PixelPropsUtils: Correctly spoof unstable process

* Fix integrity

Change-Id: Ifad92a52311a39f943c3c75c385cc75ec76bf182

PixelPropsUtils: Set HARDWARE, ID values

* Google apps also check these values

Change-Id: I846986121faec39d3ece044794fd0f459e8d435d

PixelPropsUtils: Spoof all wallpaper packages to Pixel 7 Pro

Change-Id: I667b63be4175a9f8323915d2c725e0300b22d110

base: ApplicationPackageManager: Block Tensor features for Recorder

* Now Recorder also use Tensor soc feature for mic recording

Log:
07-09 11:03:53.820 15531 15721 I tflite  : Initialized TensorFlow Lite runtime.
07-09 11:03:53.833 15531 15721 W libc    : Access denied finding property "ro.hardware.chipname"
07-09 11:03:53.835 15531 15721 I tflite  : Created TensorFlow Lite XNNPACK delegate for CPU.
07-09 11:03:53.850 15531 15722 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.850 15531 15723 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.876 15531 15611 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.877 15531 15611 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.877 15531 15573 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.878 15531 15573 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.879 15531 15614 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.879 15531 15614 I Recorder_ManagedSequent: Finished initializing components.

Change-Id: I36b30057f45f831420db3f2fc13538dbfa5ebd56

base: ApplicationPackageManager: Exclude PE 2021 Midyear from tensor pixel list

* Pixel 5a (which is qcom soc) included this by default

Change-Id: I94559b0800084bb79608251568a44a48d74a7057

base: ApplicationPackageManager: Return early for Tensor check

Change-Id: Ib995fe732e0712310cf6dbea21bc1f7730cfeddb

PixelPropsUtils: Refactor logic and cleanup

- Spoof back to Pixel 5 by default
- Remove Pixel 5a spoof
- Remove Pixel XL spoof
- Never spoof Android System Intelligence and GMS (for battery drain), only specified processes of GMS will be allowed
- Cleanup logic

PixelPropsUtils: Partial spoofing improvement

* Spoof all possible build properties and fix integrity check

PixelPropsUtils: Stop spoofing some google apps

* non pixels doesnt need to spoof asi to enable most features
* fixes now playing in pixel devices
  [asi is checked with device codename to load sountrigger models for now playing]

* motionsense is limited to p19 devices only

Change-Id: Icf651e95548f524ff8f1dd3556a8d4f6197745f4
Signed-off-by: aswin7469 <aswinas@pixysos.com>

PixelPropsUtils: Bring in Pixel 8 series changes

* Android 14

PixelPropsUtils: Fix GMS drain triggered by an outdated ROM build date

If the build date exceeds a month, GMS, thinking the device is Pixel, attempts a system update, which unexpectedly fails. This goes into an endless cycle which drains battery very quickly and generates a lot of heat. Let's fix it by spoofing the build date to something always fresh.

PixelPropsUtils: Add a config to enable/disable prop imitation

Enabled by default, devices can disable prop imitation via overlay if their devices aren't required to rely on it

Change-Id: Ia7098bbb1325f430999855c58164680988543412
Signed-off-by: someone5678 <someone5678@users.noreply.github.com>

PixelPropsUtils: Drop pixel codenames and checks

* PixelPropsUtils can now be disabled by settings
  config_enablePixelPropsUtils to false

Change-Id: Ic54667f899e681b040aff1e8b13573f45880dd08

PixelPropsUtils: Use RecentPixel instead of individual model name

* Just update fp only instead of change model name every time

Change-Id: Ic110c532fd99f1efaa378c03687590a79994ff9c

PixelPropsUtils: Make CTS/Play Integrity pass again

In the annals of technology, the Zenfone 4 Max stands as the ultimate hero
a phone that has transcended time and space itself. With the bravado of
an isekai protagonist, it has embarked on an epic quest, unveiling powers
beyond imagination. Today, the Zenfone 4 Max is more than just a phone.
It symbolizes heroism and excellence, supporting our quest to conquer
CTS and Play Integrity. As we harness the extraordinary capabilities
of this legendary device, we embark on an epic journey to ensure the
'destruction' of "Google Employees" and burning up everyone standing
before it.

NOTE: The above AI generated description is a joke, and thanks to chiteroman for
finding a FP that still works.

Test: Play integrity

Change-Id: I4f61268b3d088689fef1175aad198c88734e9f34
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
Signed-off-by: saikiran2001 <bjsaikiran@gmail.com>

ApplicationPackageManager: Merge Tensor list

Change-Id: I1097a5f9b7225a108053632e3222d341fc77b2f9

ApplicationPackageManager: Add a config for device with Tensor SoC

* Replace Tensor SoC device list

Change-Id: Ic94917a365466881b74322d3f0470515a5dbf630

PM: Force all packages as installed via Google Play Store

Change-Id: Ie561a52017630988570593291965fe6d67fa8527

services/PPU: Simplify and improve bypassing for PPU `onTaskStackChanged` listening

* this is for broader bypassing of tasklistener used for setCertifiedPropsForGms across apps and gms processes

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

PPU: Remove Snapchat spoof

PPU: Improve device certification bypass

* killing droidguard services through `onEngineGetCertificateChain` allows us pass device certification,
  the only backlash is users can't sign in their google accounts due to `onEngineGetCertificateChain` killing droidguard services.
  with https://github.com/minaripenguin/android_frameworks_base/commit/a245d9767988d7ac2db85abc08f890fa40c2ff67 as reference, we should also skip killing of droidguard services when google sign-in is on top.

big thanks: to sir Alvin and sir Ste0090 for the backtrace containing google sign-in information due to a bug introduced by a unintentional change: https://github.com/minaripenguin/android_frameworks_base/commit/e67e783f3c5313112ac8c7d5565d72c5acca1664 and https://github.com/minaripenguin/android_frameworks_base/commit/876ac2a7fb7f4941d72e6d54e13d9b326d2df24f
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

PPU: Make CTS/Play Integrity pass again (again and again and again)

[someone5678] Adapt to this project

Change-Id: If3a865849c7c99a9c7080114ba94a8f8878bb4f2
Signed-off-by: someone5678 <someone5678@users.noreply.github.com>

PPU: Make spoofBuildGms updatable and chosen from a list

This approach has a couple advantages:

- Randomizing the device could potentially help mitigate spoofs from being blocked as we will spread the API
requests across multiple devices rather than one. Although, a majority of customs and or root users would have
to get behind the idea as well.

- Pulling resources from a package negates the need of having to push new releases for unrooted users to pass as
we can instead release an updated resource package to install manually.

Signed-off-by: AnierinB <anierin@evolution-x.org>

PPU: Allow spoofing INITIAL_SDK_INT & SECURITY_PATCH

Also update the resources package name and reorganize the array for better readability.

Signed-off-by: AnierinB <anierin@evolution-x.org>

PPU: Enable logging & add more statements

Signed-off-by: AnierinB <anierin@evolution-x.org>

PPU: Store the current array name in SettingsProvider

So we can fetch the values currently set in PifResources Activity/PreferenceFragment.

Signed-off-by: AnierinB <anierin@evolution-x.org>

PPU: Make PIF and PixelProps toggleable [1/2]

services: Fix google apps permission denials

* for some unknown reasons, google apps were throwing permission denials even if we have updated privapp permissions for most of google apps, same goes to granting permissions via DefaultPermissionGrantPolicy, which doesnt address these denials, so unless there is cleaner/appropriate fix for these denials, bypass it.

attempt to resolve:
10-08 20:39:02.675  1617  4130 W ActivityManager: Permission Denial: getTaskSnapshot() from pid=7901, uid=10213 requires android.permission.READ_FRAME_BUFFER
--------- beginning of crash
10-08 20:39:02.676  7901  9402 E AndroidRuntime: FATAL EXCEPTION: TaskThumbnailIconCache-1
10-08 20:39:02.676  7901  9402 E AndroidRuntime: Process: com.google.android.apps.nexuslauncher, PID: 7901
10-08 20:39:02.676  7901  9402 E AndroidRuntime: java.lang.SecurityException: Permission Denial: getTaskSnapshot() from pid=7901, uid=10213 requires android.permission.READ_FRAME_BUFFER
10-08 20:39:02.676  7901  9402 E AndroidRuntime: 	at android.os.Parcel.createExceptionOrNull(Parcel.java:3057)
Process: com.google.android.apps.nexuslauncher
PID: 2368
UID: 10213
Frozen: false
Flags: 0x34cbbe45
Package: com.google.android.apps.nexuslauncher v907 (14)
Foreground: No
Process-Runtime: 95
Build: google/rising_oriole/oriole:14/UP1A.231005.007.A1/1696738813:userdebug/release-keys
Crash-Handler: com.android.internal.os.RuntimeInit$KillApplicationHandler
Loading-Progress: 1.0
Dropped-Count: 0

java.lang.RuntimeException: Unable to create service com.android.quickstep.TouchInteractionService: java.lang.SecurityException: Permission Denial: getRootTaskInfo() from pid=2368, uid=10213 requires android.permission.MANAGE_ACTIVITY_TASKS
	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4664)
	at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2264)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.app.ActivityThread.main(ActivityThread.java:8177)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
10-08 15:46:20.701  1550  2313 W InputManager: Permission Denial: monitorGestureInput() from pid=2257, uid=10213 requires android.permission.MONITOR_INPUT
10-08 15:46:20.702  2257  2257 D AndroidRuntime: Shutting down VM
10-08 15:46:20.702  1970  1970 I TetheringManager: registerTetheringEventCallback:com.android.systemui
10-08 15:46:20.702  1970  1970 I TetheringManager: registerTetheringEventCallback caller:com.android.systemui
--------- beginning of crash
10-08 15:46:20.702  2257  2257 E AndroidRuntime: FATAL EXCEPTION: main
10-08 15:46:20.702  2257  2257 E AndroidRuntime: Process: com.google.android.apps.nexuslauncher, PID: 2257
10-08 15:46:20.702  2257  2257 E AndroidRuntime: java.lang.RuntimeException: Unable to create service com.android.quickstep.TouchInteractionService: java.lang.SecurityException: Requires MONITOR_INPUT permission
10-08 15:46:20.702  2257  2257 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4664)

test: setprop persist.sys.default_launcher 1, reboot, check if pixel launcher works as intended on aosp

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

MeizuPropsUtils: Spoof Hihonor Cloudmusic

PPU: Spoof to recent Pixel on iD apps

* This fixes some JP devices get refusing launch iD apps.

PPU: Spoof as Pixel Tab for tablets

Change-Id: I2d5c60dc144d56ed1957c5e2750fc60831bf2334

PixelPropsUtils: Check process name before doing certify

Change-Id: I34494330ac4aa1a729e9897e2cdd5eb70d7b2d0d

PPU: Allow spoofing all gapps to Pixel 8 Pro [1/2]

PPU: Stop spoofing com.google.android.googlequicksearchbox

- Makes AR vision with camera crash due to app expecting Pixel camera but it isn't

PPU: do not spoof Pixel Launcher

Change-Id: Ie5496209b2051d3f114b9e699ceceb785e44eb39

PPU: Refactor

- Move Pixel 8 Pro spoof for all gapps above other spoofs
- Allow spoofing Velvet to latest model for CTS (Should work based on this: https://t.me/EvolutionXOfficialROM/4117/6195)
- Clean up excess parentheses.

PPU: Spoof Gemini to P8P

PixelPropUtils: Spoof velvet search process and gms

* remove toggle and spoof by default this way we can properly enable CTS
  current blacklisted process and apps are enough to get rid of tensor stuffs
* spoof specific processes

test: reboot with patch applied, check if ASI services crashes

Change-Id: I104727c30ab34a69cc76955d084ef6741dafc13b
Signed-off-by: aswin7469 <aswinas@pixysos.com>

PixelPropsUtils: Improve tablet spoofing

* Replace using config with context instead
* Ref: https://github.com/minaripenguin/android_frameworks_base/commit/05b54f2dfe1a0ee4c7254dc45f8b89f8b8c84d59

PixelPropsUtils: Refactor and cleanup spoofing

[joeyhuab - Evolution X]
* Adapt `shouldTryToSpoofDevice()` from Rising OS.
* Skip spoofing PixelProps if device is a currently supported Pixel device.
* Spoof Google apps to Pixel 8 Pro by default but exclude GMS unstable process.
* Spoof Google Photos to Pixel 8 Pro if Photos spoof toggle is off.
* Exclude AIAI, AR Core, Photos, and Setup Wizard from P8P spoof.
* Exclude spoofing specific processes (to avoid tensor checks).
* Remove Pixel 5a stuff.

Revert "PixelPropsUtils: Drop pixel codenames and checks"

This reverts commit 195366ea6c84871fc4228ace62620f22ed2c11d5.

core: Allow force enabling tensor feature XMLs on non-Pixels [1/2]

* Avoid including Photos app in the spoof.
* Drop unneeded `config_hasTensorSoC`.

[SQUASH] PixelPropsUtils: Various changes

* Allow enabling debug via `persist.sys.pixelprops.debug` prop.
* Bring back Pixel checks.
* Bring back Snapchat spoof toggle.
* Spoof GMS processes that check for tensor to Pixel 5a.
* Spoof most Google/Samsung apps/processes back to Pixel 5a by default.
* Spoof select Google apps/processes to Pixel 8 Pro to enable exclusive features.
* Turn off spoof for select Google apps once again.

PixelPropUtils: unspoof some packages

Signed-off-by: aswin7469 <aswinas@pixysos.com>

Revert "PixelPropsUtils: Refactor and cleanup spoofing"

This reverts commit fbd5aa372a977207edb5f45ccdce4a85ea1bca9e.

Revert "ApplicationPackageManager: Add a config for device with Tensor SoC"

This reverts commit 50459e3a635f7932c7caac9fd1ba2e621b1a70f4.

Revert "PPU: Stop spoofing com.google.android.googlequicksearchbox"

This reverts commit e4528e6188d28a2270246e4f3e250eb1f3e33d3f.

Revert "PixelPropsUtils: Drop pixel codenames and checks"

This reverts commit 195366ea6c84871fc4228ace62620f22ed2c11d5.

Revert "core: Allow force enabling tensor feature XMLs on non-Pixels [1/2]"

This reverts commit ea1983f86787702f930f0653820836eb3f6c1e97.

PixelPropsUtils: Spoof chimera process to Pixel 5a

Change-Id: I645157990af34d5358bcbe0816bde136502b47f0

PixelPropsUtils: Unspoof backup and migrate apps

Change-Id: I90bf462dfc0a9c0a1a8e1544d8b799fd644aae6f

ApplicationPackageManager: Rearrange Tensor feature checks

* Move googlequicksearchbox to upper to correctly enable circle to search

Change-Id: I6646275998c52494db712faa07587690d323afbd

services: Bypass security check when checking provider permissions for google apps

* this causes any failing apps/process to repeatedly crash for "security" purposees (even though we can do the same thing with google gallery go)

08-23 07:34:48.653  1918  1918 E AndroidRuntime: java.lang.SecurityException: Permission Denial: opening provider com.google.android.apps.photos.contentprovider.impl.MediaContentProvider from ProcessRecord{2f4151f 1918:com.android.systemui/u0a478} (pid=1918, uid=10478) that is not exported from UID 10456

test: check logs for retrieved content uri from google photos

Change-Id: I2c47e50d09163e05d40a4f62fd42cdb372b1173b
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

ApplicationPackageManager: Rearrange Tensor feature checks

* Move googlequicksearchbox to upper to correctly enable circle to search

Change-Id: I6646275998c52494db712faa07587690d323afbd

PixelPropsUtils: Fix spoofing logic for gms

Change-Id: I770dcf97edeaeac410849b920e018c95e65b0848

PixelPropsUtils: Only spoof unstable process

* That's the only process we needed

Change-Id: I40423585c439cb0e55e50bad3d1a2b54871ae5eb

PixelPropsUtils: Spoof chimera process to Recent Pixel

Change-Id: If2fcdffe36d7a4ebdcc34168737ce30a1f93d2c4

ApplicationPackageManager: Report tensor features to false for Photos

Change-Id: I58dc1ad46b785232d47a160185d9c3c3ede4915d

PixelPropsUtils: Do not spoof unspecified packages as barbet

* this leads to potential increase of cpu usage in system_server (were spoofing unspecified google packages and even samsung apps to barbet)

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

PixelPropsUtils: Spoof pixel launcher for circle to search feature

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

PixelPropsUtils: spoofBuildGms: Support RELEASE & INCREMENTAL

Remove useless logging.
Stop enforcing DEVICE_INITIAL_SDK_INT value range.
Match array order with https://github.com/chiteroman/PlayIntegrityFix

Signed-off-by: AnierinB <anierin@evolution-x.org>

PixelPropsUtils: Remove gms check from isCallerSafetyNet

[someone5678]
* as DroidGuard is now presents in multiple GApps

Change-Id: Ibf9d461e77e4dae4febc2e9245f7ad0b654e1883
Signed-off-by: someone5678 <someone5678@users.noreply.github.com>

PixelPropsUtils: Updates

* Spoofing Ai Wallpapers to husky fixes infinite
  loading.
* Removing Gboard spoof fixes voice search.
* Removing Play store spoof for Play integrity
  as it's not needed according to osm0sis.
  Ref: https://xdaforums.com/t/module-play-integrity-fix-safetynet-fix.4607985/post-89534863

PixelPropsUtils: Remove pixel5 spoofs

 * Update spoofs for pixel 8 pro

Signed-off-by: Alvin Francis <nivlafx@gmail.com>

PixelPropsUtils: June 2024 Update

* Drop spoofing for general gapps.
* Drop spoofing for other GMS processes.

PixelPropsUtils: July 2024 update

PixelPropsUtils: Show correct device name on google backup
Change-Id: Id37ab66166c9ce852aad745fa2dba81d33ddcc7f
Signed-off-by: aswin7469 <aswinas@pixysos.com>

core: Spoof Pixel8 for nexuslauncher

* attempt to fix circle to search

Change-Id: Ib88a67efcd2a2dbcb6b75020c6f18b78f6c97c24
Signed-off-by: aswin7469 <aswinas@pixysos.com>

PixelPropsUtils: Update for pixel code names

* Added for Pixel 9, 9 Pro, 9 Pro XL, 9 Fold.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

PixelPropsUtils: Do not spoof mainline models to google photos

* attempt to fix issue: RisingTechOSS/issue_tracker#14

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

core: Update configs

* Expose Tensor features to Pixel Studio
* Expose Tensor features to dialer (Prevent showing compat messages)
* Expose 2024 experience to PixelAIPrebuilt
* Update process lists

core: Add toggle to enable tensor features (1/2)

* Adds the ability to enable tensor features on non tensor devices

PixelPropsUtils: Switch back to Pixel5a for non pixel devices

* Breaks NGA, does not work properly hence the reason for the switch back, all other pixel features continue to work.

services: Bypass shortcut enforcement for default launchers

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

ActiveServices: [FGS]: Add exceptions for Google apps in foreground service type validation

- Added a whitelist to bypass foreground service type validation for critical Google apps.
- Included packages such as com.google.android.gms, com.android.vending, and others.
- Ensures smooth operation of essential services like Google Play Services and Play Store.
- Logs bypass events for better debugging and monitoring.

Signed-off-by: afterallafk <shivamatiet2001@gmail.com>

PixelPropsUtils: Update Google apps bypass support

* Adapt RisingOS-staging/android_frameworks_base_new@221dd88 for Evolution X usage
* Squash all commits related to BypassUtils

QuickSwitch: Fix pixel launcher news feed

ViewRootImpl: Ignore pixel launcher task bar denials

01-17 18:29:36.076  2470  2470 E AndroidRuntime: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@19241b5 -- permission denied for window type 2038
01-17 18:29:36.076  2470  2470 E AndroidRuntime: 	at android.view.ViewRootImpl.setView(ViewRootImpl.java:1698)
01-17 18:29:36.076  2470  2470 E AndroidRuntime: 	at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:454)
01-17 18:29:36.076  2470  2470 E AndroidRuntime: 	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:158)
01-17 18:29:36.076  2470  2470 E AndroidRuntime: 	at com.android.launcher3.taskbar.overlay.TaskbarOverlayController.a(go/retraceme

Prevent pixel launcher crash on start up

BypassUtils: Try to re-populate package lists if its empty

Bypass permission enforcements for critical uids

reference issue: RisingTechOSS/issue_tracker/issues/81

test: reproduce bug in issue, crash does not persist after patch is applied

[someone5678]
* Minor cleanup for portability
* Move in bypass check functions to PixelPropsUtils

Change-Id: I5433f113400248ac941c8e13b1bde03f1da47d86
Signed-off-by: someone5678 <59456192+someone5678@users.noreply.github.com>

Whitelist launcher widgets from bitmap memory usage restriction

Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>

PixelPropsUtils: Improve spoofing

* Switch to json for PIF
* Drop config_enablePixelProps
* Add board entry
* Disable pixel props spoof for Pixel 8 series and above
* Don't report Tensor features to Pixel Launcher

PixelPropsUtils: Reset props for status bar lyric [1/3]

Reset props to Meizu in some apps to use status bar lyric

Signed-off-by: cjybyjk <cjybyjk@zjnu.edu.cn>
Change-Id: Idd573836af184b95ab0275f81fcb7ae3057783b9
Signed-off-by: someone5678 <someone5678@users.noreply.github.com>

PixelPropsUtils: Spoof changes [1/2]

* Bring back old Games spoof method
* Drop PIF
* Remove recent pixel spoofing for gms
* Add switch to spoof Google app

- When they spoof the Google app, the integration with arcore in search tab is broken.

PixelPropsUtils: Bring back PIF

* Allow users to manually use non-root PIF.
* Keep disabled by default.

Revert "PixelPropsUtils: Drop PIF"

This reverts commit 90c24507657209b18eaa0d81bd6ff849718112fd.

PixelPropsUtils: Update fingerprints to August 2025 release

PixelPropsUtils: Fix props for s24 ultra

PixelPropsUtils: Update fingerprints to September 2025 release

* Update tensor codes to P10

PixelPropsUtils: Switch recent Pixel props to P10

base: Enable PIF by default [1/2]

PixelPropsUtils: Spoof new apps from P10

PixelPropsUtils: Spoof as S24 Ultra for Diablo Immortal

AttestationHooks: Drop Play store spoof [1/2]

* Causes device to only get Basic integrity when turned on.

PixelPropsUtils: Update fingerprints to October 2025 release

Co-authored-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
Co-authored-by: Alvin Francis <nivlafx@gmail.com>
Co-authored-by: AnierinB <anierin@evolution-x.org>
Co-authored-by: Chris Crawford <chriscrawford893@gmail.com>
Co-authored-by: Danny Lin <danny@kdrag0n.dev>
Co-authored-by: Dyneteve <dyneteve@hentaios.com>
Co-authored-by: ExactExampl <64069095+ExactExampl@users.noreply.github.com>
Co-authored-by: Gustavo Mendes <gusttavo.me@outlook.com>
Co-authored-by: Joey <joey@evolution-x.org>
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Co-authored-by: QKIvan <ivan33@163.com>
Co-authored-by: Saikiran <bjsaikiran@gmail.com>
Co-authored-by: Soo-Hwan Na <whiteshell2544@naver.com>
Co-authored-by: Sourajit Karmakar <sourajit@live.com>
Co-authored-by: afterallafk <shivamatiet2001@gmail.com>
Co-authored-by: aswin7469 <aswinas@pixysos.com>
Co-authored-by: chiteroman <98092901+chiteroman@users.noreply.github.com>
Co-authored-by: cjybyjk <cjybyjk@zjnu.edu.cn>
Co-authored-by: lahaina <nattolecats@gmail.com>
Co-authored-by: minaripenguin <minaripenguin@users.noreply.github.com>
Co-authored-by: someone5678 <nemui3353@gmail.com>
Co-authored-by: timjosten <timjosten@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
* Isolated processes (e.g. com.android.vending:com.google.android.finsky.verifier.apkanalysis.service.ApkContentsScanService) cannot access content providers. Calling Settings.Secure.getString(...) during their application init triggers:

* Log:
09-06 22:51:42.792 16766 16766 E AndroidRuntime: FATAL EXCEPTION: main
09-06 22:51:42.792 16766 16766 E AndroidRuntime: Process: com.android.vending:com.google.android.finsky.verifier.apkanalysis.service.ApkContentsScanService, PID: 16766
09-06 22:51:42.792 16766 16766 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate application com.google.android.finsky.application.classic.ClassicApplication package com.android.vending: java.lang.SecurityException: Isolated process not allowed to call getContentProvider
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1486)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1411)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7827)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2549)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:110)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:248)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:338)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:9137)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: Caused by: java.lang.SecurityException: Isolated process not allowed to call getContentProvider

* Add Process.isIsolated() guard in setPlayIntegrityProps(Context) and return early. Also gate the call site in setProps(...) to avoid invoking setPlayIntegrityProps(...) from isolated processes, and log the skip.

Change-Id: Iecf42b7ceb2f186128d0f1defbc45bcc4224e56a
[neobuddy89: Adapted for PixelPropsUtils]
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
* test json format:
{
    "PACKAGES_M11": [
        "com.ea.gp.apexlegendsmobilefps",
        "com.mobilelegends.mi",
        "com.levelinfinite.hotta.gp",
        "com.supercell.clashofclans",
        "com.vng.mlbbvn"
    ],
    "PACKAGES_M11_DEVICE": {
        "BRAND": "",
        "DEVICE": "",
        "MANUFACTURER": "Xiaomi",
        "MODEL": "2107113SI"
    }
}

Change-Id: If5beb38d1ca70f51df7aa5c58ee57b953a3f8338
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
* These are set if not available from bootloader. Fixes abnormal boot state detection.
* This service uses key attestation code from
  https://github.com/reveny/Android-VBMeta-Fixer
  https://github.com/vvb2060/KeyAttestation
* Second part is in property_service.cpp of system/core to read persist prop
  to set hash value and other props.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
- Device models taken from PixelPropsUtils

Signed-off-by: kenway214 <kenway214@outlook.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Change-Id: I7beba5dda3d3e19e02a22b327591fef36dd7806e
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Introduce a toggle to optionally enable Tensor-exclusive features on
non-Tensor devices.

Add persist.sys.pp.tensor to allow users to force-enable features defined
in FEATURES_TENSOR on unsupported devices. When disabled, the system
falls back to default feature detection.

Tensor devices are not affected by this toggle and continue to rely on
their native feature set.

This follows a soft override approach, ensuring stock behavior is
preserved unless explicitly enabled by the user, while avoiding issues
previously caused by exposing these features globally.

Also use features impl from crdroidandroid/android_frameworks_base@4af6e7d

Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Inject Tensor-specific features dynamically via getSystemAvailableFeatures()
to ensure Play Store and other services recognize them as system-declared
features instead of relying solely on hasSystemFeature() overrides.

This improves compatibility with Tensor-targeted GApps and allows updates
to appear correctly in Play Store.

Also expose invalidateHasSystemFeatureCache() to allow cache refresh when
spoofing state changes.

- Inject FEATURES_TENSOR into system feature list when enabled
- Keep hasSystemFeature() override for runtime checks
- Add cache invalidation support for immediate effect

Note:
Play Store may still require a reboot or process restart due to
server-side and process-level caching.

Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
* Isolated processes (e.g. com.android.vending:com.google.android.finsky.verifier.apkanalysis.service.ApkContentsScanService) cannot access content providers. Calling Settings.Secure.getString(...) during their application init triggers:

* Log:
09-06 22:51:42.792 16766 16766 E AndroidRuntime: FATAL EXCEPTION: main
09-06 22:51:42.792 16766 16766 E AndroidRuntime: Process: com.android.vending:com.google.android.finsky.verifier.apkanalysis.service.ApkContentsScanService, PID: 16766
09-06 22:51:42.792 16766 16766 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate application com.google.android.finsky.application.classic.ClassicApplication package com.android.vending: java.lang.SecurityException: Isolated process not allowed to call getContentProvider
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1486)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1411)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7827)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2549)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:110)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:248)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:338)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:9137)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
09-06 22:51:42.792 16766 16766 E AndroidRuntime: Caused by: java.lang.SecurityException: Isolated process not allowed to call getContentProvider

* Add Process.isIsolated() guard in setPlayIntegrityProps(Context) and return early. Also gate the call site in setProps(...) to avoid invoking setPlayIntegrityProps(...) from isolated processes, and log the skip.

Change-Id: Iecf42b7ceb2f186128d0f1defbc45bcc4224e56a
[neobuddy89: Adapted for PixelPropsUtils]
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

ApplicationPackageManager: Guard spoof Settings reads from isolated processes

Isolated processes are not allowed to call getContentProvider,
which causes a crash when getSystemAvailableFeatures() or
hasSystemFeature() attempts to read PI_TENSOR_SPOOF or
PI_PHOTOS_SPOOF via Settings.Secure.getInt().

Add Process.isIsolated() checks before any Settings access,
mirroring the existing guard in PixelPropsUtils.setProps().

Fixes: WebView sandboxed renderer crash on clean flash
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
… overrides

- Update fingerprints to April 2026 release
- Drop legacy spoof flags and unused implementations
- Inline AttestationHooks into PixelPropsUtils

- Refactor spoofing flow:
  * Remove early returns that could skip later stages
  * Consolidate conditions for recent Pixel spoofing
  * Ensure app-specific overrides always execute

- Add per-app spoofing for Photos and Snapchat
- Reuse existing prop setter for consistency

- Replace duplicated mainline device checks with helper
- Improve null-safety for system property access
- Simplify tablet detection helper

- Minor cleanup and consistency fixes

Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
with additional fixes to octet, key handling and certificate hacks

Co-authored-by: Dakkshesh <beakthoven@gmail.com>
Co-authored-by: 5ec1cff <ewtqyqyewtqyqy@gmail.com>
Change-Id: I46d094ec85cf3646c37f6518093e79334a15fbaa
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Change-Id: Ica634c23dbd190b5dcadcd28b26826ffcf410b0d
Co-authored-by: reveny <113244907+reveny@users.noreply.github.com>
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Change-Id: Ie45cd7460ca8e6c3fa75e284e9727dc5e791782b
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Change-Id: I87b7178847d680c411625a3eec08aee71e4d93e0
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Change-Id: I11c1f9e2f51d999aaf451264c328d434f8e54602
Co-authored-by: osm0sis <osm0sis@outlook.com>
Signed-off-by: rmp22 <195054967+rmp22@users.noreply.github.com>
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Change-Id: I26c849f219c6ce0fe7239c55e0ac9ad3356bb912
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Change-Id: Ib10372342d456f1929d65a674b0a291a35295923
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
- We'll use PixelPropsUtils instead.

Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
* Putting them in /data/adb exposes root under /data/adb to the world.
* Move them to /data/system which is already meant for apps.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Ghosuto <clash.raja10@gmail.com>
Signed-off-by: Mrick343 <mrinmoy8429de@gmail.com>
Mrick343 added 30 commits June 10, 2026 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.