Skip to content

NPE in SaveSmartLock #819

@RedCider

Description

@RedCider
  • Android device: Emulator
  • Android OS version: Android 7.1.1 (Google APIs)
  • Google Play Services version: 11.0.2
  • Firebase/Play Services SDK version: 11.0.2
  • FirebaseUI version: 2.1.0

Description:

NPE occurs when Smart Lock is used for re-login of user previously signed in via google. It works without Problems with Version 2.0.0 of Firebase UI

Steps to reproduce:

  1. Sign in with google
  2. Log out => Logout returns to Login Activity
  3. Pick account
  4. Progress Dialog appears and app crashes with NPE (Activity is null, so getSupportFragmentManager() cannot be called)

Observed Results:

Stack Trace:
07-23 12:37:33.345 6396-6396/com.sonebase.apps.whoop E/UncaughtException: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.FragmentManager com.firebase.ui.auth.ui.HelperActivityBase.getSupportFragmentManager()' on a null object reference at com.firebase.ui.auth.util.signincontainer.SaveSmartLock.getInstance(SaveSmartLock.java:63) at com.firebase.ui.auth.util.AuthHelper.getSaveSmartLockInstance(AuthHelper.java:40) at com.firebase.ui.auth.util.signincontainer.IdpSignInContainer.onCreate(IdpSignInContainer.java:88) at android.support.v4.app.Fragment.performCreate(Fragment.java:2324) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1376) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1739) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1808) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2579) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2366) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2321) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2228) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:699) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 07-23 12:37:33.566 6396-6396/com.sonebase.apps.whoop E/AndroidRuntime: FATAL EXCEPTION: main Process: com.sonebase.apps.whoop, PID: 6396 java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.FragmentManager com.firebase.ui.auth.ui.HelperActivityBase.getSupportFragmentManager()' on a null object reference at com.firebase.ui.auth.util.signincontainer.SaveSmartLock.getInstance(SaveSmartLock.java:63) at com.firebase.ui.auth.util.AuthHelper.getSaveSmartLockInstance(AuthHelper.java:40) at com.firebase.ui.auth.util.signincontainer.IdpSignInContainer.onCreate(IdpSignInContainer.java:88) at android.support.v4.app.Fragment.performCreate(Fragment.java:2324) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1376) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1739) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1808) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2579) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2366) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2321) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2228) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:699) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

Expected Results:

Get logged in without NPE

Relevant Code:

NPE in SaveSmartLock.getInstance(HelperActivityBase activity) => L. 63 activity.getSupportFragmentManager();

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions