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
cfff69aa
Commit
cfff69aa
authored
Oct 22, 2019
by
Tonghdj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Android] check notification
parent
174dfb21
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
7 deletions
+26
-7
android/src/main/java/com/baseflow/permissionhandler/PermissionHandlerPlugin.java
+26
-7
No files found.
android/src/main/java/com/baseflow/permissionhandler/PermissionHandlerPlugin.java
View file @
cfff69aa
...
...
@@ -19,6 +19,7 @@ import android.telephony.TelephonyManager;
import
android.text.TextUtils
;
import
android.util.Log
;
import
androidx.core.app.NotificationManagerCompat
;
import
io.flutter.plugin.common.PluginRegistry.ActivityResultListener
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
...
...
@@ -60,7 +61,8 @@ public class PermissionHandlerPlugin implements MethodCallHandler {
private
static
final
int
PERMISSION_GROUP_SPEECH
=
13
;
private
static
final
int
PERMISSION_GROUP_STORAGE
=
14
;
private
static
final
int
PERMISSION_GROUP_IGNORE_BATTERY_OPTIMIZATIONS
=
15
;
private
static
final
int
PERMISSION_GROUP_UNKNOWN
=
16
;
private
static
final
int
PERMISSION_GROUP_NOTIFICATION
=
16
;
private
static
final
int
PERMISSION_GROUP_UNKNOWN
=
17
;
private
PermissionHandlerPlugin
(
Registrar
mRegistrar
)
{
this
.
mRegistrar
=
mRegistrar
;
...
...
@@ -84,6 +86,7 @@ public class PermissionHandlerPlugin implements MethodCallHandler {
PERMISSION_GROUP_SPEECH
,
PERMISSION_GROUP_STORAGE
,
PERMISSION_GROUP_IGNORE_BATTERY_OPTIMIZATIONS
,
PERMISSION_GROUP_NOTIFICATION
,
PERMISSION_GROUP_UNKNOWN
,
})
private
@interface
PermissionGroup
{
...
...
@@ -250,6 +253,21 @@ public class PermissionHandlerPlugin implements MethodCallHandler {
@PermissionStatus
private
int
checkPermissionStatus
(
@PermissionGroup
int
permission
)
{
final
Context
context
=
mRegistrar
.
activity
()
==
null
?
mRegistrar
.
activeContext
()
:
mRegistrar
.
activity
();
if
(
context
==
null
)
{
Log
.
d
(
LOG_TAG
,
"Unable to detect current Activity or App Context."
);
return
PERMISSION_STATUS_UNKNOWN
;
}
if
(
permission
==
PERMISSION_GROUP_NOTIFICATION
)
{
NotificationManagerCompat
manager
=
NotificationManagerCompat
.
from
(
context
);
boolean
isGranted
=
manager
.
areNotificationsEnabled
();
if
(
isGranted
)
{
return
PERMISSION_STATUS_GRANTED
;
}
return
PERMISSION_STATUS_DENIED
;
}
final
List
<
String
>
names
=
getManifestNames
(
permission
);
if
(
names
==
null
)
{
...
...
@@ -264,12 +282,6 @@ public class PermissionHandlerPlugin implements MethodCallHandler {
return
PERMISSION_STATUS_UNKNOWN
;
}
final
Context
context
=
mRegistrar
.
activity
()
==
null
?
mRegistrar
.
activeContext
()
:
mRegistrar
.
activity
();
if
(
context
==
null
)
{
Log
.
d
(
LOG_TAG
,
"Unable to detect current Activity or App Context."
);
return
PERMISSION_STATUS_UNKNOWN
;
}
final
boolean
targetsMOrHigher
=
context
.
getApplicationInfo
().
targetSdkVersion
>=
VERSION_CODES
.
M
;
for
(
String
name
:
names
)
{
...
...
@@ -399,6 +411,11 @@ public class PermissionHandlerPlugin implements MethodCallHandler {
for
(
Integer
permission
:
permissions
)
{
@PermissionStatus
final
int
permissionStatus
=
checkPermissionStatus
(
permission
);
if
(
permissionStatus
!=
PERMISSION_STATUS_GRANTED
)
{
if
(
permission
==
PERMISSION_GROUP_NOTIFICATION
)
{
mRequestResults
.
put
(
permission
,
PERMISSION_STATUS_DENIED
);
continue
;
}
final
List
<
String
>
names
=
getManifestNames
(
permission
);
//check to see if we can find manifest names
...
...
@@ -654,6 +671,8 @@ public class PermissionHandlerPlugin implements MethodCallHandler {
if
(
VERSION
.
SDK_INT
>=
VERSION_CODES
.
M
&&
hasPermissionInManifest
(
Manifest
.
permission
.
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
))
permissionNames
.
add
(
Manifest
.
permission
.
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
);
break
;
case
PERMISSION_GROUP_NOTIFICATION:
break
;
case
PERMISSION_GROUP_MEDIA_LIBRARY:
case
PERMISSION_GROUP_PHOTOS:
...
...
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