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
43df33ca
Commit
43df33ca
authored
Mar 12, 2021
by
Rene Floor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added ble permission Android
parent
9d12bb54
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
35 additions
and
0 deletions
+35
-0
permission_handler/android/src/main/java/com/baseflow/permissionhandler/PermissionConstants.java
+2
-0
permission_handler/android/src/main/java/com/baseflow/permissionhandler/PermissionManager.java
+13
-0
permission_handler/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java
+4
-0
permission_handler/android/src/main/java/com/baseflow/permissionhandler/ServiceManager.java
+13
-0
permission_handler/example/android/app/src/main/AndroidManifest.xml
+3
-0
No files found.
permission_handler/android/src/main/java/com/baseflow/permissionhandler/PermissionConstants.java
View file @
43df33ca
...
...
@@ -32,6 +32,7 @@ final class PermissionConstants {
static
final
int
PERMISSION_GROUP_ACCESS_MEDIA_LOCATION
=
18
;
static
final
int
PERMISSION_GROUP_ACTIVITY_RECOGNITION
=
19
;
static
final
int
PERMISSION_GROUP_UNKNOWN
=
20
;
static
final
int
PERMISSION_GROUP_BLUETOOTH
=
21
;
@Retention
(
RetentionPolicy
.
SOURCE
)
@IntDef
({
...
...
@@ -55,6 +56,7 @@ final class PermissionConstants {
PERMISSION_GROUP_ACCESS_MEDIA_LOCATION
,
PERMISSION_GROUP_ACTIVITY_RECOGNITION
,
PERMISSION_GROUP_UNKNOWN
,
PERMISSION_GROUP_BLUETOOTH
,
})
@interface
PermissionGroup
{
}
...
...
permission_handler/android/src/main/java/com/baseflow/permissionhandler/PermissionManager.java
View file @
43df33ca
...
...
@@ -160,6 +160,9 @@ final class PermissionManager {
if
(
permission
==
PermissionConstants
.
PERMISSION_GROUP_NOTIFICATION
)
{
return
checkNotificationPermissionStatus
(
context
);
}
if
(
permission
==
PermissionConstants
.
PERMISSION_GROUP_BLUETOOTH
){
return
checkBluetoothPermissionStatus
(
context
);
}
final
List
<
String
>
names
=
PermissionUtils
.
getManifestNames
(
context
,
permission
);
...
...
@@ -244,6 +247,16 @@ final class PermissionManager {
return
PermissionConstants
.
PERMISSION_STATUS_DENIED
;
}
private
int
checkBluetoothPermissionStatus
(
Context
context
)
{
List
<
String
>
names
=
PermissionUtils
.
getManifestNames
(
context
,
PermissionConstants
.
PERMISSION_GROUP_BLUETOOTH
);
boolean
missingInManifest
=
names
==
null
||
names
.
isEmpty
();
if
(
missingInManifest
)
{
Log
.
d
(
PermissionConstants
.
LOG_TAG
,
"Bluetooth permission missing in manifest"
);
return
PermissionConstants
.
PERMISSION_STATUS_DENIED
;
}
return
PermissionConstants
.
PERMISSION_STATUS_GRANTED
;
}
@VisibleForTesting
static
final
class
ActivityResultListener
implements
PluginRegistry
.
ActivityResultListener
{
...
...
permission_handler/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java
View file @
43df33ca
...
...
@@ -193,6 +193,10 @@ public class PermissionUtils {
permissionNames
.
add
(
Manifest
.
permission
.
ACTIVITY_RECOGNITION
);
break
;
case
PermissionConstants
.
PERMISSION_GROUP_BLUETOOTH
:
if
(
hasPermissionInManifest
(
context
,
permissionNames
,
Manifest
.
permission
.
BLUETOOTH
))
permissionNames
.
add
(
Manifest
.
permission
.
BLUETOOTH
);
break
;
case
PermissionConstants
.
PERMISSION_GROUP_NOTIFICATION
:
case
PermissionConstants
.
PERMISSION_GROUP_MEDIA_LIBRARY
:
case
PermissionConstants
.
PERMISSION_GROUP_PHOTOS
:
...
...
permission_handler/android/src/main/java/com/baseflow/permissionhandler/ServiceManager.java
View file @
43df33ca
package
com
.
baseflow
.
permissionhandler
;
import
android.bluetooth.BluetoothAdapter
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
...
...
@@ -43,6 +44,13 @@ final class ServiceManager {
successCallback
.
onSuccess
(
serviceStatus
);
return
;
}
if
(
permission
==
PermissionConstants
.
PERMISSION_GROUP_BLUETOOTH
){
final
int
serviceStatus
=
isBluetoothServiceEnabled
()
?
PermissionConstants
.
SERVICE_STATUS_ENABLED
:
PermissionConstants
.
SERVICE_STATUS_DISABLED
;
successCallback
.
onSuccess
(
serviceStatus
);
}
if
(
permission
==
PermissionConstants
.
PERMISSION_GROUP_PHONE
)
{
PackageManager
pm
=
context
.
getPackageManager
();
...
...
@@ -139,4 +147,9 @@ final class ServiceManager {
Settings
.
Secure
.
LOCATION_PROVIDERS_ALLOWED
);
return
!
TextUtils
.
isEmpty
(
locationProviders
);
}
private
boolean
isBluetoothServiceEnabled
()
{
final
BluetoothAdapter
bluetoothAdapter
=
BluetoothAdapter
.
getDefaultAdapter
();
return
bluetoothAdapter
.
isEnabled
();
}
}
permission_handler/example/android/app/src/main/AndroidManifest.xml
View file @
43df33ca
...
...
@@ -60,6 +60,9 @@
<!-- Permissions options for the `ignoreBatteryOptimizations` group -->
<uses-permission
android:name=
"android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
/>
<!-- Permissions options for the `bluetooth` group -->
<uses-permission
android:name=
"android.permission.BLUETOOTH"
/>
<application
android:name=
"io.flutter.app.FlutterApplication"
android:icon=
"@mipmap/ic_launcher"
...
...
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