Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 188d59a9 authored by Steven Moreland's avatar Steven Moreland
Browse files

16k kernel dev option changes ro.build.fingerprint

When someone uses the 16kb dev option, they switch
out the kernel, but the same build is used. Make
sure this is visible in the fingerprint to help
split up any analytics or reports.

Bug: 332406754
Test: no change on normal device, on 16k dev option device:

:) adb shell getprop ro.product.build.16k_page.enabled
true
:) adb shell getconf PAGE_SIZE
16384
:) adb shell getprop ro.build.fingerprint
generic/aosp_cf_x86_64_phone_pgagnostic_16kb/vsoc_x86_64_pgagnostic:VanillaIceCream/MAIN.b7aab5e4/eng.smorel.20240514.203625:userdebug/test-keys
                                       ^^^^^^
             ----------------------------/

cheers

Change-Id: I9632237cef4a3b077761022eda8cf42784a41753
parent 9fbd7e10
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -974,6 +974,17 @@ static std::string ConstructBuildFingerprint(bool legacy) {
    std::string build_fingerprint = GetProperty("ro.product.brand", UNKNOWN);
    build_fingerprint += '/';
    build_fingerprint += GetProperty("ro.product.name", UNKNOWN);

    // should be set in /product/etc/build.prop
    // when we have a dev option device, and we've switched the kernel to 16kb mode
    // we use the same system image, but we've switched out the kernel, so make it
    // visible at a high level
    bool has16KbDevOption =
            android::base::GetBoolProperty("ro.product.build.16k_page.enabled", false);
    if (has16KbDevOption && getpagesize() == 16384) {
        build_fingerprint += "_16kb";
    }

    build_fingerprint += '/';
    build_fingerprint += GetProperty("ro.product.device", UNKNOWN);
    build_fingerprint += ':';