Extend support for requestRouteToHostAddress for backward compatibility
The gnss@2.0 HAL and the framework GNSS Location Provider code is
updated in Q to not call the deprecated requestRouteToHost() method.
However, devices upgrading to Q which are still using gnss@1.1 or
earlier HAL must continued to be supported.
Fixes: 121222025
Test: Tested with gnss@1.1 HAL and first API level P. The
ConnectivityService log message "This method exists only for
app backwards compatibility and must not be called by system
services" is not present for devices with first API level P.
Change-Id: I10199776ea413dc256dbf0771e6cb3eedb334495
This commit is contained in:
@@ -133,6 +133,7 @@ import android.os.ServiceSpecificException;
|
||||
import android.os.ShellCallback;
|
||||
import android.os.ShellCommand;
|
||||
import android.os.SystemClock;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
@@ -1628,8 +1629,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
*/
|
||||
private boolean disallowedBecauseSystemCaller() {
|
||||
// TODO: start throwing a SecurityException when GnssLocationProvider stops calling
|
||||
// requestRouteToHost.
|
||||
if (isSystem(Binder.getCallingUid())) {
|
||||
// requestRouteToHost. In Q, GnssLocationProvider is changed to not call requestRouteToHost
|
||||
// for devices launched with Q and above. However, existing devices upgrading to Q and
|
||||
// above must continued to be supported for few more releases.
|
||||
if (isSystem(Binder.getCallingUid()) && SystemProperties.getInt(
|
||||
"ro.product.first_api_level", 0) > Build.VERSION_CODES.P) {
|
||||
log("This method exists only for app backwards compatibility"
|
||||
+ " and must not be called by system services.");
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user