@@ -94,10 +94,12 @@ public NewPermissionInfo(String name, int sdkVersion, int fileVersion) {
9494 public static class SplitPermissionInfo {
9595 public final String rootPerm ;
9696 public final String [] newPerms ;
97+ public final int targetSdk ;
9798
98- public SplitPermissionInfo (String rootPerm , String [] newPerms ) {
99+ public SplitPermissionInfo (String rootPerm , String [] newPerms , int targetSdk ) {
99100 this .rootPerm = rootPerm ;
100101 this .newPerms = newPerms ;
102+ this .targetSdk = targetSdk ;
101103 }
102104 }
103105
@@ -126,7 +128,14 @@ public SplitPermissionInfo(String rootPerm, String[] newPerms) {
126128 public static final PackageParser .SplitPermissionInfo SPLIT_PERMISSIONS [] =
127129 new PackageParser .SplitPermissionInfo [] {
128130 new PackageParser .SplitPermissionInfo (android .Manifest .permission .WRITE_EXTERNAL_STORAGE ,
129- new String [] { android .Manifest .permission .READ_EXTERNAL_STORAGE })
131+ new String [] { android .Manifest .permission .READ_EXTERNAL_STORAGE },
132+ android .os .Build .VERSION_CODES .CUR_DEVELOPMENT +1 ),
133+ new PackageParser .SplitPermissionInfo (android .Manifest .permission .READ_CONTACTS ,
134+ new String [] { android .Manifest .permission .READ_CALL_LOG },
135+ android .os .Build .VERSION_CODES .JELLY_BEAN ),
136+ new PackageParser .SplitPermissionInfo (android .Manifest .permission .WRITE_CONTACTS ,
137+ new String [] { android .Manifest .permission .WRITE_CALL_LOG },
138+ android .os .Build .VERSION_CODES .JELLY_BEAN )
130139 };
131140
132141 private String mArchiveSourcePath ;
@@ -1293,7 +1302,8 @@ private Package parsePackage(
12931302 for (int is =0 ; is <NS ; is ++) {
12941303 final PackageParser .SplitPermissionInfo spi
12951304 = PackageParser .SPLIT_PERMISSIONS [is ];
1296- if (!pkg .requestedPermissions .contains (spi .rootPerm )) {
1305+ if (pkg .applicationInfo .targetSdkVersion >= spi .targetSdk
1306+ || !pkg .requestedPermissions .contains (spi .rootPerm )) {
12971307 break ;
12981308 }
12991309 for (int in =0 ; in <spi .newPerms .length ; in ++) {
0 commit comments