Updater: use Build.getSerial() instead of direct ro.serialno read

platform_app cannot access serialno_prop (AOSP neverallow). Route
through Build.getSerial() which delegates to DeviceIdentifiersPolicyService
in system_server. Add READ_PRIVILEGED_PHONE_STATE to manifest and
privapp-permissions allowlist.
This commit is contained in:
oxmc
2026-06-13 23:09:58 -07:00
parent 85ea3b5c12
commit 6acf5f53ef
3 changed files with 5 additions and 2 deletions
+1
View File
@@ -6,6 +6,7 @@
<permissions>
<privapp-permissions package="me.pawlet.updater">
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
<permission name="android.permission.REBOOT"/>
<permission name="android.permission.RECOVERY"/>
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
+1
View File
@@ -17,6 +17,7 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECOVERY" />
<uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
@@ -14,6 +14,7 @@ import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.os.Build;
import android.os.SystemProperties;
import android.os.storage.StorageManager;
import android.util.Log;
@@ -155,7 +156,7 @@ public class Utils {
String device = SystemProperties.get(Constants.PROP_NEXT_DEVICE,
SystemProperties.get(Constants.PROP_DEVICE));
String type = SystemProperties.get(Constants.PROP_RELEASE_TYPE).toLowerCase(Locale.ROOT);
String serial = SystemProperties.get("ro.serialno", "");
String serial = Build.getSerial().equals(Build.UNKNOWN) ? "" : Build.getSerial();
String serverUrl = SystemProperties.get(Constants.PROP_UPDATER_URI);
if (serverUrl.trim().isEmpty()) {
@@ -177,7 +178,7 @@ public class Utils {
public static String getChangelogURL(Context context) {
String device = SystemProperties.get(Constants.PROP_NEXT_DEVICE,
SystemProperties.get(Constants.PROP_DEVICE));
String serial = SystemProperties.get("ro.serialno", "");
String serial = Build.getSerial().equals(Build.UNKNOWN) ? "" : Build.getSerial();
return context.getString(R.string.menu_changelog_url)
.replace("{device}", device)
.replace("{sn}", serial);