Don't ask for permissions if none are needed.
This commit is contained in:
parent
049ba6a706
commit
1a03b8fc1d
1 changed files with 20 additions and 2 deletions
|
@ -24,6 +24,7 @@ import androidx.fragment.app.Fragment;
|
|||
import com.annimon.stream.Stream;
|
||||
import com.annimon.stream.function.Consumer;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.util.LRUCache;
|
||||
import org.thoughtcrime.securesms.util.ServiceUtil;
|
||||
|
@ -36,6 +37,8 @@ import java.util.Map;
|
|||
|
||||
public class Permissions {
|
||||
|
||||
private static final String TAG = Log.tag(Permissions.class);
|
||||
|
||||
private static final Map<Integer, PermissionsRequest> OUTSTANDING = new LRUCache<>(2);
|
||||
|
||||
public static PermissionsBuilder with(@NonNull Activity activity) {
|
||||
|
@ -202,11 +205,26 @@ public class Permissions {
|
|||
}
|
||||
|
||||
private static void requestPermissions(@NonNull Activity activity, int requestCode, String... permissions) {
|
||||
ActivityCompat.requestPermissions(activity, filterNotGranted(activity, permissions), requestCode);
|
||||
String[] neededPermissions = filterNotGranted(activity, permissions);
|
||||
|
||||
if (neededPermissions.length == 0) {
|
||||
Log.i(TAG, "No permissions needed!");
|
||||
return;
|
||||
}
|
||||
|
||||
ActivityCompat.requestPermissions(activity, neededPermissions, requestCode);
|
||||
}
|
||||
|
||||
private static void requestPermissions(@NonNull Fragment fragment, int requestCode, String... permissions) {
|
||||
fragment.requestPermissions(filterNotGranted(fragment.getContext(), permissions), requestCode);
|
||||
String[] neededPermissions = filterNotGranted(fragment.requireContext(), permissions);
|
||||
|
||||
if (neededPermissions.length == 0) {
|
||||
Log.i(TAG, "No permissions needed!");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
fragment.requestPermissions(filterNotGranted(fragment.requireContext(), permissions), requestCode);
|
||||
}
|
||||
|
||||
private static String[] filterNotGranted(@NonNull Context context, String... permissions) {
|
||||
|
|
Loading…
Add table
Reference in a new issue