package com.polidea.rxandroidble.internal.util; import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; import android.os.Process; import javax.inject.Inject; public class CheckerLocationPermission { private final Context context; @Inject public CheckerLocationPermission(Context context) { this.context = context; } boolean isLocationPermissionGranted() { return isPermissionGranted(Manifest.permission.ACCESS_COARSE_LOCATION) || isPermissionGranted(Manifest.permission.ACCESS_FINE_LOCATION); } /** * Copied from android.support.v4.content.ContextCompat for backwards compatibility * @param permission the permission to check * @return true is granted */ private boolean isPermissionGranted(String permission) { if (permission == null) { throw new IllegalArgumentException("permission is null"); } return context.checkPermission(permission, android.os.Process.myPid(), Process.myUid()) == PackageManager.PERMISSION_GRANTED; } }