Git Product home page Git Product logo

flutter_esim's Introduction

Hi there, I'm Hien Nguyen ๐Ÿ‘‹


๐Ÿ  Iโ€™m currently living at HCM City, Vietnam ๐Ÿ‡ป๐Ÿ‡ณ.
๐Ÿ‘จโ€๐Ÿ’ป Iโ€™m currently working on Android, React Native and Flutter.
๐Ÿ”ญ Currently working as a freelancer(mobile development) at Upwork.
โšก Available for freelance projects.
โ˜•๏ธ Iโ€™m coffeer.

Connect with me:

hiennv.com hien@hiennv.com | Gmail hiennguyen92 | YouTube hiennvan | Twitter hiennv | LinkedIn


Languages and Tools:



flutter_esim's People

Contributors

hiennguyen92 avatar

Stargazers

 avatar

Watchers

 avatar

flutter_esim's Issues

Android14: Receiving cancelled result code upon eSIM installation success.

Steps to reproduce

  1. Open the Flutter app on any device running Android 14 or higher.
  2. Navigate to the section of the app where the eSIM download functionality is available.
  3. Tap on the "Download eSIM" button.
  4. The app should take you to the device settings eSIM page to initiate the eSIM addition process.
  5. Follow the prompts to complete the eSIM installation.
  6. Upon successful eSIM installation, observe the result code received by the app.
  7. Note that despite successful installation, the app consistently receives RESULT_CANCELED instead of RESULT_OK.
  8. Repeat the process on a device running Android 13 or lower to verify that the issue does not occur on earlier versions.
  9. Document the observed behavior and result codes on both Android 13 (or lower) and Android 14 (or higher) devices for comparison.
  10. By following these steps, the issue with receiving incorrect result codes upon eSIM installation can be consistently reproduced and analyzed for further investigation and resolution.

Expected results
On Android versions 13 or lower:

  1. After completing the eSIM installation process, the Flutter app should receive a result code of RESULT_OK.
    The app should successfully handle the RESULT_OK code and proceed with the intended functionality.
    On Android versions 14 or higher:

  2. After completing the eSIM installation process, the Flutter app should still receive a result code of RESULT_OK.
    The app should successfully handle the RESULT_OK code and proceed with the intended functionality.
    Regardless of the Android version:

  3. Upon successful eSIM installation, the user should be seamlessly redirected back to the Flutter app.
    The app should reflect the newly installed eSIM and allow the user to proceed with any relevant actions or features related to the eSIM functionality.

Actual results
On Android versions 13 or lower:

  1. After completing the eSIM installation process, the Flutter app successfully receives a result code of RESULT_OK.
    The app handles the RESULT_OK code as expected and proceeds with the intended functionality without any issues.
    On Android versions 14 or higher:

  2. After completing the eSIM installation process, the Flutter app consistently receives a result code of RESULT_CANCELED.
    Despite the successful installation of the eSIM, the app does not receive the expected RESULT_OK code.
    Regardless of the Android version:

  3. Upon successful eSIM installation, the user is redirected back to the Flutter app as expected.
    However, due to the inconsistent result code (RESULT_CANCELED on Android 14 or higher), the app may not reflect the newly installed eSIM or allow the user to proceed with relevant actions related to eSIM functionality.

These actual results highlight the discrepancy between the expected behavior (receiving RESULT_OK) and the observed behavior (receiving RESULT_CANCELED) specifically on Android versions 14 or higher. This discrepancy is crucial to address to ensure the consistent and correct functioning of the Flutter app across different Android versions.

`private var lpaActivityIntent = Intent().apply {
action = EuiccManager.ACTION_START_EUICC_ACTIVATION
putExtra(EuiccManager.EXTRA_USE_QR_SCANNER, false)
}

mainActivity.startActivityForResult(lpaActivityIntent, ACTIVATE_ACTIVITY_CODE)
private fun onActivate(resultCode: Int) {
// Handling different result codes
}`

Platform Channel Communication: The result of the eSIM activation process will be communicated back to the Dart side (Flutter) using a platform channel. Depending on the result code received (RESULT_OK, RESULT_CANCELED, or others), appropriate callbacks will be invoked to communicate the result back to the Flutter side.

activateCallback?.invoke(Result.success(ActivateEsimReply(ServiceResult.OK)))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.