Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android app in debug mode gets stuck on splash screen after revoking permission #148228

Open
guperini opened this issue May 13, 2024 · 7 comments
Labels
found in release: 3.22 Found to occur in 3.22 has reproducible steps The issue has been confirmed reproducible and is ready to work on P3 Issues that are less important to the Flutter project platform-android Android applications specifically team-android Owned by Android platform team triaged-android Triaged by Android platform team

Comments

@guperini
Copy link

guperini commented May 13, 2024

Steps to reproduce

Steps to reproduce:

1 - Create a new Flutter project.
2 - Add the following permission to the Android manifest:
android.permission.READ_CONTACT
3 - Run the application.
4 - Navigate to the Android settings, approve the Contacts permission, and then revoke it.
5 - Return to the app.

Expected results

App should restart.

Actual results

Stuck in the splash screen.

Code sample

Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration

[Upload media here]

Logs

Logs
[Paste your logs here]

Flutter Doctor output

Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.6, on macOS 14.4.1 23E224 darwin-arm64, locale
    en-PT)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)
[✓] IntelliJ IDEA Community Edition (version 2024.1)
[✓] VS Code (version 1.89.1)
[✓] Connected device (3 available)
    ! Error: Browsing on the local area network for iPhone de Guilherme (2). Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)
    ! Error: Browsing on the local area network for iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources

• No issues found!
@AbdeMohlbi
Copy link

@guperini
On which devices does this issue appear? Additionally, could you please share a minimal reproducible code, including the contents of the AndroidManifest.xml file?

@guperini
Copy link
Author

guperini commented May 13, 2024

@guperini On which devices does this issue appear? Additionally, could you please share a minimal reproducible code, including the contents of the AndroidManifest.xml file?

Sure I can @AbdeMohlbi. It appears in all android devices I tested. It also happens if the permission is set using a package to ask permission when running the app. And it happens not only using read contacts permission, but others like camera permission happens the same way.

Sample code:
https://github.com/guperini/permission_issue

Video:
https://youtube.com/shorts/rxwYy_Gs-2s?feature=share

@AbdeMohlbi
Copy link

AbdeMohlbi commented May 13, 2024

@guperini
reproducible using ur code :

[√] Flutter (Channel master, 3.22.0-31.0.pre.26, on Microsoft Windows [version 10.0.19045.4239], locale en-US)
    • Flutter version 3.22.0-31.0.pre.26 on channel master at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 125543505d (4 hours ago), 2024-05-13 08:48:56 -0700
    • Engine revision 0050bf9a80
    • Dart version 3.5.0 (build 3.5.0-148.0.dev)
    • DevTools version 2.36.0-dev.5

this happens only in debug mode and when this happens app does lost connection (simular to when switching to dark mode sometimes )
in release mode issue happens but the black screen appears only for 2 seconds at most then the app show again could u confirm that ?
EDIT : the black screen issue does appear in native apps (tested on facebook mobile app) and it does get the black screen for 2 seconds at most then complete running .
i guess this is not a flutter specifique issue

@guperini
Copy link
Author

@guperini reproducible using ur code :

[√] Flutter (Channel master, 3.22.0-31.0.pre.26, on Microsoft Windows [version 10.0.19045.4239], locale en-US)
    • Flutter version 3.22.0-31.0.pre.26 on channel master at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 125543505d (4 hours ago), 2024-05-13 08:48:56 -0700
    • Engine revision 0050bf9a80
    • Dart version 3.5.0 (build 3.5.0-148.0.dev)
    • DevTools version 2.36.0-dev.5

this happens only in debug mode and when this happens app does lost connection (simular to when switching to dark mode sometimes ) in release mode issue happens but the black screen appears only for 2 seconds at most then the app show again could u confirm that ? EDIT : the black screen issue does appear in native apps (tested on facebook mobile app) and it does get the black screen for 2 seconds at most then complete running . i guess this is not a flutter specifique issue

Yes @AbdeMohlbi . I confirm. It only happens in debug mode. I didn´t see that before. That´s greate news. Thank you!!!

@darshankawar darshankawar added the in triage Presently being triaged by the triage team label May 14, 2024
@darshankawar
Copy link
Member

Thanks for the report @guperini
Have you checked what's the behavior in native Android app ? The Android OS kills the app whenever the user revokes any permissions, so this doesn't seem to be a Flutter specific bug.

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label May 14, 2024
@guperini
Copy link
Author

Thanks for the report @guperini Have you checked what's the behavior in native Android app ? The Android OS kills the app whenever the user revokes any permissions, so this doesn't seem to be a Flutter specific bug.

It doesn't happen using a native android app in debug mode. It's probably a Flutter issue.

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label May 14, 2024
@darshankawar
Copy link
Member

Thanks for the update. I was able to replicate this on S10. While granting and revoking the permissions, the app seems to be quitting and throws below in the console log and hence it could be getting stuck at splash screen.


Lost connection to device.
the Dart compiler exited unexpectedly.
stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.22.0, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.22.0 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (5 days ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.22.0-30.0.pre.11, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.22.0-30.0.pre.11 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c90e18c6f5 (2 hours ago), 2024-05-09 20:32:11 -0700
    • Engine revision c0917b14fc
    • Dart version 3.5.0 (build 3.5.0-138.0.dev)
    • DevTools version 2.36.0-dev.5
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.
      
[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.



@darshankawar darshankawar added platform-android Android applications specifically has reproducible steps The issue has been confirmed reproducible and is ready to work on team-android Owned by Android platform team found in release: 3.22 Found to occur in 3.22 and removed in triage Presently being triaged by the triage team labels May 15, 2024
@gmackall gmackall changed the title Android app gets stuck on splash screen after revoking READ_CONTACTS permission Android app in debug mode gets stuck on splash screen after revoking permission May 16, 2024
@gmackall gmackall added P3 Issues that are less important to the Flutter project triaged-android Triaged by Android platform team labels May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
found in release: 3.22 Found to occur in 3.22 has reproducible steps The issue has been confirmed reproducible and is ready to work on P3 Issues that are less important to the Flutter project platform-android Android applications specifically team-android Owned by Android platform team triaged-android Triaged by Android platform team
Projects
None yet
Development

No branches or pull requests

4 participants