Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
permission_handler
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
songyanzhi
permission_handler
Commits
87c6c523
Commit
87c6c523
authored
Jan 22, 2019
by
Maurits van Beusekom
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'upgrade_analyzes' into issues/54
parents
92b36655
da8b44a2
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
8 deletions
+20
-8
analysis_options.yaml
+13
-1
lib/permission_handler.dart
+2
-2
lib/utils/codec.dart
+4
-4
pubspec.yaml
+1
-1
No files found.
analysis_options.yaml
View file @
87c6c523
...
...
@@ -28,6 +28,10 @@ analyzer:
missing_return
:
warning
# allow having TODOs in the code
todo
:
ignore
# Ignore analyzer hints for updating pubspecs when using Future or
# Stream and not importing dart:async
# Please see https://github.com/flutter/flutter/pull/24528 for details.
#sdk_version_async_exported_from_core: ignore
exclude
:
-
'
bin/cache/**'
# the following two are relative to the stocks example and the flutter package respectively
...
...
@@ -56,6 +60,7 @@ linter:
-
avoid_empty_else
-
avoid_field_initializers_in_const_classes
-
avoid_function_literals_in_foreach_calls
# - avoid_implementing_value_types # not yet tested
-
avoid_init_to_null
# - avoid_js_rounded_ints # only useful when targeting JS runtime
-
avoid_null_checks_in_equality_operators
...
...
@@ -65,8 +70,11 @@ linter:
-
avoid_renaming_method_parameters
-
avoid_return_types_on_setters
# - avoid_returning_null # there are plenty of valid reasons to return null
# - avoid_returning_null_for_future # not yet tested
-
avoid_returning_null_for_void
# - avoid_returning_this # there are plenty of valid reasons to return this
# - avoid_setters_without_getters # not yet tested
# - avoid_shadowing_type_parameters # not yet tested
# - avoid_single_cascade_in_expression_statements # not yet tested
-
avoid_slow_async_io
-
avoid_types_as_parameter_names
...
...
@@ -87,6 +95,7 @@ linter:
-
empty_constructor_bodies
-
empty_statements
# - file_names # not yet tested
-
flutter_style_todos
-
hash_and_equals
-
implementation_imports
# - invariant_booleans # too many false positives: https://github.com/dart-lang/linter/issues/811
...
...
@@ -111,7 +120,6 @@ linter:
# - parameter_assignments # we do this commonly
-
prefer_adjacent_string_concatenation
-
prefer_asserts_in_initializer_lists
-
prefer_bool_in_asserts
-
prefer_collection_literals
-
prefer_conditional_assignment
-
prefer_const_constructors
...
...
@@ -128,6 +136,7 @@ linter:
# - prefer_function_declarations_over_variables # not yet tested
-
prefer_generic_function_type_aliases
-
prefer_initializing_formals
# - prefer_int_literals # not yet tested
# - prefer_interpolation_to_compose_strings # not yet tested
-
prefer_is_empty
-
prefer_is_not_empty
...
...
@@ -140,6 +149,7 @@ linter:
-
recursive_getters
-
slash_for_doc_comments
-
sort_constructors_first
-
sort_pub_dependencies
-
sort_unnamed_constructors_first
-
super_goes_last
-
test_types_in_equals
...
...
@@ -147,6 +157,7 @@ linter:
# - type_annotate_public_apis # subset of always_specify_types
-
type_init_formals
# - unawaited_futures # too many false positives
# - unnecessary_await_in_return # not yet tested
-
unnecessary_brace_in_string_interps
-
unnecessary_const
-
unnecessary_getters_setters
...
...
@@ -159,6 +170,7 @@ linter:
-
unnecessary_statements
-
unnecessary_this
-
unrelated_type_equality_checks
# - use_function_type_syntax_for_parameters # not yet tested
-
use_rethrow_when_possible
# - use_setters_to_change_properties # not yet tested
# - use_string_buffers # has false positives: https://github.com/dart-lang/sdk/issues/34182
...
...
lib/permission_handler.dart
View file @
87c6c523
...
...
@@ -32,7 +32,7 @@ class PermissionHandler {
/// Returns a [Future] containing the current permission status for the supplied [PermissionGroup].
Future
<
PermissionStatus
>
checkPermissionStatus
(
PermissionGroup
permission
)
async
{
final
dynamic
status
=
await
_methodChannel
.
invokeMethod
(
final
String
status
=
await
_methodChannel
.
invokeMethod
(
'checkPermissionStatus'
,
Codec
.
encodePermissionGroup
(
permission
));
return
Codec
.
decodePermissionStatus
(
status
);
...
...
@@ -52,7 +52,7 @@ class PermissionHandler {
Future
<
Map
<
PermissionGroup
,
PermissionStatus
>>
requestPermissions
(
List
<
PermissionGroup
>
permissions
)
async
{
final
String
jsonData
=
Codec
.
encodePermissionGroups
(
permissions
);
final
dynamic
status
=
final
String
status
=
await
_methodChannel
.
invokeMethod
(
'requestPermissions'
,
jsonData
);
return
Codec
.
decodePermissionRequestResult
(
status
);
...
...
lib/utils/codec.dart
View file @
87c6c523
part of
permission_handler
;
class
Codec
{
static
PermissionStatus
decodePermissionStatus
(
dynamic
value
)
{
final
dynamic
permission
=
json
.
decode
(
value
.
toString
()
);
static
PermissionStatus
decodePermissionStatus
(
String
value
)
{
final
dynamic
permission
=
json
.
decode
(
value
);
return
PermissionStatus
.
values
.
firstWhere
(
(
PermissionStatus
e
)
=>
e
.
toString
().
split
(
'.'
).
last
==
permission
);
}
static
Map
<
PermissionGroup
,
PermissionStatus
>
decodePermissionRequestResult
(
dynamic
value
)
{
final
Map
<
String
,
dynamic
>
jsonObject
=
json
.
decode
(
value
.
toString
()
);
String
value
)
{
final
Map
<
String
,
dynamic
>
jsonObject
=
json
.
decode
(
value
);
final
Map
<
PermissionGroup
,
PermissionStatus
>
permissionResults
=
<
PermissionGroup
,
PermissionStatus
>{};
...
...
pubspec.yaml
View file @
87c6c523
...
...
@@ -20,7 +20,7 @@ flutter:
pluginClass
:
PermissionHandlerPlugin
environment
:
sdk
:
"
>=2.
0.0-dev.68
.0
<3.0.0"
sdk
:
"
>=2.
1.0-dev.5
.0
<3.0.0"
# To add assets to your plugin package, add an assets section, like this:
# assets:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment