am fddea604: am dfc8e799: Merge "Handle other providers in isAllowedProviderSafe()" into jb-mr1-dev

* commit 'fddea6042eddf6c54d30fd313f9f317f6b33ef5e':
  Handle other providers in isAllowedProviderSafe()
This commit is contained in:
Victoria Lease
2012-10-04 17:17:34 -07:00
committed by Android Git Automerger

View File

@@ -640,7 +640,27 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
== PackageManager.PERMISSION_GRANTED) ||
(mContext.checkCallingOrSelfPermission(ACCESS_COARSE_LOCATION)
== PackageManager.PERMISSION_GRANTED);
} else {
// mock providers
LocationProviderInterface lp = mMockProviders.get(provider);
if (lp != null) {
ProviderProperties properties = lp.getProperties();
if (properties != null) {
if (properties.mRequiresSatellite) {
// provider requiring satellites require FINE permission
return mContext.checkCallingOrSelfPermission(ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED;
} else if (properties.mRequiresNetwork || properties.mRequiresCell) {
// provider requiring network and or cell require COARSE or FINE
return (mContext.checkCallingOrSelfPermission(ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) ||
(mContext.checkCallingOrSelfPermission(ACCESS_COARSE_LOCATION)
== PackageManager.PERMISSION_GRANTED);
}
}
}
}
return false;
}