am f40365f1: am ae0b7ca9: am c9180528: Merge "Add capability to ignore carrier entitlement checks" into mnc-dr-dev

* commit 'f40365f17a2f01612139e909039a09308001fdde':
  Add capability to ignore carrier entitlement checks
This commit is contained in:
Chris Manton
2015-09-14 17:46:23 +00:00
committed by Android Git Automerger
2 changed files with 22 additions and 0 deletions

View File

@@ -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);
}

View File

@@ -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, "");