Log:
01-18 20:01:59.274 5014 5014 E AndroidRuntime: FATAL EXCEPTION: main
01-18 20:01:59.274 5014 5014 E AndroidRuntime: Process: org.lineageos.euicc, PID: 5014
01-18 20:01:59.274 5014 5014 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver org.lineageos.euicc.BootCompletedReceiver: java.lang.IllegalArgumentException: Unknown package: com.google.euiccpixel
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.app.ActivityThread.handleReceiver(ActivityThread.java:4500)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2282)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:205)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.os.Looper.loop(Looper.java:294)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8291)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Unknown package: com.google.euiccpixel
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.os.Parcel.createExceptionOrNull(Parcel.java:3061)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.os.Parcel.createException(Parcel.java:3041)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:3024)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2966)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.content.pm.IPackageManager$Stub$Proxy.setApplicationEnabledSetting(IPackageManager.java:6107)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.app.ApplicationPackageManager.setApplicationEnabledSetting(ApplicationPackageManager.java:3185)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at org.lineageos.euicc.EuiccDisabler.enableOrDisableEuicc(EuiccDisabler.kt:43)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at org.lineageos.euicc.BootCompletedReceiver.onReceive(BootCompletedReceiver.kt:16)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: at android.app.ActivityThread.handleReceiver(ActivityThread.java:4491)
01-18 20:01:59.274 5014 5014 E AndroidRuntime: ... 9 more
Change-Id: I86880342693c92afddf09dbe8db22255ca93c355
* We are trying to use functions that required
priviledged permissions
(e.g. android.permission.CHANGE_COMPONENT_ENABLED_STATE)
* To make these functions correctly, move this app to priv-app
* Signing with platform key
* Add android.permission.CHANGE_COMPONENT_ENABLED_STATE
* Indicates and grant WRITE_EMBEDDED_SUBSCRIPTIONS permission
* Whitelist Hidden API
Log:
08-26 21:24:38.610 4898 4898 E AndroidRuntime: FATAL EXCEPTION: main
08-26 21:24:38.610 4898 4898 E AndroidRuntime: Process: org.lineageos.euicc, PID: 4898
08-26 21:24:38.610 4898 4898 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver org.lineageos.euicc.BootCompletedReceiver: java.lang.SecurityException: Attempt to change component state; pid=4898, uid=10191, package=com.google.android.euicc
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.app.ActivityThread.handleReceiver(ActivityThread.java:4316)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2153)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7960)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: Caused by: java.lang.SecurityException: Attempt to change component state; pid=4898, uid=10191, package=com.google.android.euicc
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.os.Parcel.createExceptionOrNull(Parcel.java:3011)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.os.Parcel.createException(Parcel.java:2995)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2978)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2920)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.content.pm.IPackageManager$Stub$Proxy.setApplicationEnabledSetting(IPackageManager.java:5938)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.app.ApplicationPackageManager.setApplicationEnabledSetting(ApplicationPackageManager.java:3177)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at org.lineageos.euicc.EuiccDisabler.enableOrDisableEuicc(EuiccDisabler.kt:43)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at org.lineageos.euicc.BootCompletedReceiver.onReceive(BootCompletedReceiver.kt:16)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.app.ActivityThread.handleReceiver(ActivityThread.java:4307)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: ... 9 more
08-26 21:24:38.610 4898 4898 E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace:
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at com.android.server.pm.PackageManagerService.setEnabledSettings(PackageManagerService.java:3784)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at com.android.server.pm.PackageManagerService.-$$Nest$msetEnabledSettings(Unknown Source:0)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at com.android.server.pm.PackageManagerService$IPackageManagerImpl.setApplicationEnabledSetting(PackageManagerService.java:5527)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2971)
08-26 21:24:38.610 4898 4898 E AndroidRuntime: at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onTransact(PackageManagerService.java:6042)
08-26 21:24:38.610 4898 4898 E AndroidRuntime:
Change-Id: Ied5d023e0f403e9c6f4908c59bcbb538aeef4574
* This avoids EuiccGoogle / GoogleCarrierServices crashing, taking the
whole telephony stack with them when no GMS or GSF is installed.
* This approach is no-op when GAPPS add-on is flashed before the first
boot, and thus should not cause issues with eSIM when GAPPS is
flashed.
* With microG, this also works after installing the microG GMS & GSF
packages and rebooting, although manual activation of the eSIM is
needed via Settings - Network.
* The only downside is that users will still see one or two crashes
during the first boot because our application only starts after the
device is booted.
Change-Id: Ice053b623d8f4a8e3783d82ffe0dc67f2cba558e
This is a companion app for EuiccGoogle (SIM Manager), that basically
sends over the mapping of the SIM slots and sets proper SIM tray
illustration (props to Yuri for the lottie animations).
For the time being it only includes the mappings for one of the
OnePlus 11 models (OP594DL1).
Change-Id: I09db5d6a9acbf05bf82803682572aeae54337c1b