From 6ccf81f3de0a29804335b93b4c3229706e343e9f Mon Sep 17 00:00:00 2001 From: Apoorv Lodhi Date: Thu, 1 Oct 2020 16:01:02 +0530 Subject: [PATCH 1/3] =?UTF-8?q?Resolved=20Error:The=20operator=20'[]'=20is?= =?UTF-8?q?n't=20defined=E2=80=9D=20error=20when=20using=20.data[]=20in=20?= =?UTF-8?q?flutter=20firestore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .flutter-plugins-dependencies | 1 + ios/Flutter/flutter_export_environment.sh | 15 +++++++++++++++ lib/all_users_screen.dart | 21 +++++++++++---------- 3 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 .flutter-plugins-dependencies create mode 100644 ios/Flutter/flutter_export_environment.sh diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies new file mode 100644 index 0000000..be53888 --- /dev/null +++ b/.flutter-plugins-dependencies @@ -0,0 +1 @@ +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.14.0+2\\\\","dependencies":["firebase_core"]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.18.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.5.0\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-4.0.1\\\\","dependencies":["firebase_core"]},{"name":"google_sign_in","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in-4.5.4\\\\","dependencies":[]},{"name":"image_picker","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_picker-0.6.7+11\\\\","dependencies":[]}],"android":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.14.0+2\\\\","dependencies":["firebase_core"]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.18.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.5.0\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-4.0.1\\\\","dependencies":["firebase_core"]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"google_sign_in","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in-4.5.4\\\\","dependencies":[]},{"name":"image_picker","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_picker-0.6.7+11\\\\","dependencies":["flutter_plugin_android_lifecycle"]}],"macos":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.14.0+2\\\\","dependencies":["firebase_core"]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.18.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.5.0\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-4.0.1\\\\","dependencies":["firebase_core"]}],"linux":[],"windows":[],"web":[{"name":"cloud_firestore_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore_web-0.2.0+1\\\\","dependencies":[]},{"name":"firebase_auth_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth_web-0.3.1\\\\","dependencies":[]},{"name":"firebase_core_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core_web-0.2.0\\\\","dependencies":[]},{"name":"google_sign_in_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in_web-0.9.2\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"cloud_firestore","dependencies":["firebase_core","cloud_firestore_web"]},{"name":"cloud_firestore_web","dependencies":["firebase_core"]},{"name":"firebase_auth","dependencies":["firebase_core","firebase_auth_web"]},{"name":"firebase_auth_web","dependencies":["firebase_core"]},{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"firebase_storage","dependencies":["firebase_core"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"google_sign_in","dependencies":["google_sign_in_web"]},{"name":"google_sign_in_web","dependencies":[]},{"name":"image_picker","dependencies":["flutter_plugin_android_lifecycle"]}],"date_created":"2020-10-01 15:44:29.528042","version":"1.20.3"} \ No newline at end of file diff --git a/ios/Flutter/flutter_export_environment.sh b/ios/Flutter/flutter_export_environment.sh new file mode 100644 index 0000000..10cf3e4 --- /dev/null +++ b/ios/Flutter/flutter_export_environment.sh @@ -0,0 +1,15 @@ +#!/bin/sh +# This is a generated file; do not edit or check into version control. +export "FLUTTER_ROOT=C:\src\flutter\flutter" +export "FLUTTER_APPLICATION_PATH=C:\Users\apoor\Flutter-Clones\chat-app-flutter" +export "FLUTTER_TARGET=lib\main.dart" +export "FLUTTER_BUILD_DIR=build" +export "SYMROOT=${SOURCE_ROOT}/../build\ios" +export "OTHER_LDFLAGS=$(inherited) -framework Flutter" +export "FLUTTER_FRAMEWORK_DIR=C:\src\flutter\flutter\bin\cache\artifacts\engine\ios" +export "FLUTTER_BUILD_NAME=1.0.0" +export "FLUTTER_BUILD_NUMBER=1" +export "DART_OBFUSCATION=false" +export "TRACK_WIDGET_CREATION=false" +export "TREE_SHAKE_ICONS=false" +export "PACKAGE_CONFIG=.packages" diff --git a/lib/all_users_screen.dart b/lib/all_users_screen.dart index 165580b..cb8d2aa 100644 --- a/lib/all_users_screen.dart +++ b/lib/all_users_screen.dart @@ -1,14 +1,14 @@ import 'dart:async'; -import 'dart:io'; - import 'package:chat_app/chat_screen.dart'; -import 'package:chat_app/home_page.dart'; import 'package:chat_app/main.dart'; -import 'package:chat_app/models/user_details.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:google_sign_in/google_sign_in.dart'; +//Unused Imports +// import 'dart:io'; +// import 'package:chat_app/home_page.dart'; +// import 'package:chat_app/models/user_details.dart'; class AllUsersScreen extends StatefulWidget { _AllUsersScreenState createState() => _AllUsersScreenState(); @@ -67,14 +67,14 @@ class _AllUsersScreenState extends State { return ListTile( leading: CircleAvatar( backgroundImage: - NetworkImage(usersList[index].data['photoUrl']), + NetworkImage(usersList[index].data()['photoUrl']), ), - title: Text(usersList[index].data['name'], + title: Text(usersList[index].data()['name'], style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold, )), - subtitle: Text(usersList[index].data['emailId'], + subtitle: Text(usersList[index].data()['emailId'], style: TextStyle( color: Colors.grey, )), @@ -83,10 +83,11 @@ class _AllUsersScreenState extends State { context, new MaterialPageRoute( builder: (context) => ChatScreen( - name: usersList[index].data['name'], - photoUrl: usersList[index].data['photoUrl'], + name: usersList[index].data()['name'], + photoUrl: + usersList[index].data()['photoUrl'], receiverUid: - usersList[index].data['uid']))); + usersList[index].data()['uid']))); }), ); }), From 444537bf9093ebc0f12df81b1645f351a8919ccd Mon Sep 17 00:00:00 2001 From: Apoorv Lodhi Date: Thu, 1 Oct 2020 16:18:04 +0530 Subject: [PATCH 2/3] Resolved error: A value of type 'UserCredential' can't be assigned to a variable of type 'FirebaseUser' --- lib/home_page.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/home_page.dart b/lib/home_page.dart index e08eb18..eaa20f5 100644 --- a/lib/home_page.dart +++ b/lib/home_page.dart @@ -28,7 +28,7 @@ class _HomePageState extends State { accessToken: _signInAuthentication.accessToken); FirebaseUser user = - await _firebaseAuth.signInWithCredential(authCredential); + (await _firebaseAuth.signInWithCredential(authCredential)).user; return user; } From 91d3d28f86272cb922900737f5e4ad886dd1ca79 Mon Sep 17 00:00:00 2001 From: Apoorv Lodhi Date: Fri, 2 Oct 2020 10:43:32 +0530 Subject: [PATCH 3/3] Resolved Error: The operator '[]' isn't defined for the type 'DocumentSnapshot' --- .flutter-plugins-dependencies | 2 +- android/app/build.gradle | 2 +- android/app/google-services.json | 33 +++++------------- android/build.gradle | 3 +- android/gradle.properties | 1 + lib/all_users_screen.dart | 14 ++++---- lib/chat_screen.dart | 12 ++++--- lib/full_screen_image.dart | 60 ++++++++++++++++---------------- lib/home_page.dart | 3 +- lib/main.dart | 15 ++++++-- pubspec.yaml | 32 ++++++++++++++--- 11 files changed, 101 insertions(+), 76 deletions(-) diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index be53888..6adf46e 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.14.0+2\\\\","dependencies":["firebase_core"]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.18.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.5.0\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-4.0.1\\\\","dependencies":["firebase_core"]},{"name":"google_sign_in","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in-4.5.4\\\\","dependencies":[]},{"name":"image_picker","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_picker-0.6.7+11\\\\","dependencies":[]}],"android":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.14.0+2\\\\","dependencies":["firebase_core"]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.18.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.5.0\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-4.0.1\\\\","dependencies":["firebase_core"]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"google_sign_in","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in-4.5.4\\\\","dependencies":[]},{"name":"image_picker","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_picker-0.6.7+11\\\\","dependencies":["flutter_plugin_android_lifecycle"]}],"macos":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.14.0+2\\\\","dependencies":["firebase_core"]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.18.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.5.0\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-4.0.1\\\\","dependencies":["firebase_core"]}],"linux":[],"windows":[],"web":[{"name":"cloud_firestore_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore_web-0.2.0+1\\\\","dependencies":[]},{"name":"firebase_auth_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth_web-0.3.1\\\\","dependencies":[]},{"name":"firebase_core_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core_web-0.2.0\\\\","dependencies":[]},{"name":"google_sign_in_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in_web-0.9.2\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"cloud_firestore","dependencies":["firebase_core","cloud_firestore_web"]},{"name":"cloud_firestore_web","dependencies":["firebase_core"]},{"name":"firebase_auth","dependencies":["firebase_core","firebase_auth_web"]},{"name":"firebase_auth_web","dependencies":["firebase_core"]},{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"firebase_storage","dependencies":["firebase_core"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"google_sign_in","dependencies":["google_sign_in_web"]},{"name":"google_sign_in_web","dependencies":[]},{"name":"image_picker","dependencies":["flutter_plugin_android_lifecycle"]}],"date_created":"2020-10-01 15:44:29.528042","version":"1.20.3"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.13.7\\\\","dependencies":["firebase_core"]},{"name":"firebase_analytics","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_analytics-5.0.16\\\\","dependencies":[]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.16.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.4.5\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-3.1.6\\\\","dependencies":["firebase_core"]},{"name":"google_sign_in","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in-4.5.4\\\\","dependencies":[]},{"name":"image_picker","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_picker-0.6.7+11\\\\","dependencies":[]}],"android":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.13.7\\\\","dependencies":["firebase_core"]},{"name":"firebase_analytics","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_analytics-5.0.16\\\\","dependencies":[]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.16.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.4.5\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-3.1.6\\\\","dependencies":["firebase_core"]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\flutter_plugin_android_lifecycle-1.0.11\\\\","dependencies":[]},{"name":"google_sign_in","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in-4.5.4\\\\","dependencies":[]},{"name":"image_picker","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\image_picker-0.6.7+11\\\\","dependencies":["flutter_plugin_android_lifecycle"]}],"macos":[{"name":"cloud_firestore","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore-0.13.7\\\\","dependencies":["firebase_core"]},{"name":"firebase_auth","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth-0.16.1\\\\","dependencies":["firebase_core"]},{"name":"firebase_core","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core-0.4.5\\\\","dependencies":[]},{"name":"firebase_storage","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_storage-3.1.6\\\\","dependencies":["firebase_core"]}],"linux":[],"windows":[],"web":[{"name":"cloud_firestore_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\cloud_firestore_web-0.1.1+2\\\\","dependencies":[]},{"name":"firebase_analytics_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_analytics_web-0.1.1\\\\","dependencies":[]},{"name":"firebase_auth_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_auth_web-0.1.3+1\\\\","dependencies":[]},{"name":"firebase_core_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\firebase_core_web-0.1.1+2\\\\","dependencies":[]},{"name":"google_sign_in_web","path":"C:\\\\src\\\\flutter\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\google_sign_in_web-0.9.2\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"cloud_firestore","dependencies":["firebase_core","cloud_firestore_web"]},{"name":"cloud_firestore_web","dependencies":["firebase_core"]},{"name":"firebase_analytics","dependencies":["firebase_analytics_web"]},{"name":"firebase_analytics_web","dependencies":[]},{"name":"firebase_auth","dependencies":["firebase_core","firebase_auth_web"]},{"name":"firebase_auth_web","dependencies":[]},{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"firebase_storage","dependencies":["firebase_core"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"google_sign_in","dependencies":["google_sign_in_web"]},{"name":"google_sign_in_web","dependencies":[]},{"name":"image_picker","dependencies":["flutter_plugin_android_lifecycle"]}],"date_created":"2020-10-02 10:42:41.447808","version":"1.22.0"} \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index cc3a1dd..05cc6b5 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -33,7 +33,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "mohak.fchat.app" + applicationId "mohakApoorv.fchat.app" minSdkVersion 16 targetSdkVersion 28 versionCode flutterVersionCode.toInteger() diff --git a/android/app/google-services.json b/android/app/google-services.json index a318ff9..f7c83e5 100644 --- a/android/app/google-services.json +++ b/android/app/google-services.json @@ -1,52 +1,37 @@ { "project_info": { - "project_number": "910539670225", - "firebase_url": "https://flutterchatapp-a28f7.firebaseio.com", - "project_id": "flutterchatapp-a28f7", - "storage_bucket": "flutterchatapp-a28f7.appspot.com" + "project_number": "171126428694", + "firebase_url": "https://mohakchat-416fc.firebaseio.com", + "project_id": "mohakchat-416fc", + "storage_bucket": "mohakchat-416fc.appspot.com" }, "client": [ { "client_info": { - "mobilesdk_app_id": "1:910539670225:android:803bd2a516dadbec", + "mobilesdk_app_id": "1:171126428694:android:66239cb3042c24e741d137", "android_client_info": { - "package_name": "mohak.fchat.app" + "package_name": "mohakApoorv.fchat.app" } }, "oauth_client": [ { - "client_id": "910539670225-3gif84a78g1ndkaiahruasnh63m8mtmo.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "mohak.fchat.app", - "certificate_hash": "c0367f976f474b02d25e79d452dd3124a5ce8df9" - } - }, - { - "client_id": "910539670225-pbbhu109govqb0h8mjjc7dbhrkqj8tnd.apps.googleusercontent.com", + "client_id": "171126428694-9fnukbc9j791q58e09so3mb86bnfbmpe.apps.googleusercontent.com", "client_type": 3 } ], "api_key": [ { - "current_key": "AIzaSyD8GFBCF0_4XfVHrU_erYryodtAv6TDqOk" + "current_key": "AIzaSyAQv6VC7yr8BcbGJeC_pSVuDv67f3FsZUI" } ], "services": { - "analytics_service": { - "status": 1 - }, "appinvite_service": { - "status": 2, "other_platform_oauth_client": [ { - "client_id": "910539670225-pbbhu109govqb0h8mjjc7dbhrkqj8tnd.apps.googleusercontent.com", + "client_id": "171126428694-9fnukbc9j791q58e09so3mb86bnfbmpe.apps.googleusercontent.com", "client_type": 3 } ] - }, - "ads_service": { - "status": 2 } } } diff --git a/android/build.gradle b/android/build.gradle index a7cdaf5..82f1dbf 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -7,7 +7,8 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.3.0' //classpath 'com.google.gms:google-services:4.0.1' - classpath 'com.google.gms:google-services:4.2.0' + // classpath 'com.google.gms:google-services:4.2.0' + classpath 'com.google.gms:google-services:4.3.4' } } diff --git a/android/gradle.properties b/android/gradle.properties index 08f2b5f..d2032bc 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,3 +1,4 @@ org.gradle.jvmargs=-Xmx1536M android.enableJetifier=true android.useAndroidX=true +android.enableR8=true diff --git a/lib/all_users_screen.dart b/lib/all_users_screen.dart index cb8d2aa..30a9f96 100644 --- a/lib/all_users_screen.dart +++ b/lib/all_users_screen.dart @@ -11,6 +11,7 @@ import 'package:google_sign_in/google_sign_in.dart'; // import 'package:chat_app/models/user_details.dart'; class AllUsersScreen extends StatefulWidget { + static const String id = 'all_users_screen'; _AllUsersScreenState createState() => _AllUsersScreenState(); } @@ -67,14 +68,14 @@ class _AllUsersScreenState extends State { return ListTile( leading: CircleAvatar( backgroundImage: - NetworkImage(usersList[index].data()['photoUrl']), + NetworkImage(usersList[index].data['photoUrl']), ), - title: Text(usersList[index].data()['name'], + title: Text(usersList[index].data['name'], style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold, )), - subtitle: Text(usersList[index].data()['emailId'], + subtitle: Text(usersList[index].data['emailId'], style: TextStyle( color: Colors.grey, )), @@ -83,11 +84,10 @@ class _AllUsersScreenState extends State { context, new MaterialPageRoute( builder: (context) => ChatScreen( - name: usersList[index].data()['name'], - photoUrl: - usersList[index].data()['photoUrl'], + name: usersList[index].data['name'], + photoUrl: usersList[index].data['photoUrl'], receiverUid: - usersList[index].data()['uid']))); + usersList[index].data['uid']))); }), ); }), diff --git a/lib/chat_screen.dart b/lib/chat_screen.dart index f037da6..3235967 100644 --- a/lib/chat_screen.dart +++ b/lib/chat_screen.dart @@ -10,6 +10,7 @@ import 'package:image_picker/image_picker.dart'; import 'package:firebase_storage/firebase_storage.dart'; class ChatScreen extends StatefulWidget { + static const String id = 'chat_screen'; String name; String photoUrl; String receiverUid; @@ -39,7 +40,7 @@ class _ChatScreenState extends State { @override void initState() { super.initState(); - + _messageController = TextEditingController(); getUID().then((user) { setState(() { @@ -304,8 +305,9 @@ class _ChatScreenState extends State { Padding( padding: const EdgeInsets.all(12.0), child: Row( - mainAxisAlignment: snapshot['senderUid'] == _senderuid? - MainAxisAlignment.end : MainAxisAlignment.start, + mainAxisAlignment: snapshot['senderUid'] == _senderuid + ? MainAxisAlignment.end + : MainAxisAlignment.start, children: [ snapshot['senderUid'] == _senderuid ? CircleAvatar( @@ -351,7 +353,9 @@ class _ChatScreenState extends State { Navigator.push( context, new MaterialPageRoute( - builder: (context) => FullScreenImage(photoUrl: snapshot['photoUrl'],))); + builder: (context) => FullScreenImage( + photoUrl: snapshot['photoUrl'], + ))); }), child: Hero( tag: snapshot['photoUrl'], diff --git a/lib/full_screen_image.dart b/lib/full_screen_image.dart index d233cac..ba45061 100644 --- a/lib/full_screen_image.dart +++ b/lib/full_screen_image.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; class FullScreenImage extends StatefulWidget { - + static const String id = 'full_screen_image'; String photoUrl; FullScreenImage({this.photoUrl}); @@ -13,35 +13,35 @@ class _FullScreenImageState extends State { Widget build(BuildContext context) { return Scaffold( body: SizedBox.expand( - child: Stack( - children: [ - Align( - alignment: Alignment.center, - child: Hero( - tag: widget.photoUrl, - child: Image.network(widget.photoUrl), - ), + child: Stack( + children: [ + Align( + alignment: Alignment.center, + child: Hero( + tag: widget.photoUrl, + child: Image.network(widget.photoUrl), + ), + ), + Align( + alignment: Alignment.topCenter, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + AppBar( + elevation: 0.0, + backgroundColor: Colors.transparent, + leading: IconButton( + icon: Icon(Icons.close, color: Colors.black), + onPressed: () => Navigator.pop(context), + ), + ) + ], ), - Align( - alignment: Alignment.topCenter, - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - AppBar( - elevation: 0.0, - backgroundColor: Colors.transparent, - leading: IconButton( - icon: Icon(Icons.close, color: Colors.black), - onPressed: () => Navigator.pop(context), - ), - ) - ], - ), - ) - ], - ), + ) + ], ), - ); + ), + ); } -} \ No newline at end of file +} diff --git a/lib/home_page.dart b/lib/home_page.dart index eaa20f5..9320df3 100644 --- a/lib/home_page.dart +++ b/lib/home_page.dart @@ -7,6 +7,7 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'dart:async'; class HomePage extends StatefulWidget { + static const String id = 'home_page'; _HomePageState createState() => _HomePageState(); } @@ -26,7 +27,7 @@ class _HomePageState extends State { AuthCredential authCredential = GoogleAuthProvider.getCredential( idToken: _signInAuthentication.idToken, accessToken: _signInAuthentication.accessToken); - +//add ().user FirebaseUser user = (await _firebaseAuth.signInWithCredential(authCredential)).user; return user; diff --git a/lib/main.dart b/lib/main.dart index e4daa97..d5ea97e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -43,8 +43,19 @@ class MyAppState extends State { return MaterialApp( title: "Chat App", theme: ThemeData(primarySwatch: Colors.red), - routes: { - '/chatscreen': (BuildContext context) => new AllUsersScreen(), + // routes: { + // '/chatscreen': (BuildContext context) => new AllUsersScreen(), + // }, + routes: { +// SplashScreen.id: (context) => SplashScreen(), + AllUsersScreen.id: (context) => AllUsersScreen(), + HomePage.id: (context) => HomePage(), + // RegistrationScreen.id: (context) => RegistrationScreen(), + // MyHomePage.id: (context) => MyHomePage(), + // NotificationScreen.id: (context) => NotificationScreen(), + // AboutPage.id: (context) => AboutPage(), + // //Search User Screen + // SeachAppBarRecipe.id: (context) => SeachAppBarRecipe(), }, home: isLoggedIn == true ? AllUsersScreen() : HomePage(), ); diff --git a/pubspec.yaml b/pubspec.yaml index c805f0f..cc508b3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,25 +18,47 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. + # cupertino_icons: ^0.1.2 + # firebase_auth: + # google_sign_in: + # cloud_firestore: + # firebase_storage: + # image_picker: cupertino_icons: ^0.1.2 - firebase_auth: google_sign_in: + image_picker: + + firebase_auth: cloud_firestore: firebase_storage: - image_picker: - + # cupertino_icons: ^0.1.2 + # flutter_signin_button: ^1.0.0 + # modal_progress_hud: ^0.1.3 + # animated_text_kit: ^1.3.0 + # url_launcher: ^4.0.1 + # share: ^0.6.3+6 + # Firebase + firebase_core: ^0.4.3+2 + # firebase_auth: ^0.15.5+2 + firebase_analytics: ^5.0.11 + # cloud_firestore: ^0.13.4+2 + # Google SignIn + # google_sign_in: ^4.1.4 + # rx dart + rxdart: ^0.21.0 + # firebase_storage: ^3.1.5 + # image_picker: ^0.6.4 + # english_words: dev_dependencies: flutter_test: sdk: flutter - # For information on the generic Dart part of this file, see the # following page: https://www.dartlang.org/tools/pub/pubspec # The following section is specific to Flutter. flutter: - # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class.