Closed
Description
Step 2: Describe your environment
- Android device: Google Pixel 4 emulator
- Android OS version: Api 31
- Google Play Services version: 4.3.10
- Firebase/Play Services SDK version: Firebase BOM 28.3.1
- FirebaseUI version: 8.0.0
Step 3: Describe the problem:
Steps to reproduce:
Clicking on button to open Auth activity crashes app
Observed Results:
- 2021-09-01 19:52:52.192 8005-8005/hr.pavetic.simplify.debug E/AndroidRuntime: FATAL EXCEPTION: main
Process: hr.pavetic.simplify.debug, PID: 8005
java.lang.IllegalArgumentException: hr.pavetic.simplify.debug: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:458)
at android.app.PendingIntent.getActivity(PendingIntent.java:444)
at android.app.PendingIntent.getActivity(PendingIntent.java:408)
at com.google.android.gms.internal.auth-api.zzr.zzc(com.google.android.gms:play-services-auth@@19.0.0:19)
at com.google.android.gms.auth.api.credentials.CredentialsClient.getHintPickerIntent(com.google.android.gms:play-services-auth@@19.0.0:10)
at com.firebase.ui.auth.ui.phone.CheckPhoneHandler.fetchCredential(CheckPhoneHandler.java:28)
at com.firebase.ui.auth.ui.phone.CheckPhoneNumberFragment.setDefaultCountryForSpinner(CheckPhoneNumberFragment.java:238)
at com.firebase.ui.auth.ui.phone.CheckPhoneNumberFragment.onActivityCreated(CheckPhoneNumberFragment.java:127)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2994)
at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:559)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:262)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1797)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1715)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1658)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2780)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2715)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:262)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:478)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1455)
at android.app.Activity.performStart(Activity.java:8076)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3653)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2203)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7822)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Expected Results:
- Opening activity
Relevant Code:
I was opening activity with ActivityResultLauncher, but after this error tried different approach with PendingIntent but still crashes.
`final Intent phoneAuthIntent =
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.setLogo(R.drawable.simplify_logo)
.setTheme(R.style.FirebaseAuthTheme)
.setTosAndPrivacyPolicyUrls(
getResources().getString(R.string.terms_and_conditions_url),
getResources().getString(R.string.privacy_url))
.setIsSmartLockEnabled(!BuildConfig.DEBUG /* credentials /, true / hints */)
.build();
PendingIntent pendingIntent = PendingIntent.getActivity(requireActivity().getApplicationContext(),
123, phoneAuthIntent,
/* flags */ PendingIntent.FLAG_IMMUTABLE);
//binding.authenticationAcceptButton.setOnClickListener(button -> signInLauncher.launch(phoneAuthIntent));
binding.authenticationAcceptButton.setOnClickListener(button -> {
try {
pendingIntent.send(123);
} catch (PendingIntent.CanceledException e) {
e.printStackTrace();
}
});`
Metadata
Metadata
Assignees
Labels
No labels