@@ -21,19 +21,18 @@ final MaterialColor themeMaterialColor =
21
21
22
22
/// A Flutter application demonstrating the functionality of this plugin
23
23
class PermissionHandlerWidget extends StatefulWidget {
24
- /// Default Constructor
25
- const PermissionHandlerWidget ({super .key});
24
+ const PermissionHandlerWidget ._();
26
25
27
26
/// Create a page containing the functionality of this plugin
28
27
static ExamplePage createPage () {
29
28
return ExamplePage (
30
29
Icons .location_on,
31
- (context) => const PermissionHandlerWidget (),
30
+ (context) => const PermissionHandlerWidget ._ (),
32
31
);
33
32
}
34
33
35
34
@override
36
- _PermissionHandlerWidgetState createState () =>
35
+ State < PermissionHandlerWidget > createState () =>
37
36
_PermissionHandlerWidgetState ();
38
37
}
39
38
@@ -79,30 +78,29 @@ class _PermissionHandlerWidgetState extends State<PermissionHandlerWidget> {
79
78
/// Permission widget containing information about the passed [Permission]
80
79
class PermissionWidget extends StatefulWidget {
81
80
/// Constructs a [PermissionWidget] for the supplied [Permission]
82
- const PermissionWidget (this ._permission , {super .key});
81
+ const PermissionWidget (this .permission , {super .key});
83
82
84
- final Permission _permission;
83
+ /// The [Permission] for which this widget is rendered.
84
+ final Permission permission;
85
85
86
86
@override
87
- _PermissionState createState () {
88
- return _PermissionState ();
89
- }
87
+ State <PermissionWidget > createState () => _PermissionState ();
90
88
}
91
89
92
90
class _PermissionState extends State <PermissionWidget > {
93
- late Permission _permission;
91
+ _PermissionState ();
92
+
94
93
PermissionStatus _permissionStatus = PermissionStatus .denied;
95
94
96
95
@override
97
96
void initState () {
98
97
super .initState ();
99
- _permission = widget._permission;
100
98
101
99
_listenForPermissionStatus ();
102
100
}
103
101
104
102
void _listenForPermissionStatus () async {
105
- final status = await _permission .status;
103
+ final status = await widget.permission .status;
106
104
setState (() => _permissionStatus = status);
107
105
}
108
106
@@ -123,26 +121,26 @@ class _PermissionState extends State<PermissionWidget> {
123
121
Widget build (BuildContext context) {
124
122
return ListTile (
125
123
title: Text (
126
- _permission .toString (),
124
+ widget.permission .toString (),
127
125
style: Theme .of (context).textTheme.bodyLarge,
128
126
),
129
127
subtitle: Text (
130
128
_permissionStatus.toString (),
131
129
style: TextStyle (color: getPermissionColor ()),
132
130
),
133
- trailing: (_permission is PermissionWithService )
131
+ trailing: (widget.permission is PermissionWithService )
134
132
? IconButton (
135
133
icon: const Icon (Icons .info, color: Colors .white),
136
134
onPressed: () {
137
135
checkServiceStatus (
138
136
context,
139
- _permission as PermissionWithService ,
137
+ widget.permission as PermissionWithService ,
140
138
);
141
139
},
142
140
)
143
141
: null ,
144
142
onTap: () {
145
- requestPermission (_permission );
143
+ requestPermission (widget.permission );
146
144
},
147
145
);
148
146
}
@@ -160,9 +158,7 @@ class _PermissionState extends State<PermissionWidget> {
160
158
final status = await permission.request ();
161
159
162
160
setState (() {
163
- debugPrint (status.toString ());
164
161
_permissionStatus = status;
165
- debugPrint (_permissionStatus.toString ());
166
162
});
167
163
}
168
164
}
0 commit comments