Add capability to ignore carrier entitlement checks
Boolean to check to ignore carrier entitlement check. API to follow later. Carrier configuration manager has an option to override tethering entitlement checks. Ignore entitlement checks if overridden by the carrier configuration flag. bug:23712807 Change-Id: I6c9b3b9994279e592db304debef54809338fe9cf
This commit is contained in:
@@ -25,6 +25,7 @@ import android.net.wifi.WifiManager;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
|
||||
public class TetherUtil {
|
||||
|
||||
@@ -62,6 +63,13 @@ public class TetherUtil {
|
||||
return wifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED;
|
||||
}
|
||||
|
||||
private static boolean isEntitlementCheckRequired(Context context) {
|
||||
final CarrierConfigManager configManager = (CarrierConfigManager) context
|
||||
.getSystemService(Context.CARRIER_CONFIG_SERVICE);
|
||||
return configManager.getConfig().getBoolean(CarrierConfigManager
|
||||
.KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL);
|
||||
}
|
||||
|
||||
public static boolean isProvisioningNeeded(Context context) {
|
||||
// Keep in sync with other usage of config_mobile_hotspot_provision_app.
|
||||
// ConnectivityManager#enforceTetherChangePermission
|
||||
@@ -71,6 +79,10 @@ public class TetherUtil {
|
||||
|| provisionApp == null) {
|
||||
return false;
|
||||
}
|
||||
// Check carrier config for entitlement checks
|
||||
if (isEntitlementCheckRequired(context) == false) {
|
||||
return false;
|
||||
}
|
||||
return (provisionApp.length == 2);
|
||||
}
|
||||
|
||||
|
||||
@@ -77,6 +77,15 @@ public class CarrierConfigManager {
|
||||
/** Flag indicating if the phone is a world phone */
|
||||
public static final String KEY_WORLD_PHONE_BOOL = "world_phone_bool";
|
||||
|
||||
/**
|
||||
* Flag to require or skip entitlement checks.
|
||||
* If true, entitlement checks will be executed if device has been configured for it,
|
||||
* If false, entitlement checks will be skipped.
|
||||
* @hide
|
||||
*/
|
||||
public static final String
|
||||
KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL = "require_entitlement_checks_bool";
|
||||
|
||||
/**
|
||||
* If true, enable vibration (haptic feedback) for key presses in the EmergencyDialer activity.
|
||||
* The pattern is set on a per-platform basis using config_virtualKeyVibePattern. To be
|
||||
@@ -495,6 +504,7 @@ public class CarrierConfigManager {
|
||||
sDefaults.putBoolean(KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL, false);
|
||||
sDefaults.putBoolean(KEY_VOICE_PRIVACY_DISABLE_UI_BOOL, false);
|
||||
sDefaults.putBoolean(KEY_WORLD_PHONE_BOOL, false);
|
||||
sDefaults.putBoolean(KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL, true);
|
||||
sDefaults.putInt(KEY_VOLTE_REPLACEMENT_RAT_INT, 0);
|
||||
sDefaults.putString(KEY_DEFAULT_SIM_CALL_MANAGER_STRING, "");
|
||||
sDefaults.putString(KEY_VVM_DESTINATION_NUMBER_STRING, "");
|
||||
|
||||
Reference in New Issue
Block a user