title: Is ACCESS_COARSE_LOCATION necessary if the user has already granted ACCESS_FINE_LOCATION?
body: <p>I am updating my app to work with the new Android Marshmallow permission framework and it looks like it's enough for the user to grant the ACCESS_FINE_LOCATION permission at runtime for the app to work fine. This is what I do:</p>
  
  <pre><code>public static final String[] runtimePermissions = { permission.ACCESS_FINE_LOCATION };
  
  public static final int LOCATION_PERMISSION_IDENTIFIER = 1;
  </code></pre>
  
  <p>and further down the class:</p>
  
  <pre><code>public static boolean checkConnectionPermission(final Context context) {
  
          if (Build.VERSION.SDK_INT &gt; Build.VERSION_CODES.LOLLIPOP_MR1) {
  
              if (context.checkSelfPermission(permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
  
                  return true;
              }
  
              else {
  
                  ((Activity) context).requestPermissions(runtimePermissions,
                          LOCATION_PERMISSION_IDENTIFIER);
                  return false;
              }
  
          }
  
          // since in API levels below M the permission is granted on
          // installation,
          // it is considered a given that the permission has been granted since
          // the
          // app is running. So we return true by default
  
          else {
              return true;
  
          }
  
      }
  </code></pre>
  
  <p>I am just concerned that I am overlooking something that could cause trouble in the future (the app is near-production) with Security Exception(s). </p>
  
  <p>I guess my ultimate question is: does granting FINE_LOCATION somehow auto-grant COARSE_LOCATION too?</p>