File tree Expand file tree Collapse file tree 2 files changed +23
-5
lines changed
src/processing/mode/android Expand file tree Collapse file tree 2 files changed +23
-5
lines changed Original file line number Diff line number Diff line change @@ -1438,8 +1438,14 @@ private void writeResXMLWatchFace(final File xmlFolder) {
1438
1438
private String generatePermissionsString (final String [] permissions ) {
1439
1439
String permissionsStr = "" ;
1440
1440
for (String p : permissions ) {
1441
- permissionsStr += (0 < permissionsStr .length ()?"," :"" ) +
1442
- (p .indexOf ("permission" ) == -1 ?"Manifest.permission." :"" ) + p ;
1441
+ permissionsStr += (0 < permissionsStr .length () ? "," : "" );
1442
+ if (p .indexOf ("permission" ) == -1 ) {
1443
+ permissionsStr += "Manifest.permission." + p ;
1444
+ } else if (p .indexOf ("Manifest.permission" ) == 0 ) {
1445
+ permissionsStr += p ;
1446
+ } else {
1447
+ permissionsStr += "\" " + p + "\" " ;
1448
+ }
1443
1449
}
1444
1450
permissionsStr = "{" + permissionsStr + "}" ;
1445
1451
return permissionsStr ;
Original file line number Diff line number Diff line change @@ -137,8 +137,15 @@ public String[] getPermissions() {
137
137
String [] names = new String [count ];
138
138
for (int i = 0 ; i < count ; i ++) {
139
139
String tmp = elements [i ].getString ("android:name" );
140
- int idx = tmp .lastIndexOf ("." );
141
- names [i ] = tmp .substring (idx + 1 );
140
+ if (tmp .indexOf ("android.permission" ) == 0 ) {
141
+ // Standard permission, remove perfix
142
+ int idx = tmp .lastIndexOf ("." );
143
+ names [i ] = tmp .substring (idx + 1 );
144
+ } else {
145
+ // Non-standard permission (for example, wearables)
146
+ // Store entire name.
147
+ names [i ] = tmp ;
148
+ }
142
149
}
143
150
return names ;
144
151
}
@@ -175,7 +182,12 @@ public void setPermissions(String[] names) {
175
182
name .equals ("android.permission.WRITE_EXTERNAL_STORAGE" )) continue ;
176
183
}
177
184
XML newbie = xml .addChild ("uses-permission" );
178
- newbie .setString ("android:name" , PERMISSION_PREFIX + name );
185
+ if (-1 < name .indexOf ("." )) {
186
+ // Permission string contains path
187
+ newbie .setString ("android:name" , name );
188
+ } else {
189
+ newbie .setString ("android:name" , PERMISSION_PREFIX + name );
190
+ }
179
191
}
180
192
save ();
181
193
}
You can’t perform that action at this time.
0 commit comments