This is the source code for the Firebase FriendlyChat codelabs. To get started open the codelab instructions:
Please read and follow the steps in the CONTRIBUTING.md
See LICENSE
Firebase FriendlyChat codelab
License: Apache License 2.0
This is the source code for the Firebase FriendlyChat codelabs. To get started open the codelab instructions:
Please read and follow the steps in the CONTRIBUTING.md
See LICENSE
https://firebaseui.com/docs/android/com/firebase/ui/FirebaseRecyclerViewAdapter.html
public void populateViewHolder(ChatMessageViewHolder chatMessageViewHolder, ChatMessage chatMessage)
it appears in here too : https://codelabs.developers.google.com/codelabs/firebase-android/?authuser=0#8
@Override protected void populateViewHolder(final MessageViewHolder viewHolder, FriendlyMessage friendlyMessage, int position)
The way the content in the app can be searched in Google App is outdated.
I completed both tutorials for the FriendlyChat (Android/iOS swift), when you add pictures in your swift application, if you are using the same database the android app will crash trying to load the messages because in the swift app "imageUrl" is stored as "imageURL" and "photoUrl" is "photoURL" so the app crashes at
if (imageUrl.startsWith("gs://")) {
(line 229 I believe)
because imageUrl is actually stored as imageURL.
In more recent versions for the Google app, it is no longer "In Apps" it is under the "Personal" category.
From @MiloslavKrejza on April 26, 2017 17:57
hello i can't get token from a database
"Messaging: We are unable to register the default service worker. Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script. (messaging/failed-serviceworker-registration)."
What can i do to fix this?
Copied from original issue: firebase/codelab-friendlychat-web#208
Hello
After completing step 8 i could select a picture to send , but then i have a big spinner picture loading instead of the pic that i sent.
From @krzysiekbielicki on December 15, 2016 12:8
After initializing FirebaseAnalytics
Android Studio warns about missing permissions (ACCESS_NETWORK_STATE, WAKE_LOCK), there is no info about need of adding permissions in codelab.
Copied from original issue: firebase/codelab-friendlychat-web#130
Following the Codelab and such, and can't get past the very first steps, of running the test app to see nothing happening. The build won't finish, because I get the following errors:
Failed to resolve: play-services-basement
Failed to resolve: play-services-measurement-base
The steps I did before this included:
Unregistered VCS root detected The directory C:\Users\bcook\friendlychat-android is under Git, but is not registered in the Settings. Add root Configure Ignore
Add root
. Then, it re-ran the Gradle Build, and then failed.Stats: Browser: Google Chrome Browser version: 69.0.3497.100 (Official Build) (64-bit) Operating system: Windows 10 Operating system version: 1803
Line 36: implementation 'com.android.support:design:27.1.1' in the build.gradle file is giving an error when I try to sync the project with gradle files saying that I am trying to mix versions 27.1.1 and 26.1.0
From @leilaapsilva on April 22, 2017 21:37
Copied from original issue: firebase/codelab-friendlychat-web#203
As the title says, onMessageReceived() is just Logging, and not displaying any notification.
Even the "ready baked" sample project is doing the same, no notification.
Log.d(TAG, "FCM Message Id: " + remoteMessage.getMessageId()); Log.d(TAG, "FCM Notification Message: " + remoteMessage.getNotification()); Log.d(TAG, "FCM Data Message: " + remoteMessage.getData());
In "Send Messages" - https://codelabs.developers.google.com/codelabs/firebase-android/#7 - it says "The new message should be visible first with a placeholder image then once the image upload is complete the selected image"
However, I don't see a placeholder image
I checked out master branch 1 hr ago from now
From @sagar-shah94 on February 26, 2017 22:25
when i try to open slide out menu it works but when i try to scroll through it ,it unexpectedly closes
Copied from original issue: firebase/codelab-friendlychat-web#159
From @imsabin on June 14, 2016 3:49
getphotourl is getting nullpointerexception in android.
Copied from original issue: firebase/codelab-friendlychat-web#51
Repro steps:
Set minifyEnabled to true
Expected behavior:
App continues to work
Actual behavior:
App crashes on startup with error like:
com.google.firebase.database.d: No properties to serialize found on class com.google.firebase.codelab.friendlychat.a
com.google.firebase.codelab.friendlychat.a is the FriendlyMessage class.
Annotating that class w/ @keep locally works. Something like https://github.com/firebase/quickstart-android/blob/master/database/app/proguard-rules.pro may also work.
On the 10th step in the Firebase Android Codelab, the heading of the code snippet to update the MyFirebaseInstanceIdService
class says MyInstanceIDListenerService.java
instead of MyFirebaseInstanceIdService .java
The name of the file in the repo is MyFirebaseInstanceIdService .java
so seeing MyInstanceIDListenerService.java
in the heading throws you off just a bit.
From @oneezy on June 5, 2017 17:54
When trying to Welcome New Users in Step 8 of the cloud-functions-start code lab, I'm getting an error after I run the following in the terminal:
Command:
firebase deploy --only functions
Output:
=== Deploying to 'www-fire'...
i deploying functions
i functions: ensuring necessary APIs are enabled...
i runtimeconfig: ensuring necessary APIs are enabled...
✔ functions: all necessary APIs are enabled
✔ runtimeconfig: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
Error: An unexpected error has occurred.
Any idea what the problem could be?
Copied from original issue: firebase/codelab-friendlychat-web#222
From @krzysiekbielicki on December 15, 2016 11:46
There is no information that user will not be taken to app install page unless app is published (which is not part of codelab).
Copied from original issue: firebase/codelab-friendlychat-web#129
After completing Step 7 and updating the database in the Firebase console, the loading spinner is never hidden and the messages never load. The same happens with the completed sample app friendlychat-android/android/
.
as per 'friendlychat' code lab there should be a method getDownloadUrl()
within 'StorageMetaData` class, but i couldn't find such method.
Please see here https://codelabs.developers.google.com/codelabs/firebase-android/#7
From @neilor on May 25, 2017 3:51
When reading the Cloud Functions Codelab I've found an broken service that documentation means as Firebase Web Codelab. Can be found in The 0 Step at the first green box of tip.
https://codelabs.developers.google.com/codelabs/firebase-web
When try to access, I've received an 403 Forbidden error.
Can you help me with this?
Copied from original issue: firebase/codelab-friendlychat-web#216
After choosing the image to be uploaded, it just shows the spinner indefinitely. The errors mention that "Firebase Storage should be enabled", so once enabled, the image upload works.
This is the error stack trace:
E/StorageException: StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner exception for server response.
Code: -13000 HttpResult: 400
E/StorageException: The server has terminated the upload session
java.io.IOException: The server has terminated the upload session
at com.google.firebase.storage.UploadTask.zzs(Unknown Source:20)
at com.google.firebase.storage.UploadTask.zzr(Unknown Source:57)
at com.google.firebase.storage.UploadTask.run(Unknown Source:167)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source:0)
at com.google.firebase.storage.zzq.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.io.IOException: { "error": { "code": 400, "message": "Permission denied. Could not access bucket friendlychat-46567.appspot.com. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources." }}
at bha.a(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):147)
at bha.a(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):119)
at bgu.onTransact(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):7)
at android.os.Binder.transact(Binder.java:627)
at com.google.android.gms.internal.firebase_storage.zza.transactAndReadExceptionReturnVoid(Unknown Source:7)
at com.google.android.gms.internal.firebase_storage.zzm.zzf(Unknown Source:8)
at com.google.android.gms.internal.firebase_storage.zzq.zza(Unknown Source:41)
at com.google.android.gms.internal.firebase_storage.zzf.zza(Unknown Source:27)
at com.google.firebase.storage.UploadTask.zzc(Unknown Source:3)
at com.google.firebase.storage.UploadTask.run(Unknown Source:128)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source:0)
at com.google.firebase.storage.zzq.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner exception for server response.
Code: -13000 HttpResult: 400
E/StorageException: The server has terminated the upload session
java.io.IOException: The server has terminated the upload session
at com.google.firebase.storage.UploadTask.zzs(Unknown Source:20)
at com.google.firebase.storage.UploadTask.zzr(Unknown Source:57)
at com.google.firebase.storage.UploadTask.run(Unknown Source:167)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source:0)
at com.google.firebase.storage.zzq.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.io.IOException: { "error": { "code": 400, "message": "Permission denied. Could not access bucket friendlychat-46567.appspot.com. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources." }}
at bha.a(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):147)
at bha.a(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):119)
at bgu.onTransact(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):7)
at android.os.Binder.transact(Binder.java:627)
at com.google.android.gms.internal.firebase_storage.zza.transactAndReadExceptionReturnVoid(Unknown Source:7)
at com.google.android.gms.internal.firebase_storage.zzm.zzf(Unknown Source:8)
at com.google.android.gms.internal.firebase_storage.zzq.zza(Unknown Source:41)
at com.google.android.gms.internal.firebase_storage.zzf.zza(Unknown Source:27)
at com.google.firebase.storage.UploadTask.zzc(Unknown Source:3)
at com.google.firebase.storage.UploadTask.run(Unknown Source:128)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source:0)
at com.google.firebase.storage.zzq.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
E/StorageException: StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner exception for server response.
Code: -13000 HttpResult: 400
E/StorageException: The server has terminated the upload session
java.io.IOException: The server has terminated the upload session
at com.google.firebase.storage.UploadTask.zzs(Unknown Source:20)
at com.google.firebase.storage.UploadTask.zzr(Unknown Source:57)
at com.google.firebase.storage.UploadTask.run(Unknown Source:167)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source:0)
at com.google.firebase.storage.zzq.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.io.IOException: { "error": { "code": 400, "message": "Permission denied. Could not access bucket friendlychat-46567.appspot.com. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources." }}
at bha.a(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):147)
at bha.a(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):119)
at bgu.onTransact(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):7)
at android.os.Binder.transact(Binder.java:627)
at com.google.android.gms.internal.firebase_storage.zza.transactAndReadExceptionReturnVoid(Unknown Source:7)
at com.google.android.gms.internal.firebase_storage.zzm.zzf(Unknown Source:8)
at com.google.android.gms.internal.firebase_storage.zzq.zza(Unknown Source:41)
at com.google.android.gms.internal.firebase_storage.zzf.zza(Unknown Source:27)
at com.google.firebase.storage.UploadTask.zzc(Unknown Source:3)
at com.google.firebase.storage.UploadTask.run(Unknown Source:128)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source:0)
at com.google.firebase.storage.zzq.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
W/MainActivity: Image upload task was not successful.
com.google.firebase.storage.StorageException: An unknown error occurred, please check the HTTP result code and inner exception for server response.
at com.google.firebase.storage.UploadTask.zza(Unknown Source:13)
at com.google.firebase.storage.StorageTask.zzh(Unknown Source:3)
at com.google.firebase.storage.StorageTask.zzi(Unknown Source:19)
at com.google.firebase.storage.StorageTask.getException(Unknown Source:0)
at com.google.firebase.codelab.friendlychat.MainActivity$7.onComplete(MainActivity.java:380)
at com.google.firebase.storage.zzl.zza(Unknown Source:11)
at com.google.firebase.storage.zzaa.run(Unknown Source:10)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.io.IOException: The server has terminated the upload session
at com.google.firebase.storage.UploadTask.zzs(Unknown Source:20)
at com.google.firebase.storage.UploadTask.zzr(Unknown Source:57)
at com.google.firebase.storage.UploadTask.run(Unknown Source:167)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source:0)
at com.google.firebase.storage.zzq.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.io.IOException: { "error": { "code": 400, "message": "Permission denied. Could not access bucket friendlychat-46567.appspot.com. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources." }}
at bha.a(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):147)
at bha.a(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):119)
at bgu.onTransact(:com.google.android.gms.dynamite_dynamitemodulesc@[email protected] (040400-194189626):7)
at android.os.Binder.transact(Binder.java:627)
at com.google.android.gms.internal.firebase_storage.zza.transactAndReadExceptionReturnVoid(Unknown Source:7)
at com.google.android.gms.internal.firebase_storage.zzm.zzf(Unknown Source:8)
at com.google.android.gms.internal.firebase_storage.zzq.zza(Unknown Source:41)
at com.google.android.gms.internal.firebase_storage.zzf.zza(Unknown Source:27)
at com.google.firebase.storage.UploadTask.zzc(Unknown Source:3)
at com.google.firebase.storage.UploadTask.run(Unknown Source:128)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source:0)
at com.google.firebase.storage.zzq.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
From @haivp3010 on September 11, 2016 3:3
When signing out, it is still possible to press back to go back to the message screen. Is this the correct way the app works? Or should we put a finish() when pressing the sign out option menu?
Copied from original issue: firebase/codelab-friendlychat-web#85
From @imsabin on June 15, 2016 3:22
implemented this sample code, it works in test device, however google sign in stucks in real device downloaded from playstore. is there any changes to be made for final app. implemented as per tutorial given though.
Copied from original issue: firebase/codelab-friendlychat-web#52
From @krzysiekbielicki on December 15, 2016 11:23
Modify your MainActivity's onCreate method, replace mProgressBar.setVisibility(ProgressBar.INVISIBLE); with the code defined below. This code initially adds all existing messages then listens for new child entries under the messages path in your Firebase Realtime Database. It adds a new element to the UI for each message:
code ends with:
mMessageRecyclerView.setLayoutManager(mLinearLayoutManager); mMessageRecyclerView.setAdapter(mFirebaseAdapter);
LayoutManager was already set in line 146
Copied from original issue: firebase/codelab-friendlychat-web#127
From @ghost on August 23, 2016 8:2
I can't seem to open the project. Why is that?
I am using Android studio 2.1.3 with gradle version of 2.1.3
Copied from original issue: firebase/codelab-friendlychat-web#78
As of FirebaseUI 3.0, the FirebaseRecyclerAdapter
requires calls to startListening()
to begin listening for data. Similarly, the stopListening()
call removes the event listener and all data in the adapter. These calls are missing from the examples and the code lab, and thus step 7 doesn't automatically begin loading data.
See the FirebaseRecyclerAdapter lifecycle documentation and the FirebaseUI 3.0 upgrade guide and this question on StackOverflow for further details.
From @IgorGanapolsky on December 28, 2016 21:28
Your codelab says:
Note: It helps to add an IntentService that establishes a base index of all messages for you initially. See details in the App Indexing documentation.
However, AppIndexingService just has an ambiguous method: getAllRecipes()
. It is not clear what to do with this method, or what your codelab meant for the users to put into IntentService above.
Also, what does
base index of all messages
actually mean? Does Firebase work faster with indexes, just like Oracle and SqlServer do?
Can you please explain?
Copied from original issue: firebase/codelab-friendlychat-web#136
AGPBI: {"kind":"error","text":"Program type already present: com.google.android.gms.internal.measurement.zzwo","sources":[{}],"tool":"D8"}
:app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED
FAILURE: Build failed with an exception.
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/0.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/1.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/2.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/3.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/5.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/6.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/7.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/8.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/9.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/10.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/11.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/12.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/13.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/14.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/15.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/16.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/17.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/18.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/19.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/20.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/21.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/22.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/23.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/24.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/25.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/26.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/27.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/28.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/29.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/30.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/31.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/32.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/33.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/34.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/35.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/36.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/37.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/38.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/39.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/40.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/41.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/42.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/43.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/44.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/45.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/46.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/47.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/49.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/50.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/51.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/52.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/53.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/54.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/55.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/56.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/57.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/58.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/59.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/60.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/61.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/62.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/63.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/64.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/65.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/66.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/67.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/68.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/69.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/70.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/71.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/74.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/75.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/76.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/77.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/78.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/79.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/80.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/81.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/82.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/83.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/84.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/85.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/86.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/87.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/88.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/89.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/90.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/91.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/92.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/93.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/94.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/95.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/96.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/97.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/98.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/99.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/100.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/101.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/102.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/103.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/104.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/105.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/106.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/107.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/108.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/109.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/110.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/111.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/112.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/113.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/114.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/115.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/116.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/117.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/118.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/119.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/120.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/121.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/122.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/123.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/124.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/125.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/126.jar, /home/yaraki/src/friendlychat-android/android/app/build/intermediates/transforms/dexBuilder/debug/127.jar
Program type already present: com.google.android.gms.internal.measurement.zzwo
I received those fail messages during sync.
When you face this issue. You meed to change the repository order of repositories in Project level build:gradle
`buildscript {
repositories {
google()
jcenter()
mavenLocal()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.google.gms:google-services:4.0.1'
classpath 'io.fabric.tools:gradle:1.24.4'
}
}
allprojects {
repositories {
google()
jcenter()
mavenLocal()
}
}`
Reference: https://stackoverflow.com/a/50563942/8050752
https://codelabs.developers.google.com/codelabs/firebase-android/#8
AS-IS
...
@OverRide
protected void populateViewHolder(final MessageViewHolder viewHolder, FriendlyMessage friendlyMessage, int position) {
...
// write this message to the on-device index
FirebaseAppIndex.getInstance().update(getMessageIndexable(friendlyMessage));
// log a view action on it
FirebaseUserActions.getInstance().end(getMessageViewAction(friendlyMessage));
}
TO-BE
...
@OverRide
protected void populateViewHolder(final MessageViewHolder viewHolder, FriendlyMessage friendlyMessage, int position) {
...
if (friendlyMessage.getText() != null) {
// write this message to the on-device index
FirebaseAppIndex.getInstance().update(getMessageIndexable(friendlyMessage));
}
// log a view action on it
FirebaseUserActions.getInstance().end(getMessageViewAction(friendlyMessage));
}
com.google.firebase:firebase-analytics dependency was change to com.google.firebase:firebase-core.
The code is not updated with this change.
If firebase's database is blank, progress bar doesn't gone.
after cloning the project says that it does not use a grande system then suggest i migrate this project but I'm not sure can someone help
From @krzysiekbielicki on December 15, 2016 11:25
After filling Services with logic...
Add service declarations for the MyFirebaseListenerService and the MyInstanceIdListenerService. Add these declarations as children of the application element.
MyInstanceIdListenerService
should be replaced with MyFirebaseInstanceIdService
Copied from original issue: firebase/codelab-friendlychat-web#128
Hi,
I've just come back to get over the tutorial again and I found that the way that create FirebaseRecyclerAdapter
has been changed in firebase-ui-database:3.0.0
.
another thing is AppInvite
is deprecated and when I tried to follow the tutorial I don't understand that why do we need to add AppInvite.API
to GoogleApiClient.Builder
because I didn't see that we use GoogleApiClient
to invite friends (Do I miss understand?).
That all what I recognize. please apologize me if I miss understand.
-Thank
Issues with pasted code for classes without an import, SnapshotParser, LayoutInflater, etc, requires the user to find the un-imported classes.
If a user does not have Auto Import enabled for All (default is Ask), manually have to click each class and add the import.
Is there a need to make a reference to this in the instructions or have a step for the user to paste all the necessary imports?
getDownloadUrl() Method Show the error
From @sohitvermamca on June 16, 2017 6:40
Google sign-in failed in SignInActivity.java onActivityResult method when the GoogleSignInResult getting back it is not successful. Please solve this issue.
Copied from original issue: firebase/codelab-friendlychat-web#226
From @el-samiyel on August 11, 2016 23:14
Hi,
Regarding "https://codelabs.developers.google.com/codelabs/firebase-android/#5"
When I reach stage 6 - "Then add a new case to onOptionsItemSelected() to handle the sign out button:"
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.sign_out_menu: mFirebaseAuth.signOut(); Auth.GoogleSignInApi.signOut(mGoogleApiClient); mUsername = ANONYMOUS; startActivity(new Intent(this, SignInActivity.class)); return true; default: return super.onOptionsItemSelected(item); } }
line:
mFirebaseAuth.signOut();
shows error "Unreachable statment".
Why is this?
Many Thanks
Copied from original issue: firebase/codelab-friendlychat-web#69
My google search app not found information in my apps tap,
I am using compile 'com.google.firebase:firebase-appindexing:10.2.1' like the example
and too, I am trying to update with this link https://firebase.google.com/docs/app-indexing/android/migrate that using compile 'com.google.firebase:firebase-appindexing:10.2.6'
but I not found the next function in the codelab example https://codelabs.developers.google.com/codelabs/firebase-android/#8
//Before
public Action getAction() {
Thing object = new Thing.Builder()
.setName(mText)
.setUrl(mUrl)
.build();
return new Action.Builder(Action.TYPE_VIEW)
.setObject(object)
.build();
}
// After
public Action getAction() {
return Actions.newView(mText, mUrl);
}
best regards
Getting errors while building : Failed to resolve firebase-analytics, firebase-database collection
it just get stucked at "provisioning resources"
From @dylanver2 on August 30, 2016 8:54
My app is working with the emulator but not in real device. I installed the signed APK and at the login screen i am stucked with the sign in button. Select an account and nothing happens.
I tried to connect my device via USB tested and it worked. App is currently working on my phone just because I connected it to USB and run it for debugging. Does this mean there's something wrong with my APK?
Copied from original issue: firebase/codelab-friendlychat-web#82
From @salimshivani on March 2, 2017 12:47
There is an issue in android-starter in sending an image. When the image is sent, either the app crashes or the app image is not sent. Just the user image along with the name is displayed.
Also, when the text message is sent, the user image is not displayed.
Copied from original issue: firebase/codelab-friendlychat-web#164
The FirebaseInstanceIdService
class has been deprecated in version 17.1.0. Consequently, the MyFirebaseInstanceIdService
class in step 10 is no longer necessary and should be removed.
The code in onTokenRefresh()
should be moved to onNewToken()
from the MyFirebaseMessagingService
class.
There is some miss firebase.ui modules and android modules not imported in the program
Like the View of android
Snapshot in the firebase.ui
can fix by myself
section 9:
@Override
protected void onBindViewHolder(final MessageViewHolder viewHolder, FriendlyMessage friendlyMessage, int position) {
...
if (friendlyMessage.getText() != null) {
// write this message to the on-device index
FirebaseAppIndex.getInstance()
.update(getMessageIndexable(friendlyMessage));
} >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> needs to be removed.
// log a view action on it
FirebaseUserActions.getInstance().end(getMessageViewAction(friendlyMessage));
}
From @siowze on March 26, 2017 5:43
I face the problem that salimshivani had pointed out.
In putImageInStorage() , task.getResult().getMetadata() show an error "This method should only be accessed from tests or within private scope."
Copied from original issue: firebase/codelab-friendlychat-web#186
why my message list cant displayed, even i was copied all of code from this repo to my project?
*sorry for my bad english
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.