@@ -21,19 +21,18 @@ final MaterialColor themeMaterialColor =
2121
2222/// A Flutter application demonstrating the functionality of this plugin
2323class PermissionHandlerWidget extends StatefulWidget {
24- /// Default Constructor
25- const PermissionHandlerWidget ({super .key});
24+ const PermissionHandlerWidget ._();
2625
2726 /// Create a page containing the functionality of this plugin
2827 static ExamplePage createPage () {
2928 return ExamplePage (
3029 Icons .location_on,
31- (context) => const PermissionHandlerWidget (),
30+ (context) => const PermissionHandlerWidget ._ (),
3231 );
3332 }
3433
3534 @override
36- _PermissionHandlerWidgetState createState () =>
35+ State < PermissionHandlerWidget > createState () =>
3736 _PermissionHandlerWidgetState ();
3837}
3938
@@ -79,30 +78,29 @@ class _PermissionHandlerWidgetState extends State<PermissionHandlerWidget> {
7978/// Permission widget containing information about the passed [Permission]
8079class PermissionWidget extends StatefulWidget {
8180 /// Constructs a [PermissionWidget] for the supplied [Permission]
82- const PermissionWidget (this ._permission , {super .key});
81+ const PermissionWidget (this .permission , {super .key});
8382
84- final Permission _permission;
83+ /// The [Permission] for which this widget is rendered.
84+ final Permission permission;
8585
8686 @override
87- _PermissionState createState () {
88- return _PermissionState ();
89- }
87+ State <PermissionWidget > createState () => _PermissionState ();
9088}
9189
9290class _PermissionState extends State <PermissionWidget > {
93- late Permission _permission;
91+ _PermissionState ();
92+
9493 PermissionStatus _permissionStatus = PermissionStatus .denied;
9594
9695 @override
9796 void initState () {
9897 super .initState ();
99- _permission = widget._permission;
10098
10199 _listenForPermissionStatus ();
102100 }
103101
104102 void _listenForPermissionStatus () async {
105- final status = await _permission .status;
103+ final status = await widget.permission .status;
106104 setState (() => _permissionStatus = status);
107105 }
108106
@@ -123,26 +121,26 @@ class _PermissionState extends State<PermissionWidget> {
123121 Widget build (BuildContext context) {
124122 return ListTile (
125123 title: Text (
126- _permission .toString (),
124+ widget.permission .toString (),
127125 style: Theme .of (context).textTheme.bodyLarge,
128126 ),
129127 subtitle: Text (
130128 _permissionStatus.toString (),
131129 style: TextStyle (color: getPermissionColor ()),
132130 ),
133- trailing: (_permission is PermissionWithService )
131+ trailing: (widget.permission is PermissionWithService )
134132 ? IconButton (
135133 icon: const Icon (Icons .info, color: Colors .white),
136134 onPressed: () {
137135 checkServiceStatus (
138136 context,
139- _permission as PermissionWithService ,
137+ widget.permission as PermissionWithService ,
140138 );
141139 },
142140 )
143141 : null ,
144142 onTap: () {
145- requestPermission (_permission );
143+ requestPermission (widget.permission );
146144 },
147145 );
148146 }
@@ -160,9 +158,7 @@ class _PermissionState extends State<PermissionWidget> {
160158 final status = await permission.request ();
161159
162160 setState (() {
163- debugPrint (status.toString ());
164161 _permissionStatus = status;
165- debugPrint (_permissionStatus.toString ());
166162 });
167163 }
168164}
0 commit comments