[GH-ISSUE #20] Permission dialog issues #18

Closed
opened 2026-02-26 21:31:12 +03:00 by kerem · 0 comments
Owner

Originally created by @CampbellMG on GitHub (Dec 23, 2021).
Original GitHub issue: https://github.com/seemoo-lab/AirGuard/issues/20

First of all, I just wanted to say thanks for developing this app and making it open source. It serves it's purpose well and looks great.

After using it for a while I've found a couple of issues with the dialog that appears when you deny or dismiss a permission prompt.

Issue 1 - Crash

Steps to Reproduce

  1. Navigate to the location permissions onboarding slide
  2. Tap outside the permissions prompt
  3. Tap "OK" on the dialog
  4. Notice the app crashes with the following stack trace:
2021-12-23 22:45:09.624 1439-1439/de.seemoo.at_tracking_detection.debug E/WindowManager: android.view.WindowLeaked: Activity de.seemoo.at_tracking_detection.ui.OnboardingActivity has leaked window DecorView@e09f6c8[OnboardingActivity] that was originally added here
        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:1107)
        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:1082)
        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:469)
        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:133)
        at android.app.Dialog.show(Dialog.java:506)
        at de.seemoo.at_tracking_detection.ui.OnboardingActivity.handleRequiredPermission(OnboardingActivity.kt:223)
        at de.seemoo.at_tracking_detection.ui.OnboardingActivity.onUserDisabledPermission(OnboardingActivity.kt:89)
        at com.github.appintro.AppIntroBase.handleDeniedPermission(AppIntroBase.kt:673)
        at com.github.appintro.AppIntroBase.onRequestPermissionsResult(AppIntroBase.kt:647)
        at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:8825)
        at android.app.Activity.dispatchActivityResult(Activity.java:8655)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:5841)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:5887)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:54)
        at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2425)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8582)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:563)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1133)

Issue 2 - Duplicate dialogs

Steps to Reproduce

  1. Fix issue 1 and follow the same steps
  2. Notice that two dialogs appear
Originally created by @CampbellMG on GitHub (Dec 23, 2021). Original GitHub issue: https://github.com/seemoo-lab/AirGuard/issues/20 First of all, I just wanted to say thanks for developing this app and making it open source. It serves it's purpose well and looks great. After using it for a while I've found a couple of issues with the dialog that appears when you deny or dismiss a permission prompt. # Issue 1 - Crash ## Steps to Reproduce 1. Navigate to the location permissions onboarding slide 2. Tap outside the permissions prompt 3. Tap "OK" on the dialog 4. Notice the app crashes with the following stack trace: ``` 2021-12-23 22:45:09.624 1439-1439/de.seemoo.at_tracking_detection.debug E/WindowManager: android.view.WindowLeaked: Activity de.seemoo.at_tracking_detection.ui.OnboardingActivity has leaked window DecorView@e09f6c8[OnboardingActivity] that was originally added here at android.view.ViewRootImpl.<init>(ViewRootImpl.java:1107) at android.view.ViewRootImpl.<init>(ViewRootImpl.java:1082) at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:469) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:133) at android.app.Dialog.show(Dialog.java:506) at de.seemoo.at_tracking_detection.ui.OnboardingActivity.handleRequiredPermission(OnboardingActivity.kt:223) at de.seemoo.at_tracking_detection.ui.OnboardingActivity.onUserDisabledPermission(OnboardingActivity.kt:89) at com.github.appintro.AppIntroBase.handleDeniedPermission(AppIntroBase.kt:673) at com.github.appintro.AppIntroBase.onRequestPermissionsResult(AppIntroBase.kt:647) at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:8825) at android.app.Activity.dispatchActivityResult(Activity.java:8655) at android.app.ActivityThread.deliverResults(ActivityThread.java:5841) at android.app.ActivityThread.handleSendResult(ActivityThread.java:5887) at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:54) at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2425) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8582) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:563) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1133) ``` # Issue 2 - Duplicate dialogs ## Steps to Reproduce 1. Fix issue 1 and follow the same steps 2. Notice that two dialogs appear
kerem 2026-02-26 21:31:12 +03:00
  • closed this issue
  • added the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/AirGuard#18
No description provided.