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:
@@ -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"/>
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user