I'm trying to use to use the texts from firebase app, each Page View for each text, but it's giving me this log of permissions denied, i've also tried using FutureBuilder but it was giving the same error.
My error log :
W/Firestore(28023): (0.6.6-dev) [Firestore]: Listen for Query(teste) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null} I/System.out(28023): com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: Missing or insufficient permissions. W/Firestore(28023): (0.6.6-dev) [Firestore]: Listen for Query(lessons) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null} I/System.out(28023): com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: Missing or insufficient permissions.
The code:
class LessonPage extends StatelessWidget {
final LessonData lessonData;
LessonPage(this.lessonData);
@override
Widget build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection("lessons").snapshots(),
builder: (context, snapshot) {
if (snapshot.hasError) {
return Center(
child: Text(
"An Has Error Occurred",
style: TextStyle(color: Colors.red, fontSize: 24.0),
),
);
}
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return Center(
child: CircularProgressIndicator(),
);
case ConnectionState.none:
{
return Center(
child: Text(
"Without Connection!",
style: TextStyle(color: Colors.red, fontSize: 24.0),
),
);
}
case ConnectionState.done:
case ConnectionState.active:
default:
return PageView.builder(
itemBuilder: (context, index) {
return LessonWidget(
LessonData.fromDocument(snapshot.data.documents[index]));
},
itemCount: snapshot.data.documents.length,
);
}
},
);
}
}
LessonWidget class(i'm getting the lesson text document snapshot from firebase, and putting in my Text):
class LessonWidget extends StatelessWidget {
final LessonData lessonData;
LessonWidget(this.lessonData);
@override
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
Text("${lessonData.text == null ? lessonData.text : "" }", style:
TextStyle(color: Colors.black54, fontSize: 30.0),),
SizedBox(height: 18.0,),
TextField(
decoration: InputDecoration(
hintText: "Escreva a sua resposta aqui"
),
autofocus: true,
),
SizedBox(height: 10.0,),
RaisedButton(onPressed: () {
},
color: Theme
.of(context)
.primaryColor,
child: Text("Continuar"),)
],
);
}
}