Compare commits

...

313 commits

Author SHA1 Message Date
f5074acae2 feat: alert when confirmation code is required by QR code
All checks were successful
/ build-debug (push) Successful in 5m29s
Closes #136

Co-authored-by: septs <github@septs.pw>
2025-02-04 22:06:58 -05:00
bcd1295a18 ui: Disable language picker for privileged OpenEUICC (for now)
Some checks failed
/ build-debug (push) Successful in 4m52s
/ release (push) Has been cancelled
...because AOSP is stupid and doesn't allow apps signed with the
platform key to use language settings.
2024-12-21 15:01:07 -05:00
50ba81f131 i18n: Update translations of all new strings
All checks were successful
/ build-debug (push) Successful in 5m33s
2024-12-21 14:31:14 -05:00
d0b3d54c66 ui: Allow multi-line strings in EuiccInfoActivity
All checks were successful
/ build-debug (push) Successful in 5m13s
2024-12-20 19:33:43 -05:00
3a860601a3 ui: Optimize ATR strings 2024-12-20 19:32:58 -05:00
6b4723daee refactor: ATR should not be the concern of lpac-jni
Some checks failed
/ build-debug (push) Has been cancelled
...instead, use a separate interface to represent channel types that do
support reading ATR.
2024-12-20 19:30:33 -05:00
3ef78a23db feat: atr in euiccinfo activity
commit 0fbec512ab
Author: septs <github@septs.pw>
Date:   Wed Dec 18 21:27:53 2024 +0800

    feat: atr in euiccinfo activity
2024-12-20 19:06:23 -05:00
31d595a6b1 ui: Don't reset profile name while resuming the rename fragment
All checks were successful
/ build-debug (push) Successful in 5m57s
2024-12-20 19:04:31 -05:00
e7ef370e46 feat: sgp.22 version in euicc info activity (#130)
All checks were successful
/ build-debug (push) Successful in 4m41s
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #130
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-20 22:56:31 +01:00
653a7b32ee ui: wizard: Prevent clicking next multiple times
All checks were successful
/ build-debug (push) Successful in 5m18s
2024-12-18 21:13:08 -05:00
0f8749ee04 ui: wizard: Verify the EuiccChannel is still valid every time next is pressed
Some checks failed
/ build-debug (push) Has been cancelled
2024-12-18 21:11:15 -05:00
c0a6917645 Remove unused isForegroundTaskRunning
All checks were successful
/ build-debug (push) Successful in 5m43s
idk what this was used for
2024-12-18 20:57:37 -05:00
6e3176668a core: Reconnect to USB readers after switching profiles as well
All checks were successful
/ build-debug (push) Successful in 5m30s
Apparently some reader + card combination results in the need to
re-establish the ISD-R even though this is not a modem.

It doesn't hurt to run waitForReconnect() anyway :)
2024-12-18 20:44:08 -05:00
66bee041a0 ui: wizard: IMEI input type should be numberPassword
All checks were successful
/ build-debug (push) Successful in 5m14s
2024-12-18 20:05:27 -05:00
43f247a71b fix: share file name display (#122)
All checks were successful
/ build-debug (push) Successful in 5m30s
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #122
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-19 00:19:34 +01:00
960f8855ad refactor: simplify profile operation (#129)
Some checks failed
/ build-debug (push) Has been cancelled
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #129
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-19 00:18:59 +01:00
de3ae19a10 ui: wizard: Resize activity root view with IME
Some checks failed
/ build-debug (push) Has been cancelled
...and hide the IME whenever we switch between the fragments.
2024-12-18 18:16:33 -05:00
75d3894462 ui: wizard: Save input state on pause
All checks were successful
/ build-debug (push) Successful in 5m27s
Fixes #131 and supersedes #132.
2024-12-18 18:02:24 -05:00
895899d03a i18n: Optimize strings and update translations
All checks were successful
/ build-debug (push) Successful in 5m16s
2024-12-17 22:34:06 -05:00
a87f154653 EuiccChannelManagerService: Stop throwing exceptions for USB channels when switching
All checks were successful
/ build-debug (push) Successful in 5m31s
2024-12-17 22:02:37 -05:00
b88345057c feat: add header to saved log file (#123)
All checks were successful
/ build-debug (push) Successful in 5m24s
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #123
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-18 01:28:24 +01:00
9596b8632c refactor: strong preference key constraint (#128)
Some checks failed
/ build-debug (push) Has been cancelled
Reviewed-on: #128
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-18 01:26:06 +01:00
087c760010 fix: password mask toggle in profile download wizard (#125)
All checks were successful
/ build-debug (push) Successful in 6m21s
![image](/attachments/540449a1-7f12-4194-881f-21d0787101b8)

Reviewed-on: #125
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-17 04:17:47 +01:00
24076e8fb4 ui: Remove old toast for profile name length
All checks were successful
/ build-debug (push) Successful in 5m33s
We'll add back i18n later.
2024-12-15 22:51:36 -05:00
f135a0da60 ui: Fixup rename error toasts
Some checks failed
/ build-debug (push) Has been cancelled
2024-12-15 22:49:02 -05:00
3b7bd8b31e fix: Validate nickname and convert to proper UTF-8 before passing to JNI
All checks were successful
/ build-debug (push) Successful in 4m48s
The JNI "modified" UTF-8 isn't what SGP.22 mandates. Let's encode
properly, validate the length, and pass the string as a C
null-terminated string directly over JNI.

This also introduces new exceptions that are exposed via UI as Toasts.
2024-12-15 16:02:27 -05:00
74e946cc8f i18n: Update message for LPA string parsing failure
All checks were successful
/ build-debug (push) Successful in 4m45s
2024-12-15 14:42:12 -05:00
3430406603 ui: wizard: Add toast for when clipboard is empty 2024-12-15 14:40:59 -05:00
24f04f54e4 Add icon for loading from clipboard 2024-12-15 14:37:30 -05:00
0fbda7dd78 feat: load lpa string from clipboard 2024-12-15 14:34:00 -05:00
905d0c897e ui: wizard: Save activity before showing nvram warning dialog
All checks were successful
/ build-debug (push) Successful in 4m59s
2024-12-15 13:19:23 -05:00
f395cee2e0 chore: cleanup unused resource from 343dfb43f8 (#119)
All checks were successful
/ build-debug (push) Successful in 4m52s
Reviewed-on: #119
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-15 18:47:57 +01:00
456754db5d fix: move language switcher component name in advanced category (#118)
All checks were successful
/ build-debug (push) Successful in 4m50s
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #118
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-15 16:46:06 +01:00
7d1c7663bc fix: format channel name (#117)
Some checks failed
/ build-debug (push) Has been cancelled
Reviewed-on: #117
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-15 16:42:59 +01:00
9d18253e44 ui: Cancel download from the low nvram warning dialog
All checks were successful
/ build-debug (push) Successful in 6m13s
2024-12-14 22:47:00 -05:00
6039679693 refactor: Remove the need for specifying preference keys when binding
All checks were successful
/ build-debug (push) Successful in 6m29s
Co-authored-by: septs <github@septs.pw>
2024-12-14 20:59:15 -05:00
5a8d92c3df feat: hide copied toast in android 13 or higher (#114)
Some checks failed
/ build-debug (push) Failing after 13m17s
see https://developer.android.com/develop/ui/views/touch-and-input/copy-paste#duplicate-notifications

Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #114
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-15 02:44:44 +01:00
55c99831f3 ui: Copyable eid string
Some checks failed
/ build-debug (push) Has been cancelled
peter: redid parts of EuiccInfoViewHolder to remove the need for root
context (we can get it from activity directly).

Co-Authored-By: septs <github@septs.pw>

commit 2a6eb746bf
Author: septs <github@septs.pw>
Date:   Sat Dec 14 11:26:42 2024 +0800

    feat: hide copied toast in android 13 or higher

commit d5bfd090b7
Merge: 0b2a498 aed2479
Author: septs <github@septs.pw>
Date:   Sat Dec 14 03:58:59 2024 +0800

    Merge branch 'master' into copyable-eid-string

commit 0b2a4988f2
Author: septs <github@septs.pw>
Date:   Fri Dec 13 12:35:27 2024 +0800

    refactor: eid copied toast

commit ce854575aa
Author: septs <github@septs.pw>
Date:   Fri Dec 13 12:27:18 2024 +0800

    revert: EuiccManagementFragment

commit 41229cac57
Author: septs <github@septs.pw>
Date:   Fri Dec 13 12:27:10 2024 +0800

    revert: EuiccManagementFragment

commit 1f2b2d73dd
Author: septs <github@septs.pw>
Date:   Fri Dec 13 12:25:01 2024 +0800

    feat: add euiccinfo activity specific strings

commit ca76ac841e
Merge: 110d490 55d96c6
Author: septs <github@septs.pw>
Date:   Fri Dec 13 12:23:34 2024 +0800

    Merge branch 'master' into copyable-eid-string

commit 110d49005a
Author: septs <github@septs.pw>
Date:   Fri Dec 13 12:23:21 2024 +0800

    revert: common strings

commit dc12e8d410
Author: septs <github@septs.pw>
Date:   Fri Dec 13 12:22:47 2024 +0800

    revert: unpriv strings

commit ccba9be141
Merge: 34c5e41 0687354
Author: septs <github@septs.pw>
Date:   Fri Dec 13 12:15:42 2024 +0800

    Merge branch 'master' of ssh://gitea-ssh.angry.im:2222/PeterCxy/OpenEUICC into copyable-eid-string

commit 34c5e41dde
Author: septs <github@septs.pw>
Date:   Thu Dec 12 11:45:59 2024 +0800

    chore: simplify clickable

commit 4f1ed329f1
Author: septs <github@septs.pw>
Date:   Thu Dec 12 11:37:15 2024 +0800

    feat: copyable eid string
2024-12-14 20:38:24 -05:00
343dfb43f8 Remove unused SlotSelectFragment
All checks were successful
/ build-debug (push) Successful in 5m34s
2024-12-14 16:13:47 -05:00
815d4d4324 Expose USB device name as intrinsic name for use with download wizard
Some checks are pending
/ build-debug (push) Has started running
2024-12-14 16:11:49 -05:00
ec334d104a ui: Implement log content sharing
Some checks failed
/ build-debug (push) Failing after 14m12s
2024-12-14 15:18:47 -05:00
70f1e00eb4 refactor: Extract shared log-saving behavior
All checks were successful
/ build-debug (push) Successful in 5m12s
...so that we implement log-sharing once and apply it to both spots.
2024-12-14 14:55:27 -05:00
bc238c45cd ui: Add switching timeout message to the new DI text provider
Some checks failed
/ build-debug (push) Failing after 14m45s
2024-12-14 14:38:09 -05:00
14ea84c36e ui: Add placeholder text for when no eUICC is found to TextProvider
All checks were successful
/ build-debug (push) Successful in 6m5s
2024-12-14 14:21:05 -05:00
aefa79b18b refactor: Channel format should use DI instead of resource overriding
All checks were successful
/ build-debug (push) Successful in 5m34s
i18n makes resource overriding unreliable.
2024-12-14 13:47:23 -05:00
aed2479044 ui: wizard: Prevent de-selecting checkboxes
All checks were successful
/ build-debug (push) Successful in 5m32s
2024-12-13 08:34:21 -05:00
f294fb5e17 ui: wizard: Reintroduce support for downloading to USB readers
Some checks failed
/ build-debug (push) Has been cancelled
...and fixup our API which caused this problem in the first place.
2024-12-13 08:33:02 -05:00
55d96c6732 feat: if profile delete confirm text is mismatched then show toast (#110)
All checks were successful
/ build-debug (push) Successful in 5m34s
Reviewed-on: #110
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-13 05:15:08 +01:00
06873545e2 refactor: certificate issuer detecting (#108)
Some checks failed
/ build-debug (push) Failing after 12m3s
Reviewed-on: #108
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-13 04:41:03 +01:00
6d962a12b5 fix: euiccinfo activity channel title (#103)
All checks were successful
/ build-debug (push) Successful in 5m47s
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #103
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-12 02:09:01 +01:00
8f9c7137f6 feat: show incorrect lpa string alert dialog (#101)
Some checks are pending
/ build-debug (push) Has started running
Reviewed-on: #101
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-12 01:59:06 +01:00
125f1da6af i18n: Add Simplified Chinese (zh-CN) translation
All checks were successful
/ build-debug (push) Successful in 4m57s
Also fix up some untranslatable strings and translation mistakes in
ja while we are at it.

Co-authored-by: sekaiacg <sekaiacg@gmail.com>
2024-12-08 19:57:16 -05:00
4a482b9c73 Implement a generic preference overlay mechanism
All checks were successful
/ build-debug (push) Successful in 4m16s
We'll need this as we'll probably soon have more priv/unpriv-specific
preferences. For example, exposing removable eSIMs to the system.
2024-12-08 17:22:46 -05:00
ca46b578f7 ui: Display ARA-M SHA-1 under info
All checks were successful
/ build-debug (push) Successful in 4m39s
2024-12-08 17:15:36 -05:00
23022b14be feat: copy ara-m sha-1 in settings 2024-12-08 17:12:51 -05:00
2d66c1f334 ui: Switch completely to the new download flow
All checks were successful
/ build-debug (push) Successful in 4m36s
...and delete the old ProfileDownloadFragment
2024-12-08 16:26:36 -05:00
09b98b37ab Export DownloadWizardActivity
All checks were successful
/ build-debug (push) Successful in 4m25s
2024-12-08 16:19:14 -05:00
fdbf9b3252 ui: wizard: Reimplement low nvram warning
Some checks failed
/ build-debug (push) Has been cancelled
2024-12-08 16:17:50 -05:00
84f47cb0f0 ui: wizard: Use dp instead of sp in margins
All checks were successful
/ build-debug (push) Successful in 4m38s
2024-12-08 16:09:39 -05:00
0229ef41df ui: wizard: Allow saving diagnostics text
Some checks failed
/ build-debug (push) Has been cancelled
2024-12-08 16:07:23 -05:00
15d3b701a5 Switch LuiActivity to the new wizard
All checks were successful
/ build-debug (push) Successful in 4m43s
...and rename / alias the old DirectProfileDownloadActivity to the new
DownloadWizardActivity
2024-12-08 15:42:24 -05:00
700578a369 ui: wizard: Handle download success
All checks were successful
/ build-debug (push) Successful in 4m51s
Turns out when you test only errors you forget things can actually
succeed...
2024-12-08 15:34:38 -05:00
eab60bf3d3 ui: priv: Set isMEP and isRemovable when creating footer views
All checks were successful
/ build-debug (push) Successful in 4m30s
Else, footer views may be created before we actually intialize that
info.
2024-12-08 13:44:02 -05:00
5b80afd5fe ui: Expose download error reason in diagnostics
All checks were successful
/ build-debug (push) Successful in 4m32s
2024-12-08 13:39:15 -05:00
400c2ff9f9 ProfileDeleteFragment: Stop using non-local returns for no reason
All checks were successful
/ build-debug (push) Successful in 4m13s
2024-12-08 12:59:27 -05:00
b4f562f90b Make MainActivity permission checks clearer
Some checks failed
/ build-debug (push) Has been cancelled
2024-12-08 12:58:24 -05:00
5a000278d3 Revert meaningless PermissionUtils
Some checks failed
/ build-debug (push) Has been cancelled
2024-12-08 12:55:42 -05:00
38d38523f9 Revert MainActivity changes
Some checks failed
/ build-debug (push) Has been cancelled
2024-12-08 12:54:33 -05:00
022ca1da9d chore: improve readability (#95)
Some checks failed
/ build-debug (push) Has been cancelled
Reviewed-on: #95
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-08 18:51:48 +01:00
1140ddb249 lpac-jni: IgnoreTLSCertificate -> AllowAllTrustManager
All checks were successful
/ build-debug (push) Successful in 4m14s
2024-12-08 11:15:11 -05:00
9be1ae7cd1 lpac-jni: Expose error reason enum as string
Some checks failed
/ build-debug (push) Has been cancelled
2024-12-08 11:14:10 -05:00
a7e97378fc Rework EuiccInfoActivity formatting
All checks were successful
/ build-debug (push) Successful in 4m18s
2024-12-08 10:51:14 -05:00
790cbb5a58 i18n: Update ja translations
All checks were successful
/ build-debug (push) Successful in 4m14s
2024-12-08 10:42:32 -05:00
2247749b37 ui: Set layout_constrainedWidth for profile title
All checks were successful
/ build-debug (push) Successful in 4m26s
2024-12-08 10:35:03 -05:00
249aea482b refactor: euicc info activity (#98)
All checks were successful
/ build-debug (push) Successful in 4m14s
improve maintainability

Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #98
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-08 16:31:39 +01:00
dc0489a693 chore: simplify source code intent (#97)
Some checks failed
/ build-debug (push) Has been cancelled
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #97
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-08 16:30:00 +01:00
d3e54ece58 chore: improve compatibility check (#96)
Some checks failed
/ build-debug (push) Has been cancelled
Reviewed-on: #96
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-08 16:29:05 +01:00
4e5bb5b11e retire Android.mk to prevent AOSP from complaining
All checks were successful
/ build-debug (push) Successful in 5m7s
we don't use Android.mk for AOSP, but we do for the NDK JNI build. Let's
rename it so that the latest AOSP 15 QPR 1 stops complaining.
2024-12-07 21:25:10 -05:00
68cc6adc9b chore: reduce translatable strings (#93)
All checks were successful
/ build-debug (push) Successful in 5m56s
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #93
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-08 03:11:44 +01:00
9e637f766d fix: profile class always display (#92)
Some checks failed
/ build-debug (push) Has been cancelled
Reviewed-on: #92
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-08 03:10:53 +01:00
acce39fd3b chore: flatten install packages (#85)
All checks were successful
/ build-debug (push) Successful in 4m21s
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #85
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-07 15:58:56 +01:00
fb8b6de350 chore: cleanup (#81)
Some checks failed
/ build-debug (push) Has been cancelled
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #81
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-07 15:57:14 +01:00
75221fcf79 fix: build failed (ES10c.EuiccMemoryReset) (#90)
Some checks failed
/ build-debug (push) Has been cancelled
Reviewed-on: #90
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-07 15:56:24 +01:00
4ae19aea3b feat: expose ES10c.EuiccMemoryReset (#88)
Some checks failed
/ build-debug (push) Failing after 5m37s
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #88
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-07 04:43:31 +01:00
ff6bd45ac6 feat: show profile class with unfiltered profile list (#86)
Some checks are pending
/ build-debug (push) Has started running
Co-authored-by: Peter Cai <peter@typeblog.net>
Reviewed-on: #86
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-07 04:41:49 +01:00
858b6d55d6 feat: show notification sequence number in upper right (#84)
Some checks failed
/ build-debug (push) Has been cancelled
![](https://gitea.angry.im/attachments/049f819a-b647-4db6-ae3d-6519cf8ff2e9)

Reviewed-on: #84
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-07 04:39:44 +01:00
78bf3612ee lpac-jni: Expose error reason as return value
All checks were successful
/ build-debug (push) Successful in 5m28s
2024-12-01 18:47:58 -05:00
afeb5c5282 i18n: Fixup Japanese translation for notification types
All checks were successful
/ build-debug (push) Successful in 5m41s
~ing in the en text means the action itself, not the process.
2024-12-01 17:22:58 -05:00
f74145d0b7 i18n: Update new strings
All checks were successful
/ build-debug (push) Successful in 5m13s
2024-12-01 17:15:51 -05:00
c6de599db0 lpac-jni: Cancel es9p/10b sessions on download failure
All checks were successful
/ build-debug (push) Successful in 4m47s
2024-12-01 17:08:09 -05:00
0a78daee8b feat: language preferences (#76)
All checks were successful
/ build-debug (push) Successful in 4m31s
see https://developer.android.com/guide/topics/resources/app-languages

Reviewed-on: #76
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-01 20:26:14 +01:00
e7f58bbaaf chore: simplify settings intent (#77)
Some checks failed
/ build-debug (push) Failing after 10m34s
Reviewed-on: #77
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-01 14:57:30 +01:00
562e5922be chore: suppress gradle warning (#75)
Some checks are pending
/ build-debug (push) Has started running
We recommend using a newer Android Gradle plugin to use `compileSdk = 35`

This Android Gradle plugin (8.1.2) was tested up to `compileSdk = 34`.

You are strongly encouraged to update your project to use a newer
Android Gradle plugin that has been tested with `compileSdk = 35`.

If you are already using the latest version of the Android Gradle plugin,
you may need to wait until a newer version with support for `compileSdk = 35` is available.

To suppress this warning, add/update

```
android.suppressUnsupportedCompileSdk=35
```

to this project's gradle.properties.

Reviewed-on: #75
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-12-01 14:46:42 +01:00
50c77ea467 refactor: preference repository (#74)
All checks were successful
/ build-debug (push) Successful in 4m9s
reduce template code

Reviewed-on: #74
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-30 16:05:44 +01:00
6bb1a16aee feat: show unfiltered profile list in developer options (#73)
All checks were successful
/ build-debug (push) Successful in 4m9s
resolves #40 #30

Reviewed-on: #73
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-30 15:47:54 +01:00
92daa56f1a Add Japanese translate (#71)
All checks were successful
/ build-debug (push) Successful in 4m9s
Reviewed-on: #71
Co-authored-by: reindex <reindex@noreply.gitea.angry.im>
Co-committed-by: reindex <reindex@noreply.gitea.angry.im>
2024-11-30 15:29:09 +01:00
90878438f9 refactor: gitignore (#69)
Rebuild root dot-gitignore file

Update subdirectory dot-gitignore file

Reviewed-on: #69
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-27 15:06:32 +01:00
96bc9865ff lpac_jni: Clear exceptions before setting response
All checks were successful
/ build-debug (push) Successful in 5m29s
2024-11-24 19:50:27 -05:00
dcae65011e lpac_jni: Move HTTP diagnostics to LPA 2024-11-24 19:49:47 -05:00
1c4263a47a ui: wizard: Make clear what HTTP and APDU mean 2024-11-24 19:45:45 -05:00
d7214141e6 ui: wizard: Only show full APDU response when it is a failure
All checks were successful
/ build-debug (push) Successful in 5m12s
2024-11-24 19:45:05 -05:00
326b39ed05 ui: wizard: Add APDU errors to diagnostics 2024-11-24 19:43:42 -05:00
26d037048d ui: wizard: Show HTTP exception in diagnostics
All checks were successful
/ build-debug (push) Successful in 6m24s
2024-11-24 19:26:47 -05:00
5476e335b1 Move ProfileDownloadException to LPA
All checks were successful
/ build-debug (push) Successful in 5m33s
2024-11-24 19:20:47 -05:00
426e5c0197 util: Ignore spaces in JSON string
All checks were successful
/ build-debug (push) Successful in 5m0s
2024-11-24 17:45:11 -05:00
74d7da35dc ui: wizard: Quick and dirty JSON pretty-printer
All checks were successful
/ build-debug (push) Successful in 5m26s
2024-11-24 17:29:51 -05:00
07072667db ui: wizard: Add error diagnostics
All checks were successful
/ build-debug (push) Successful in 4m28s
We finally have it!!!
2024-11-24 17:10:46 -05:00
895cbdd53d lpa: Track last HTTP response on failure
Some checks failed
/ build-debug (push) Failing after 4m2s
We'll have a "error diagnosis" page for the new download wizard.

We'll probably want to do this for APDU too.
2024-11-24 15:56:44 -05:00
1a3fd621d9 EuiccChannelManagerService: move applyCompletionTransform() to companion object
All checks were successful
/ build-debug (push) Successful in 4m20s
2024-11-24 15:34:36 -05:00
74489a9ae0 EuiccChannelManagerservice: Fix completion event in returned flows
All checks were successful
/ build-debug (push) Successful in 4m14s
2024-11-24 13:25:11 -05:00
d68a7172de EuiccChannelManagerService: Fix support for multiple subscribers
All checks were successful
/ build-debug (push) Successful in 4m27s
We have to use another SharedFlow here. Otherwise, the flow transforms
break our ability to subscribe to it more than once, which is needed for
UI state to preserve across recreate events.
2024-11-24 13:14:16 -05:00
5b079c95ac ui: wizard: Implement the download process
All checks were successful
/ build-debug (push) Successful in 4m14s
2024-11-24 11:23:27 -05:00
f2c233fe1c EuiccChannelManagerService: Introduce IDs for tasks
All checks were successful
/ build-debug (push) Successful in 4m25s
2024-11-24 10:42:02 -05:00
3507c17834 EuiccChannalManagerService: manually buffer the returned flow 2024-11-24 10:18:54 -05:00
b2abe5ee84 ui: wizard: Make download details nullable
All checks were successful
/ build-debug (push) Successful in 5m11s
2024-11-20 21:03:42 -05:00
67c9612627 ui: wizard: Restrict inputs to single lines 2024-11-20 21:00:50 -05:00
39b40f9b0d ui: wizard: Lay out the download progress UI
All checks were successful
/ build-debug (push) Successful in 5m0s
2024-11-20 20:57:35 -05:00
f236b40cd4 lpac-jni: Add lookup from progress to state
All checks were successful
/ build-debug (push) Successful in 5m15s
2024-11-19 20:49:34 -05:00
e7a0482281 ui: wizard: Save current state to bundle
All checks were successful
/ build-debug (push) Successful in 4m48s
2024-11-19 20:40:53 -05:00
81f34f9b1c ui: wizard: Sort by slot ID 2024-11-19 20:14:30 -05:00
8c73615fbb ui: wizard: Implement input by scanning / gallery
All checks were successful
/ build-debug (push) Successful in 5m4s
2024-11-19 20:11:37 -05:00
9cf95ad47c ui: Add a input details fragment for download wizard
All checks were successful
/ build-debug (push) Successful in 5m7s
2024-11-19 18:38:59 -05:00
723ec70730 ui: Use prev button action for back pressed
All checks were successful
/ build-debug (push) Successful in 4m45s
2024-11-18 21:06:46 -05:00
dbdadd33b3 ui: Add slide-in and slide-out animation for wizard steps
Some checks failed
/ build-debug (push) Has been cancelled
2024-11-18 21:02:12 -05:00
92b7b46598 ui: Lay out the method select fragment for wizard
All checks were successful
/ build-debug (push) Successful in 5m55s
2024-11-18 20:54:42 -05:00
0c519af376 ui: Update slot select prompt text 2024-11-18 20:19:28 -05:00
aaca9e807a ui: Show free space when selecting slot
All checks were successful
/ build-debug (push) Successful in 4m59s
2024-11-18 20:01:43 -05:00
98e16ee5aa ui: Hook up prev / next buttons for new download wizard
Some checks failed
/ build-debug (push) Has been cancelled
2024-11-18 19:57:01 -05:00
b9d5c1c5bb chore: simplify dot-idea gitignore (#68)
All checks were successful
/ build-debug (push) Successful in 5m10s
Reviewed-on: #68
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-18 23:39:09 +01:00
c4b513fc0a ui: Save selected slot as state in DownloadWizardActivity
All checks were successful
/ build-debug (push) Successful in 5m5s
2024-11-17 22:00:03 -05:00
6458f54db2 ui: Ensure EuiccChannelManager is available in slot select fragment 2024-11-17 21:42:41 -05:00
87f36f4166 ui: Expose more info in slot select fragment 2024-11-17 21:41:40 -05:00
4fb59a4b01 ui: Fixup strings for eSIM slot selection
All checks were successful
/ build-debug (push) Successful in 5m4s
2024-11-17 19:17:29 -05:00
16636988b0 ui: Fixup loaded state 2024-11-17 19:15:42 -05:00
93e7297caa ui: Implement single selection for new wizard 2024-11-17 19:14:00 -05:00
1087a676d4 ui: Fix slot item alignment in new wizard 2024-11-17 19:04:41 -05:00
375d13b7c4 ui: Start designing UI for selectiing slot in the new download flow
All checks were successful
/ build-debug (push) Successful in 6m3s
incomplete
2024-11-17 17:32:42 -05:00
a3d59a0761 feat: ignore tls certificate (#66)
All checks were successful
/ build-debug (push) Successful in 5m14s
Reviewed-on: #66
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-17 03:43:38 +01:00
5f0dbe3098 ui: Hide developer settings behind 7 clicks
All checks were successful
/ build-debug (push) Successful in 5m9s
2024-11-16 20:59:36 -05:00
efa9b8bfa4 ui: Set up progress bar for the new wizard 2024-11-16 20:37:43 -05:00
47d5c3881c ui: Add skeleton of an experimental new download flow
All checks were successful
/ build-debug (push) Successful in 5m1s
This doesn't work yet at all, and is hidden behind an experimental
settings switch.
2024-11-16 18:34:45 -05:00
e9f4d3d1f9 fix: unified alert dialog style (#65)
All checks were successful
/ build-debug (push) Successful in 4m44s
see https://gitea.angry.im/PeterCxy/OpenEUICC/search/branch/master?q=.app.AlertDialog

Reviewed-on: #65
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-14 14:59:13 +01:00
506b0e530a feat: low nvram alert (#62)
All checks were successful
/ build-debug (push) Successful in 4m6s
If free nvram available is less 30 kib, then alert dialog

Reviewed-on: #62
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-14 14:02:27 +01:00
e8db3d1206 chore: simplify CompatibilityCheckActivity logical (#61)
All checks were successful
/ build-debug (push) Successful in 5m27s
Reviewed-on: #61
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-13 22:47:35 +01:00
071304349a fix: crash with disable com.android.stk app (#60)
All checks were successful
/ build-debug (push) Successful in 5m40s
```console
pm disable-user com.android.stk
```

after running this command, the app will crash when launched

Reviewed-on: #60
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-12 02:42:25 +01:00
6f8aef8ea8 EuiccChannelManager: Remove last trace of blocking methods
All checks were successful
/ build-debug (push) Successful in 5m0s
2024-11-10 20:56:56 -05:00
8e806c3ae5 EuiccChannelManager: slot -> logicalSlot
Some checks failed
/ build-debug (push) Has been cancelled
2024-11-10 20:55:12 -05:00
42c870192c Remove last trace of findEuiccChannelBySlotBlocking() public usage
Some checks failed
/ build-debug (push) Has been cancelled
2024-11-10 20:53:35 -05:00
9201ee416e OpenEuiccService: Remove more useless stuff
All checks were successful
/ build-debug (push) Successful in 5m16s
2024-11-10 20:45:48 -05:00
7105c43ae4 EuiccChannelManager: Remove findEuiccChannelByPort() as public method
Some checks failed
/ build-debug (push) Has been cancelled
2024-11-10 20:42:21 -05:00
d846f0cdc4 LPAUtils: Remove usage of findEuiccChannelByPort()
Some checks failed
/ build-debug (push) Has been cancelled
2024-11-10 20:40:05 -05:00
5dacb75717 EuiccChannelManager: Remove some unused methods
All checks were successful
/ build-debug (push) Successful in 4m46s
2024-11-10 20:35:01 -05:00
f28867ef2e OpenEuiccService: Remove traces of EuiccChannel usage 2024-11-10 20:31:09 -05:00
7215a2351b OpenEuiccService: Switch onSwitchToSubscriptionWithPort() to use the new service
All checks were successful
/ build-debug (push) Successful in 4m56s
2024-11-10 20:29:25 -05:00
837c34ba70 Add convience "Done" subscriber method for Flow<ForegroundTaskState>
All checks were successful
/ build-debug (push) Successful in 5m12s
2024-11-10 17:11:55 -05:00
fe6d4264e3 OpenEuiccService: switch onDeleteSubscription to use
All checks were successful
/ build-debug (push) Successful in 4m51s
EuiccChannelManagerService
2024-11-10 17:00:41 -05:00
13085ec202 Add findAvailablePorts() to EuiccChannelManager
All checks were successful
/ build-debug (push) Successful in 4m41s
For use with OpenEuiccService
2024-11-10 15:57:32 -05:00
9d8e58a95d refactor: open sim toolkit logical (#58)
All checks were successful
/ build-debug (push) Successful in 5m1s
Reviewed-on: #58
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-09 01:10:55 +01:00
22ec3e3baf OpenEuiccService: Start migrating to withEuiccChannel()
All checks were successful
/ build-debug (push) Successful in 6m30s
2024-11-03 10:53:24 -05:00
32f5e3f71a PrivilegedTelephonyUtils: Nuke direct EuiccChannel usage
All checks were successful
/ build-debug (push) Successful in 4m38s
2024-11-02 21:36:08 -04:00
04debd62d5 MainActivity: Fixup ViewPager update
All checks were successful
/ build-debug (push) Successful in 4m52s
2024-11-02 20:58:56 -04:00
0ef435956c EuiccChannelManager: retire enumerateEuiccChannels()
All checks were successful
/ build-debug (push) Successful in 4m54s
2024-11-02 19:09:57 -04:00
573dce56a6 EuiccChannelManager: Stop emitting real EuiccChannel for USB
Some checks failed
/ build-debug (push) Has been cancelled
2024-11-02 19:06:31 -04:00
272ab953e0 PrivilegedTelephonyUtils: Switch to flowEuiccPorts()
All checks were successful
/ build-debug (push) Successful in 5m6s
2024-11-02 18:09:12 -04:00
6257a03058 DirectProfileDownloadActivity: use flowEuiccPorts()
All checks were successful
/ build-debug (push) Successful in 4m29s
2024-11-02 17:16:43 -04:00
5e5210ae2d MainActivity: switch to flowEuiccPorts()
All checks were successful
/ build-debug (push) Successful in 4m26s
2024-11-02 16:54:30 -04:00
87eb497f40 feat: open stk from menu (#57)
All checks were successful
/ build-debug (push) Successful in 4m22s
Reviewed-on: #57
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-02 19:29:37 +01:00
1dc5004681 feat: enhanced visual hints for available slots (#54)
Some checks failed
/ build-debug (push) Has been cancelled
Reviewed-on: #54
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-11-02 19:27:42 +01:00
2ece6af174 Add EuiccChannelManager.flowEuiccPorts()
All checks were successful
/ build-debug (push) Successful in 4m56s
This is to prepare for refactoring EuiccChannel usage out everywhere
2024-10-29 20:18:23 -04:00
59b4b9e4ab Fix EuiccInfoActivity crash
All checks were successful
/ build-debug (push) Successful in 4m45s
2024-10-28 21:10:01 -04:00
826c120ca5 EuiccInfoActivity: support back button
All checks were successful
/ build-debug (push) Successful in 4m33s
2024-10-27 15:58:33 -04:00
5cefbc24f5 OpenEuiccService: fixup 2024-10-27 15:57:46 -04:00
f285eacd55 Show channel access mode and removable status
Some checks failed
/ build-debug (push) Failing after 4m13s
2024-10-27 15:17:00 -04:00
481b9ce196 Show slot ID in EuiccInfoActivity
All checks were successful
/ build-debug (push) Successful in 5m17s
2024-10-27 11:24:22 -04:00
ce7fb29c14 Display supported certificates (GSMA Test or Prod) in EuiccInfoActivity 2024-10-27 11:22:10 -04:00
c2cc8ceb2a feat: EuiccInfoActivity
All checks were successful
/ build-debug (push) Successful in 4m32s
2024-10-27 11:04:45 -04:00
3d4704e77b Remove more EuiccChannel usage in PrivilegedEuiccManagementFragment
All checks were successful
/ build-debug (push) Successful in 5m46s
2024-10-26 22:15:02 -04:00
6a2d4d66dd Move EuiccChannelManagerService to withEuiccChannel()
All checks were successful
/ build-debug (push) Successful in 4m32s
2024-10-26 21:52:33 -04:00
8ac46bd778 Move findEuiccChannelBySlot to non-blocking 2024-10-26 21:46:13 -04:00
0961ef70f4 New withEuiccChannel() variant with logical slot ID 2024-10-26 21:45:14 -04:00
3b868e4f9a Move some fragments to withEuiccChannel()
All checks were successful
/ build-debug (push) Successful in 4m26s
2024-10-26 21:41:56 -04:00
95b24e6151 Add withEuiccChannel helper for EuiccChannelFragment 2024-10-26 21:29:09 -04:00
ef62274057 Wrappers shouldn't hold references indefinitely
All checks were successful
/ build-debug (push) Successful in 4m4s
2024-10-26 15:49:38 -04:00
76e8fbd56b Use wrappers to enforce that withEuiccChannel can't leak references 2024-10-26 15:46:43 -04:00
d54fcf2589 refactor: Make EuiccChannel abstract
All checks were successful
/ build-debug (push) Successful in 4m13s
This allows wrapping to control reference lifetime outside of
EuiccChannelManager.
2024-10-26 15:32:31 -04:00
7cb872a664 Add new withEuiccChannel() method to EuiccChannelManager 2024-10-26 15:32:31 -04:00
65c9a7dc39 fix: refer url (#53)
All checks were successful
/ build-debug (push) Successful in 4m22s
Reviewed-on: #53
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
2024-10-23 04:17:48 +02:00
d26a8ddc78 EuiccChannelManagerService: stop using blocking variants unnecessarily
All checks were successful
/ build-debug (push) Successful in 4m19s
2024-10-20 20:37:44 -04:00
aac457f4b5 Don't dismiss DialogFragment's when in background
All checks were successful
/ build-debug (push) Successful in 5m43s
They shall be dismissed automatically. Doing it here may cause
IllegalStateException.

Note that even if they are dismissed, the corresponding tasks will
continue to be executed by EuiccChannelManagerService and will not be
cancelled.
2024-10-20 11:47:27 -04:00
2337ad035d Post a notification to signify task failure from service 2024-10-20 11:44:20 -04:00
7197501cca ProfileDownloadFragment: Stop catching all exceptions
Some checks failed
/ build-debug (push) Failing after 37s
..instead, use the error value returned in the foreground task result.

Catching all exceptions will result in cancellation being ignored when
the fragment is destroyed.
2024-10-19 21:13:07 -04:00
4709b6994f Don't call stopSelf() if the coroutine is cancelled 2024-10-19 19:14:14 -04:00
349c8179b0 Force foreground tasks to always complete (i.e. not cancelled) 2024-10-19 19:09:35 -04:00
16b6aceedf ui: Remove more blocking operations in NotificationsActivity
All checks were successful
/ build-debug (push) Successful in 5m4s
2024-10-12 11:09:16 -04:00
eab96dde05 ui: Reduce blocking operations on transition 2024-10-12 10:49:47 -04:00
84dd16c169 Enable predicative back gestures
All checks were successful
/ build-debug (push) Successful in 4m50s
2024-10-12 10:39:48 -04:00
d3a04b94a9 Set MSS on es10x commands to 60 for OMAPI channels
All checks were successful
/ build-debug (push) Successful in 4m59s
This seems to help a LOT with 6601 checksum errors on phones like Pixel
7 Pro. I am seeing virtually none with MSS = 60.
2024-10-10 22:08:32 -04:00
19dc215b3f lpac-jni: Update lpac 2024-10-10 21:52:57 -04:00
ddc421dae7 omapi: Retry on 0x6601 checksum errors
All checks were successful
/ build-debug (push) Successful in 8m18s
Some removable eUICCs don't play nicely with some modems. When they emit
0x6601 checksum errors, retry at least a few times before giving up.

This fixes support for eSTK.me / JMP eSIM Adapters on Pixel 7 Pro.
2024-10-09 22:45:09 -04:00
69e63b0a8b Stop using runBlocking inside suspend funs
All checks were successful
/ build-debug (push) Successful in 5m16s
2024-10-09 21:46:49 -04:00
290bdca75a feat: Introduce option for global verbose logging
All checks were successful
/ build-debug (push) Successful in 4m34s
2024-10-09 20:20:32 -04:00
5c8bbeb217 Fix removable eSIM safeguards description again
All checks were successful
/ build-debug (push) Successful in 5m11s
2024-10-09 18:14:54 -04:00
ff266a4a9b Un-confusing-ify the "safeguards" description
Some checks failed
/ build-debug (push) Has been cancelled
2024-10-09 18:13:51 -04:00
6b71a746a4 Add monochrome icons for v31+
Some checks failed
/ build-debug (push) Has been cancelled
2024-10-09 18:10:14 -04:00
165f685abb Remove unused beginTrackedOperation in UI 2024-09-30 19:53:25 -04:00
42942c2816 ui: Handle navbar insets properly
All checks were successful
/ build-debug (push) Successful in 4m55s
2024-09-30 19:49:24 -04:00
54b4f61fd7 Improve notification channel creation
All checks were successful
/ build-debug (push) Successful in 5m22s
2024-09-29 21:50:47 -04:00
7661b4b84f Output any foreground task error to Log 2024-09-29 21:45:55 -04:00
479e0ff34a Move profile switching to use the new foreground task flow
All checks were successful
/ build-debug (push) Successful in 4m50s
2024-09-29 21:44:32 -04:00
79f43e2fda Set notification to alert only once
All checks were successful
/ build-debug (push) Successful in 4m2s
2024-09-29 17:40:58 -04:00
8573834a03 Improve download progress bar UI
Some checks failed
/ build-debug (push) Has been cancelled
2024-09-29 17:39:32 -04:00
2721f91277 Make foreground notifications much more reliable
Some checks failed
/ build-debug (push) Has been cancelled
2024-09-29 17:36:58 -04:00
653123939c Set notifications to ongoing 2024-09-29 17:07:15 -04:00
48b5f8ce06 Impose timeout on waiting for foreground start 2024-09-29 16:54:49 -04:00
31c06470c6 Move profile deletion to new flow 2024-09-29 16:49:21 -04:00
cf5704be42 Move profile download to the new foreground flow
All checks were successful
/ build-debug (push) Successful in 4m7s
...and fix race condition introduced by the new flow
2024-09-29 16:32:58 -04:00
f71da0e4ff Update documentation
All checks were successful
/ build-debug (push) Successful in 4m29s
2024-09-29 15:32:46 -04:00
fe1319537a Make foreground tasks block UI reloads 2024-09-29 15:30:49 -04:00
8de0d86895 ProfileDownloadFragment: Wait for euiccChannelManager to load
All checks were successful
/ build-debug (push) Successful in 4m10s
2024-09-29 15:14:43 -04:00
64a350d271 lpac-jni: Force reduce connect/read timeout for notification requests 2024-09-29 15:12:18 -04:00
9a77824f79 Enforce updateForegroundNotification to run in the main thread
All checks were successful
/ build-debug (push) Successful in 4m21s
2024-09-29 14:40:15 -04:00
3add3ffa90 refactor: Launch profile download task inside EuiccChannelManagerService
All checks were successful
/ build-debug (push) Successful in 4m39s
This task is too long to run directly inside the fragment lifecycle.
Instead, let's launch it inside the service lifecycle scope and use a
MutableStateFlow to notify the UI of progress.

This interface is designed to be extensible to other use cases.
2024-09-29 14:09:17 -04:00
324dcdc563 EuiccManagementFragment: prevent crashes on configuration change
All checks were successful
/ build-debug (push) Successful in 4m0s
This is... not supposed to happen. We made too many assumptions about
the Fragment lifecycle.
2024-09-28 16:15:17 -04:00
b94eedac0a All LPA methods should be synchronized
All checks were successful
/ build-debug (push) Successful in 4m57s
Calling them from multiple threads is undefined
2024-09-28 11:15:51 -04:00
a6777d1d17 Apply layout insets to more activities
All checks were successful
/ build-debug (push) Successful in 5m28s
2024-09-28 11:05:18 -04:00
dc70f7ca46 Fix toolbar id in app-unpriv 2024-09-28 10:58:46 -04:00
77d95e4d02 Remove unused log 2024-09-28 10:44:29 -04:00
4a32f53c06 Commonize activity toolbar layouts
Some checks failed
/ build-debug (push) Failing after 4m4s
2024-09-28 10:28:24 -04:00
97bc0a0827 chore: uprev to targetSDK 35 and basic edge2edge inset fixes
All checks were successful
/ build-debug (push) Successful in 4m38s
2024-09-24 22:22:18 -04:00
68f1e370fc lpac-jni: Make sure to free EuiccInfo2
All checks were successful
/ build-debug (push) Successful in 4m16s
2024-09-07 20:35:13 -04:00
bf36188219 refactor: lpac-jni: Move EuiccInfo2 handling to Kotlin too
Some checks failed
/ build-debug (push) Has been cancelled
2024-09-07 20:32:27 -04:00
a43ceea39f lpac-jni: linked list free -> struct free
All checks were successful
/ build-debug (push) Successful in 4m32s
2024-09-07 16:26:33 -04:00
c681e99e47 refactor: lpac-jni: Move profiles linked list to Kotlin handling too
All checks were successful
/ build-debug (push) Successful in 4m17s
2024-09-07 16:02:28 -04:00
0afbece3b5 .idea: Whatever updates Android Studio wants 2024-09-07 15:53:11 -04:00
b101b01228 chore: Bump all subproject compileSdks
...yes, we'll probably need to bump these again very soon.
2024-09-07 15:51:37 -04:00
5ab07d6262 README: Mention more clearly it's GNU GPL v3
All checks were successful
/ build-debug (push) Successful in 4m44s
2024-09-03 21:45:50 -04:00
394cad2eac refactor: lpac-jni: Use C macros to generate struct-exposing functions 2024-09-03 21:35:41 -04:00
7f67000074 refactor: lpac-jni: Handle notification struct / linked list in Kotlin
All checks were successful
/ build-debug (push) Successful in 5m3s
JNI does not seem to like a ton of local references very much on armv7
(32-bit), even if env->EnsureLocalCapacity is called. Let's just avoid
doing this by moving most of this logic to Kotlin.

This also needs to be done for LocalProfileInfo.
2024-09-02 17:03:20 -04:00
7c07db0aab README: Warn about non-standard external eSIMs
All checks were successful
/ build-debug (push) Successful in 5m44s
2024-08-17 20:57:25 -04:00
f073261b60 unpriv: Add Huawei and Honor into the blocklist 2024-08-17 20:55:03 -04:00