From 87e801411721932a4e74e84ec96d185a64875df5 Mon Sep 17 00:00:00 2001 From: Rebecca Silberstein Date: Tue, 4 Oct 2016 13:53:33 -0700 Subject: [PATCH] Tethering: check if configManager is null cherry-picked from b07f1409045091476e5296f9b0dd41c8712fe49a Before attempting to retrieve a carrier entitlement setting, first make sure we have a carrier config manager and if we do have a carrier config manager, the config it holds is not null. Bug: 31929638 Test: unittests coming in follow on CL Change-Id: Iee476c476cb3de109cdccbd955b7fb986dd4267b --- .../com/android/server/connectivity/Tethering.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java index b3d5efa652673..1ca771f389405 100644 --- a/services/core/java/com/android/server/connectivity/Tethering.java +++ b/services/core/java/com/android/server/connectivity/Tethering.java @@ -404,11 +404,13 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering // Check carrier config for entitlement checks final CarrierConfigManager configManager = (CarrierConfigManager) mContext .getSystemService(Context.CARRIER_CONFIG_SERVICE); - boolean isEntitlementCheckRequired = configManager.getConfig().getBoolean( - CarrierConfigManager.KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL); - - if (!isEntitlementCheckRequired) { - return false; + if (configManager != null && configManager.getConfig() != null) { + // we do have a CarrierConfigManager and it has a config. + boolean isEntitlementCheckRequired = configManager.getConfig().getBoolean( + CarrierConfigManager.KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL); + if (!isEntitlementCheckRequired) { + return false; + } } return (provisionApp.length == 2); }