Handle API 29 split-permissions v2
* This new permission comes courtesy of the Q December update.
* Read external storage implies access media location
References:
* ac7b10c135%5E%21/#F1
			
			
This commit is contained in:
		
							parent
							
								
									ee1f4d3dc4
								
							
						
					
					
						commit
						fae735c468
					
				@ -511,6 +511,9 @@ public class Apk extends ValueObject implements Comparable<Apk>, Parcelable {
 | 
			
		||||
     * Also,
 | 
			
		||||
     * {@link Manifest.permission#ACCESS_FINE_LOCATION} implies
 | 
			
		||||
     * {@link Manifest.permission#ACCESS_COARSE_LOCATION}.
 | 
			
		||||
     * And,
 | 
			
		||||
     * {@link Manifest.permission#READ_EXTERNAL_STORAGE} implies
 | 
			
		||||
     * {@link Manifest.permission#ACCESS_MEDIA_LOCATION}
 | 
			
		||||
     * Many of these rules are for quite old Android versions,
 | 
			
		||||
     * so they are not included here.
 | 
			
		||||
     *
 | 
			
		||||
@ -543,6 +546,10 @@ public class Apk extends ValueObject implements Comparable<Apk>, Parcelable {
 | 
			
		||||
        if (Build.VERSION.SDK_INT >= 29 && set.contains(Manifest.permission.ACCESS_FINE_LOCATION)) {
 | 
			
		||||
            set.add(Manifest.permission.ACCESS_COARSE_LOCATION);
 | 
			
		||||
        }
 | 
			
		||||
        if (Build.VERSION.SDK_INT >= 29 && set.contains(Manifest.permission.READ_EXTERNAL_STORAGE)) {
 | 
			
		||||
            // TODO: Change the below to Manifest.permission once we target SDK 29.
 | 
			
		||||
            set.add("android.permission.ACCESS_MEDIA_LOCATION");
 | 
			
		||||
        }
 | 
			
		||||
        requestedPermissions = set.toArray(new String[set.size()]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -115,6 +115,11 @@ public class RepoXMLHandler extends DefaultHandler {
 | 
			
		||||
                    requestedPermissionsSet.contains(Manifest.permission.ACCESS_FINE_LOCATION)) {
 | 
			
		||||
                requestedPermissionsSet.add(Manifest.permission.ACCESS_COARSE_LOCATION);
 | 
			
		||||
            }
 | 
			
		||||
            if (Build.VERSION.SDK_INT >= 29 &&
 | 
			
		||||
                    requestedPermissionsSet.contains(Manifest.permission.READ_EXTERNAL_STORAGE)) {
 | 
			
		||||
                // TODO: Change the below to Manifest.permission once we target SDK 29.
 | 
			
		||||
                requestedPermissionsSet.add("android.permission.ACCESS_MEDIA_LOCATION");
 | 
			
		||||
            }
 | 
			
		||||
            int size = requestedPermissionsSet.size();
 | 
			
		||||
            curapk.requestedPermissions = requestedPermissionsSet.toArray(new String[size]);
 | 
			
		||||
            requestedPermissionsSet.clear();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user