summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index b88165ef0f24..a7542d70c0e0 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -491,6 +491,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
*/
final boolean mIsWatch;
+ /**
+ * Whether this device has the telephony feature.
+ */
+ final boolean mHasTelephonyFeature;
+
private final CertificateMonitor mCertificateMonitor;
private final SecurityLogMonitor mSecurityLogMonitor;
@@ -2133,6 +2138,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
mHasFeature = mInjector.hasFeature();
mIsWatch = mInjector.getPackageManager()
.hasSystemFeature(PackageManager.FEATURE_WATCH);
+ mHasTelephonyFeature = mInjector.getPackageManager()
+ .hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
mBackgroundHandler = BackgroundThread.getHandler();
// Needed when mHasFeature == false, because it controls the certificate warning text.
@@ -12927,7 +12934,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
@Override
public int addOverrideApn(@NonNull ComponentName who, @NonNull ApnSetting apnSetting) {
- if (!mHasFeature) {
+ if (!mHasFeature || !mHasTelephonyFeature) {
return -1;
}
Preconditions.checkNotNull(who, "ComponentName is null in addOverrideApn");
@@ -12956,7 +12963,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
@Override
public boolean updateOverrideApn(@NonNull ComponentName who, int apnId,
@NonNull ApnSetting apnSetting) {
- if (!mHasFeature) {
+ if (!mHasFeature || !mHasTelephonyFeature) {
return false;
}
Preconditions.checkNotNull(who, "ComponentName is null in updateOverrideApn");
@@ -12978,7 +12985,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
@Override
public boolean removeOverrideApn(@NonNull ComponentName who, int apnId) {
- if (!mHasFeature) {
+ if (!mHasFeature || !mHasTelephonyFeature) {
return false;
}
Preconditions.checkNotNull(who, "ComponentName is null in removeOverrideApn");
@@ -13004,7 +13011,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
@Override
public List<ApnSetting> getOverrideApns(@NonNull ComponentName who) {
- if (!mHasFeature) {
+ if (!mHasFeature || !mHasTelephonyFeature) {
return Collections.emptyList();
}
Preconditions.checkNotNull(who, "ComponentName is null in getOverrideApns");
@@ -13040,7 +13047,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
@Override
public void setOverrideApnsEnabled(@NonNull ComponentName who, boolean enabled) {
- if (!mHasFeature) {
+ if (!mHasFeature || !mHasTelephonyFeature) {
return;
}
Preconditions.checkNotNull(who, "ComponentName is null in setOverrideApnEnabled");
@@ -13063,7 +13070,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
@Override
public boolean isOverrideApnEnabled(@NonNull ComponentName who) {
- if (!mHasFeature) {
+ if (!mHasFeature || !mHasTelephonyFeature) {
return false;
}
Preconditions.checkNotNull(who, "ComponentName is null in isOverrideApnEnabled");