{"action":"created","issue":{"url":"https://api.github.com/repos/firebase/FirebaseUI-Android/issues/1057","repository_url":"https://api.github.com/repos/firebase/FirebaseUI-Android","labels_url":"https://api.github.com/repos/firebase/FirebaseUI-Android/issues/1057/labels{/name}","comments_url":"https://api.github.com/repos/firebase/FirebaseUI-Android/issues/1057/comments","events_url":"https://api.github.com/repos/firebase/FirebaseUI-Android/issues/1057/events","html_url":"https://github.com/firebase/FirebaseUI-Android/issues/1057","id":282452914,"number":1057,"title":"Crash if no internet available, Twitter","user":{"login":"thomsan","id":7109993,"avatar_url":"https://avatars2.githubusercontent.com/u/7109993?v=4","gravatar_id":"","url":"https://api.github.com/users/thomsan","html_url":"https://github.com/thomsan","followers_url":"https://api.github.com/users/thomsan/followers","following_url":"https://api.github.com/users/thomsan/following{/other_user}","gists_url":"https://api.github.com/users/thomsan/gists{/gist_id}","starred_url":"https://api.github.com/users/thomsan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thomsan/subscriptions","organizations_url":"https://api.github.com/users/thomsan/orgs","repos_url":"https://api.github.com/users/thomsan/repos","events_url":"https://api.github.com/users/thomsan/events{/privacy}","received_events_url":"https://api.github.com/users/thomsan/received_events","type":"User","site_admin":false},"labels":[{"id":417993157,"url":"https://api.github.com/repos/firebase/FirebaseUI-Android/labels/auth","name":"auth","color":"d4c5f9","default":false},{"id":234429615,"url":"https://api.github.com/repos/firebase/FirebaseUI-Android/labels/bug","name":"bug","color":"ee0701","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-12-15T14:57:54Z","updated_at":"2018-02-24T02:38:33Z","closed_at":null,"author_association":"NONE","body":"### 1: Are you in the right place?\r\nyes\r\n\r\n### Step 2: Describe your environment\r\n\r\n  * Android device: Samsung Galaxy S6\r\n  * Android OS version: 7.0\r\n  * Google Play Services version: 11.9.51\r\n  * Firebase/Play Services SDK version: 11.4.2\r\n  * FirebaseUI version: 3.1.0\r\n  \r\n### Step 3: Describe the problem:\r\nIf I'm signed out and don't have internet connection the app crashes on startup.\r\nThe logs say something related to Twitter can't be found, even though I don't use Twitter authentication.\r\nI only use Google and Email authentication.\r\n\r\n#### Steps to reproduce:\r\n\r\n  1. Sign out, if previously signed in\r\n  2. Turn on Airplane mode\r\n  3. Start app\r\n  \r\n#### Observed Results:\r\nImmediate app crash with following output:\r\n\r\n```\r\n12-15 16:38:18.483 3689-3689/example.com I/art: Rejecting re-init on previously-failed class java.lang.Class<com.firebase.ui.auth.provider.TwitterProvider>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/twitter/sdk/android/core/Callback;\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void com.firebase.ui.auth.AuthUI$IdpConfig$Builder.<init>(java.lang.String) (AuthUI.java:382)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void example.com.MainActivity$3.onAuthStateChanged(com.google.firebase.auth.FirebaseAuth) (MainActivity.java:189)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void com.google.firebase.auth.zzi.run() ((null):-1)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:751)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void android.os.Looper.loop() (Looper.java:154)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)\r\n12-15 16:38:18.483 3689-3689/example.com I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class \"com.twitter.sdk.android.core.Callback\" on path: DexPathList[[zip file \"/data/app/example.com-1/base.apk\", zip file \"/data/app/example.com-1/split_lib_dependencies_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_0_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_1_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_2_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_3_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_4_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_5_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_6_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_7_apk.apk\", zip file \"/data/app/example.com-1/split_lib_slice_8_apk.apk\", zip file\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void com.firebase.ui.auth.AuthUI$IdpConfig$Builder.<init>(java.lang.String) (AuthUI.java:382)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void example.com.MainActivity$3.onAuthStateChanged(com.google.firebase.auth.FirebaseAuth) (MainActivity.java:189)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void com.google.firebase.auth.zzi.run() ((null):-1)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:751)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void android.os.Looper.loop() (Looper.java:154)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)\r\n12-15 16:38:18.483 3689-3689/example.com I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)\r\n```\r\n  \r\n#### Expected Results:\r\n\r\n  * What did you expect to happen?\r\n  \r\n#### Relevant Code:\r\n\r\n  ```java\r\n    private FirebaseAuth.AuthStateListener createAuthStateListener(){\r\n        return new FirebaseAuth.AuthStateListener() {\r\n            @Override\r\n            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {\r\n                FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();\r\n                FirebaseUtils.setFirebaseUser(firebaseUser);\r\n                if(firebaseUser != null){\r\n                    // user is signed in\r\n                    onSignedInInitialize();\r\n                } else {\r\n                    // user is signed out\r\n                    onSignedOutCleanup();\r\n                    // Choose authentication providers\r\n189>>>            List<AuthUI.IdpConfig> providers = Arrays.asList(\r\n                            new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),\r\n                            new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build());\r\n                    \r\n                    // Create and launch sign-in intent\r\n                    startActivityForResult(\r\n                            AuthUI.getInstance()\r\n                                    .createSignInIntentBuilder()\r\n                                    .setIsSmartLockEnabled(true)\r\n                                    .setAvailableProviders(providers)\r\n                                    .build(),\r\n                            RC_SIGN_IN);\r\n                }\r\n            }\r\n        };\r\n    }\r\n  ```\r\n"},"comment":{"url":"https://api.github.com/repos/firebase/FirebaseUI-Android/issues/comments/368192242","html_url":"https://github.com/firebase/FirebaseUI-Android/issues/1057#issuecomment-368192242","issue_url":"https://api.github.com/repos/firebase/FirebaseUI-Android/issues/1057","id":368192242,"user":{"login":"SUPERCILEX","id":9490724,"avatar_url":"https://avatars2.githubusercontent.com/u/9490724?v=4","gravatar_id":"","url":"https://api.github.com/users/SUPERCILEX","html_url":"https://github.com/SUPERCILEX","followers_url":"https://api.github.com/users/SUPERCILEX/followers","following_url":"https://api.github.com/users/SUPERCILEX/following{/other_user}","gists_url":"https://api.github.com/users/SUPERCILEX/gists{/gist_id}","starred_url":"https://api.github.com/users/SUPERCILEX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SUPERCILEX/subscriptions","organizations_url":"https://api.github.com/users/SUPERCILEX/orgs","repos_url":"https://api.github.com/users/SUPERCILEX/repos","events_url":"https://api.github.com/users/SUPERCILEX/events{/privacy}","received_events_url":"https://api.github.com/users/SUPERCILEX/received_events","type":"User","site_admin":false},"created_at":"2018-02-24T02:38:33Z","updated_at":"2018-02-24T02:38:33Z","author_association":"COLLABORATOR","body":"@samtstern I think this issue can probably closed since neither of us can repro and we haven't received more details. @eliotstock if you have extra info (stack trace and code sample), please share! 😄 "}}
{"actor":{"display_login":"SUPERCILEX"}}