@@ -17,10 +17,15 @@ final MaterialColor themeMaterialColor =
17
17
18
18
/// A Flutter application demonstrating the functionality of this plugin
19
19
class PermissionHandlerWidget extends StatefulWidget {
20
+ /// Creates a [PermissionHandlerWidget] .
21
+ const PermissionHandlerWidget ({
22
+ super .key,
23
+ });
24
+
20
25
/// Create a page containing the functionality of this plugin
21
26
static ExamplePage createPage () {
22
27
return ExamplePage (
23
- Icons .location_on, (context) => PermissionHandlerWidget ());
28
+ Icons .location_on, (context) => const PermissionHandlerWidget ());
24
29
}
25
30
26
31
@override
@@ -54,18 +59,20 @@ class _PermissionHandlerWidgetState extends State<PermissionHandlerWidget> {
54
59
/// Permission widget containing information about the passed [Permission]
55
60
class PermissionWidget extends StatefulWidget {
56
61
/// Constructs a [PermissionWidget] for the supplied [Permission]
57
- const PermissionWidget (this ._permission);
62
+ const PermissionWidget (
63
+ this ._permission, {
64
+ super .key,
65
+ });
58
66
59
67
final Permission _permission;
60
68
61
69
@override
62
- _PermissionState createState () => _PermissionState (_permission );
70
+ _PermissionState createState () => _PermissionState ();
63
71
}
64
72
65
73
class _PermissionState extends State <PermissionWidget > {
66
- _PermissionState (this ._permission );
74
+ _PermissionState ();
67
75
68
- final Permission _permission;
69
76
final PermissionHandlerPlatform _permissionHandler =
70
77
PermissionHandlerPlatform .instance;
71
78
PermissionStatus _permissionStatus = PermissionStatus .denied;
@@ -78,7 +85,8 @@ class _PermissionState extends State<PermissionWidget> {
78
85
}
79
86
80
87
void _listenForPermissionStatus () async {
81
- final status = await _permissionHandler.checkPermissionStatus (_permission);
88
+ final status =
89
+ await _permissionHandler.checkPermissionStatus (widget._permission);
82
90
setState (() => _permissionStatus = status);
83
91
}
84
92
@@ -99,26 +107,26 @@ class _PermissionState extends State<PermissionWidget> {
99
107
Widget build (BuildContext context) {
100
108
return ListTile (
101
109
title: Text (
102
- _permission.toString (),
110
+ widget. _permission.toString (),
103
111
style: Theme .of (context).textTheme.bodyLarge,
104
112
),
105
113
subtitle: Text (
106
114
_permissionStatus.toString (),
107
115
style: TextStyle (color: getPermissionColor ()),
108
116
),
109
- trailing: (_permission is PermissionWithService )
117
+ trailing: (widget. _permission is PermissionWithService )
110
118
? IconButton (
111
119
icon: const Icon (
112
120
Icons .info,
113
121
color: Colors .white,
114
122
),
115
123
onPressed: () {
116
124
checkServiceStatus (
117
- context, _permission as PermissionWithService );
125
+ context, widget. _permission as PermissionWithService );
118
126
})
119
127
: null ,
120
128
onTap: () {
121
- requestPermission (_permission);
129
+ requestPermission (widget. _permission);
122
130
},
123
131
);
124
132
}
@@ -135,9 +143,7 @@ class _PermissionState extends State<PermissionWidget> {
135
143
final status = await _permissionHandler.requestPermissions ([permission]);
136
144
137
145
setState (() {
138
- print (status);
139
146
_permissionStatus = status[permission] ?? PermissionStatus .denied;
140
- print (_permissionStatus);
141
147
});
142
148
}
143
149
}
0 commit comments