MaikuB / flutter_appauth

A Flutter wrapper for AppAuth iOS and Android SDKs
269 stars 239 forks source link

[Android] Crash - Theme.AppCompat #372

Closed bantunes22 closed 1 year ago

bantunes22 commented 1 year ago

Setup:

Problem:

After success login on the OAuth service, the Android app crashes when redirecting from the OAuth page with the following error:


D/AndroidRuntime(20684): Shutting down VM
E/AndroidRuntime(20684): FATAL EXCEPTION: main
E/AndroidRuntime(20684): Process: <custom_scheme>, PID: 20684
E/AndroidRuntime(20684): java.lang.RuntimeException: Unable to start activity ComponentInfo{<custom_scheme>/net.openid.appauth.RedirectUriReceiverActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
E/AndroidRuntime(20684):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3813)
E/AndroidRuntime(20684):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3975)
E/AndroidRuntime(20684):    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
E/AndroidRuntime(20684):    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/AndroidRuntime(20684):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/AndroidRuntime(20684):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2377)
E/AndroidRuntime(20684):    at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(20684):    at android.os.Looper.loopOnce(Looper.java:233)
E/AndroidRuntime(20684):    at android.os.Looper.loop(Looper.java:344)
E/AndroidRuntime(20684):    at android.app.ActivityThread.main(ActivityThread.java:8204)
E/AndroidRuntime(20684):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(20684):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
E/AndroidRuntime(20684):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
E/AndroidRuntime(20684): Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
E/AndroidRuntime(20684):    at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:846)
E/AndroidRuntime(20684):    at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:809)
E/AndroidRuntime(20684):    at androidx.appcompat.app.AppCompatDelegateImpl.initWindowDecorActionBar(AppCompatDelegateImpl.java:550)
E/AndroidRuntime(20684):    at androidx.appcompat.app.AppCompatDelegateImpl.getSupportActionBar(AppCompatDelegateImpl.java:537)
E/AndroidRuntime(20684):    at androidx.appcompat.app.AppCompatDelegateImpl.invalidateOptionsMenu(AppCompatDelegateImpl.java:1220)
E/AndroidRuntime(20684):    at androidx.appcompat.app.AppCompatActivity.invalidateOptionsMenu(AppCompatActivity.java:314)
E/AndroidRuntime(20684):    at androidx.activity.ComponentActivity.invalidateMenu(ComponentActivity.java:553)
E/AndroidRuntime(20684):    at androidx.activity.-$$Lambda$6vUCJMIem6_TsIeNg4KPj4HWSJA.run(Unknown Source:2)
E/AndroidRuntime(20684):    at androidx.core.view.MenuHostHelper.addMenuProvider(MenuHostHelper.java:116)
E/AndroidRuntime(20684):    at androidx.activity.ComponentActivity.addMenuProvider(ComponentActivity.java:531)
E/AndroidRuntime(20684):    at androidx.fragment.app.FragmentActivity$HostCallbacks.addMenuProvider(FragmentActivity.java:736)
E/AndroidRuntime(20684):    at androidx.fragment.app.FragmentManager.attachController(FragmentManager.java:2784)
E/AndroidRuntime(20684):    at androidx.fragment.app.FragmentController.attachHost(FragmentController.java:117)
E/AndroidRuntime(20684):    at androidx.fragment.app.FragmentActivity.lambda$init$3$FragmentActivity(FragmentActivity.java:140)
E/AndroidRuntime(20684):    at androidx.fragment.app.-$$Lambda$FragmentActivity$euPNEtWNfVdMY89Jt5kWt_WEHqw.onContextAvailable(Unknown Source:2)
E/AndroidRuntime(20684):    at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.java:99)
E/AndroidRuntime(20684):    at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:352)
E/AndroidRuntime(20684):    at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:217)
E/AndroidRuntime(20684):    at net.openid.appauth.RedirectUriReceiverActivity.onCreate(RedirectUriReceiverActivity.java:49)
E/AndroidRuntime(20684):    at android.app.Activity.performCreate(Activity.java:8130)
E/AndroidRuntime(20684):    at android.app.Activity.performCreate(Activity.java:8110)
E/AndroidRuntime(20684):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1343)
E/AndroidRuntime(20684):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3782)
E/AndroidRuntime(20684):    ... 12 more

This part seems to be the relevant part:

ComponentInfo{<custom_scheme>/net.openid.appauth.RedirectUriReceiverActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

Any thoughts on this?

MaikuB commented 1 year ago

This has been reported in https://github.com/MaikuB/flutter_appauth/issues/362 so will close as a duplicate. You've likely run into a similar issue that would likely be an issue outside of this plugin