Commit Graph

10 Commits

Author SHA1 Message Date
dianlujitao
8ae5447fc5 Euicc: Add China version support
Despite lack of native eSIM hardware, this enables managing removable
eUICCs through EuiccGoogle

Change-Id: I9d5a360dde85ede18761ff795641e199507ff688
2025-09-06 14:39:20 +00:00
Bruno Martins
74dbc92458 Euicc: Add OnePlus 13 support
Change-Id: I970d9fbc0ee975962887ea0d61beeee5001183cf
2025-07-06 23:56:31 +01:00
chandu078
f875d13162 Euicc: Add OnePlus 12 support
Change-Id: I9a3c9f37ce3e905ea1c69a8877f99201dc758b52
Signed-off-by: chandu078 <chandudyavanapelli03@gmail.com>
2025-06-19 15:04:28 +02:00
Mashopy
4cdcb94010 oplus: Run bpfix
Change-Id: Ida4dd24167f0f15b1e67a3ae3f73454caa4e1f6e
2025-04-13 23:45:13 +00:00
LuK1337
85febec1b5 OplusEuicc: Switch to PackageManager.getApplicationInfo()
Change-Id: Iccd792d147d61d324170ba4e3e2aa1b5a6910274
2024-11-01 15:32:37 +00:00
someone5678
1d143e35bc OplusEuicc: Don't fatally crash when euicc package is not exists
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
2024-10-24 19:22:09 +01:00
Bruno Martins
c3463f50b3 OplusEuicc: Remove references to EuiccPixel
Change-Id: I7fef7a0ca89c443f7368d2db31ea8bc412b20be6
2024-01-09 15:23:35 +00:00
someone5678
b0a76b0e01 OplusEuicc: Move to priv-app and grant required permissions
* 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
2024-01-09 15:04:13 +00:00
Peter Cai
849b7517f8 OplusEuicc: Disable EuiccGoogle when GMS and GSF are not installed
* 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
2024-01-09 14:55:23 +00:00
Bruno Martins
f4b2b275c7 Introduce OplusEuicc
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
2023-10-20 08:19:58 +00:00