Skip to content

Commit 0bebf3a

Browse files
authored
Merge pull request #2 from ltrudu/master
Added MX13.1 feature: ALL_DANGEROUS_PERMISSIONS
2 parents 6b79339 + 7ebb2c5 commit 0bebf3a

File tree

6 files changed

+74
-9
lines changed

6 files changed

+74
-9
lines changed

.idea/compiler.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CriticalPermissionsHelper/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
ext {
55
PUBLISH_GROUP_ID = 'com.zebra.criticalpermissionshelper'
66
PUBLISH_ARTIFACT_ID = 'criticalpermissionshelper'
7-
PUBLISH_VERSION = '0.2'
7+
PUBLISH_VERSION = '0.6'
88
}
99

1010
android {
@@ -13,8 +13,8 @@ android {
1313
defaultConfig {
1414
minSdkVersion 30
1515
targetSdkVersion 32
16-
versionCode 3
17-
versionName "0.3"
16+
versionCode 6
17+
versionName "0.6"
1818

1919
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
2020

CriticalPermissionsHelper/src/main/java/com/zebra/criticalpermissionshelper/CriticalPermissionsHelper.java

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,56 @@ public String toString() {
4545
}
4646
};
4747

48-
// MX11.4 Permissions
48+
// MX10.0 Permissions
4949
// android.permission.ACCESS_NOTIFICATIONS
5050
// android.permission.PACKAGE_USAGE_STATS
5151
// android.permission.SYSTEM_ALERT_WINDOW
5252
// android.permission.GET_APP_OPS_STATS
5353
// android.permission.BATTERY_STATS
54+
55+
// MX10.4 Permissions
5456
// android.permission.MANAGE_EXTERNAL_STORAGE
5557

58+
// MX11.5 Permissions
59+
// android.permission.BIND_NOTIFICATION_LISTENER
60+
61+
// MX11.9 Permissions
62+
// android.permission.READ_LOGS
63+
64+
// MX13.1 Permissions
65+
// All dangerous permissions
66+
// List of Dangerous permissions in A13 (2023/07/01):
67+
//READ_CALENDAR
68+
//WRITE_CALENDAR
69+
//CAMERA
70+
//READ_CONTACTS
71+
//WRITE_CONTACTS
72+
//GET_ACCOUNTS
73+
//ACCESS_FINE_LOCATION
74+
//ACCESS_COARSE_LOCATION
75+
//RECORD_AUDIO
76+
//READ_PHONE_STATE
77+
//READ_PHONE_NUMBERS
78+
//CALL_PHONE
79+
//ANSWER_PHONE_CALLS
80+
//READ_CALL_LOG
81+
//WRITE_CALL_LOG
82+
//ADD_VOICEMAIL
83+
//USE_SIP
84+
//PROCESS_OUTGOING_CALLS
85+
//BODY_SENSORS
86+
//SEND_SMS
87+
//RECEIVE_SMS
88+
//READ_SMS
89+
//RECEIVE_WAP_PUSH
90+
//RECEIVE_MMS
91+
//READ_EXTERNAL_STORAGE
92+
//WRITE_EXTERNAL_STORAGE
93+
//ACCESS_MEDIA_LOCATION
94+
//ACCEPT_HANDOVER
95+
//ACCESS_BACKGROUND_LOCATION
96+
//ACTIVITY_RECOGNITION
97+
5698
public static void grantPermission(Context context, EPermissionType permissionType, IResultCallbacks callbackInterface)
5799
{
58100
executeAccessMgrPermissionCommand(context, EPermissionAccessAction.GRANT_PERMISSION, permissionType, callbackInterface);

CriticalPermissionsHelper/src/main/java/com/zebra/criticalpermissionshelper/EPermissionType.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ public enum EPermissionType
77
SYSTEM_ALERT_WINDOW( "android.permission.SYSTEM_ALERT_WINDOW"),
88
GET_APP_OPS_STATS( "android.permission.GET_APP_OPS_STATS"),
99
BATTERY_STATS( "android.permission.BATTERY_STATS"),
10-
MANAGE_EXTERNAL_STORAGE( "android.permission.MANAGE_EXTERNAL_STORAGE");
10+
MANAGE_EXTERNAL_STORAGE( "android.permission.MANAGE_EXTERNAL_STORAGE"),
11+
BIND_NOTIFICATION_LISTENER( "android.permission.BIND_NOTIFICATION_LISTENER"),
12+
READ_LOGS( "android.permission.READ_LOGS"),
13+
ALL_DANGEROUS_PERMISSIONS( "ALL_DANGEROUS_PERMISSIONS");
1114

1215
String stringContent = "";
1316
EPermissionType(String stringContent)

README.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Forget about AccessMgr, StageNow, EMDK, certificates, application signature... c
66

77
Just grant some critical permissions on your Zebra device in one method call (see at the end of this document).
88

9-
Includes: ACCESS_NOTIFICATIONS, PACKAGE_USAGE_STATS, SYSTEM_ALERT_WINDOW, BATTERY_STATS, MANAGE_EXTERNAL_STORAGE, GET_APP_OPS_STATS
9+
Includes: ACCESS_NOTIFICATIONS, PACKAGE_USAGE_STATS, SYSTEM_ALERT_WINDOW, BATTERY_STATS, MANAGE_EXTERNAL_STORAGE, GET_APP_OPS_STATS, ALL_DANGEROUS_PERMISSIONS
1010

1111
Have fun with Zebra's devices :)
1212

@@ -37,6 +37,11 @@ Controls permission to access battery statistics for the device.
3737
3838
#6. Manage External Storage:
3939
Controls management of USB and/or SD card storage media attached to the device.
40+
41+
#7. All Dangerous Permissions (MX >= 13.1, StageNow >= 5.11.0)
42+
Grants all permissions that requires runtime permission model
43+
To know which permissions are listed as Dangerous, execute the following ADB command:
44+
adb shell pm list permissions -g -d
4045
```
4146

4247
This wrapper will use the EMDK with MX's AccessMgr feature to grant, deny or verify (WIP) critical permissions.
@@ -60,6 +65,15 @@ The EMDK permission is compulsary, the others are depending on your needs.
6065
tools:ignore="ProtectedPermissions" />
6166
<uses-permission android:name="android.permission.GET_APP_OPS_STATS"
6267
tools:ignore="ProtectedPermissions" />
68+
69+
<!-- Or any dangerous permission, for example: -->
70+
<uses-permission android:name="permission:android.permission.ACCESS_FINE_LOCATION"
71+
tools:ignore="ProtectedPermissions" />
72+
<uses-permission android:name="permission:android.permission.BLUETOOTH_CONNECT"
73+
tools:ignore="ProtectedPermissions" />
74+
<uses-permission android:name=" permission:android.permission.BLUETOOTH_SCAN"
75+
tools:ignore="ProtectedPermissions" />
76+
6377
```
6478

6579
Sample AdroidManifest.xml:
@@ -83,6 +97,12 @@ Sample AdroidManifest.xml:
8397
tools:ignore="ProtectedPermissions" />
8498
<uses-permission android:name="android.permission.GET_APP_OPS_STATS"
8599
tools:ignore="ProtectedPermissions" />
100+
<uses-permission android:name="permission:android.permission.ACCESS_FINE_LOCATION"
101+
tools:ignore="ProtectedPermissions" />
102+
<uses-permission android:name="permission:android.permission.BLUETOOTH_CONNECT"
103+
tools:ignore="ProtectedPermissions" />
104+
<uses-permission android:name=" permission:android.permission.BLUETOOTH_SCAN"
105+
tools:ignore="ProtectedPermissions" />
86106

87107
<application
88108
android:allowBackup="true"
@@ -165,6 +185,7 @@ EPermissionType.SYSTEM_ALERT_WINDOW
165185
EPermissionType.GET_APP_OPS_STATS
166186
EPermissionType.BATTERY_STATS
167187
EPermissionType.MANAGE_EXTERNAL_STORAGE
188+
EPermissionType.ALL_DANGEROUS_PERMISSIONS
168189
```
169190

170191
Snippet code to grant a permission:

0 commit comments

Comments
 (0)