Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Runtime error Godot with Firebase-UI 4.3.0 #27058

Closed
noxtrip opened this issue Mar 14, 2019 · 1 comment
Closed

Runtime error Godot with Firebase-UI 4.3.0 #27058

noxtrip opened this issue Mar 14, 2019 · 1 comment
Labels

Comments

@noxtrip
Copy link

noxtrip commented Mar 14, 2019

Godot version:
3.0.6 Stable

Issue description:

Hi all, I am little desperate and looking for any advice right now. I am working on my Godot 3.0.6 based android mobile game. As I created some Android modules I am compiling Godot myself. So far I was able to handle all the issues and application worked fine on test mobile device. However when I tried to add module that is using Firebase-UI 4.3.0 application is failing when I try to use functions connected to this library.
In application I have custom android three modules:

  1. GPS handling - simple Java
  2. Firebase DB - working with firebase database/firestore
  3. FirebaseAuth - working with mentioned Firebase-UI 4.3.0

Both first two modules are working nicely without any problems. Firebase auth module is however not working correctly. I want to support Google, Facebook and simple Email sign options. Google and Facebook login methods are working but simple email one is not. When I click on "Login with email" option in generated UI of Firebase-UI module app just dumps with following errors.

java.lang.RuntimeException: Unable to start activity ComponentInfo{org.godotengine.bacterio/com.firebase.ui.auth.ui.email.EmailActivity}: android.view.InflateException: Binary XML file line #34: Binary XML file line #34: Error inflating class android.support.design.widget.TextInputLayout
Caused by: android.view.InflateException: Binary XML file line #34: Binary XML file line #34: Error inflating class android.support.design.widget.TextInputLayout
Caused by: android.view.InflateException: Binary XML file line #34: Error inflating class android.support.design.widget.TextInputLayout
Caused by: android.content.res.Resources$NotFoundException: Drawable org.godotengine.godot:drawable/design_password_eye with resource ID #0x7f07008f
Caused by: android.content.res.Resources$NotFoundException: File res/drawable-v21/design_password_eye.xml from drawable resource ID #0x7f07008f

I am not able to understand what is causing this. Small test app that I have created in Androd Studio (simple activity - no godot parts) is working correctly with all three login options. All dependencies in gradle.build file are same and also is the coding.

I have searched whole google already. I have tried different versions of com.android.support.* libreries like 27.1.1, I have tried different complie SDK versions, I have tried different Gradle versions etc.
Following are the gradle build file and manifest file of application
build.gradle.txt

AndroidManifest.xml.txt

I though the resources were not added to apk correctly when multiDex was used togather with Godot but after checking generated APK resources.arsc file and folder i can see ones mentioned in error. So I am not sure if resources are real problem here or not

x

My only tought is that it could be connected how Godot handles resources or well I dont know. Is here anyone that used Firebase-UI successfully with Godot. Or any tips would be deeply appricieted as in Godot and mobile development I am newbee.

Thank you guys in advance.

@noxtrip
Copy link
Author

noxtrip commented Mar 16, 2019

For anyone having this issue I was able to solve it. You can find how here adn what was the root cause full issue topic .

Quick info how I did it:
In my java module I have created res/layout folder. I have created copies of 4 layouts that FirebaseUI 4.3.1 uses when working with email signin (this is version dependent so they can differ for you). In my case these were:

fui_forgot_password_layout.xml, fui_check_email_layout.xml, fui_register_email_layout.xml, fui_register_email_layout.xml

In each of these files wherever there was <android.support.design.widget.TextInputLayout> used I have added this property app:passwordToggleDrawable="@null" and for password fields I have also removed app:passwordToggleEnabled="true". This is example of TextInputLayout after changes:

                android:id="@+id/password_layout"
                style="@style/FirebaseUI.TextInputLayout.PasswordField"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/fui_field_padding_vert"
                app:layout_constraintTop_toBottomOf="@+id/welcome_back_password_body"
				app:passwordToggleDrawable="@null">

                <android.support.design.widget.TextInputEditText
                    android:id="@+id/password"
                    style="@style/FirebaseUI.TextInputEditText.PasswordField" />

            </android.support.design.widget.TextInputLayout>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants