Merge "Do isAvailable() checks when accessing AirplaneEnabler." into udc-dev
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index 720a334..5b4ce1b 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -79,7 +79,7 @@
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
-        if (KEY_AIRPLANE_MODE.equals(preference.getKey())
+        if (KEY_AIRPLANE_MODE.equals(preference.getKey()) && isAvailable()
                 && mAirplaneModeEnabler.isInEcmMode()) {
             // In ECM mode launch ECM app dialog
             if (mFragment != null) {
@@ -141,12 +141,14 @@
 
     @Override
     public void onDestroy() {
-        mAirplaneModeEnabler.close();
+        if (isAvailable()) {
+            mAirplaneModeEnabler.close();
+        }
     }
 
 
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == REQUEST_CODE_EXIT_ECM) {
+        if (requestCode == REQUEST_CODE_EXIT_ECM && isAvailable()) {
             final boolean isChoiceYes = (resultCode == Activity.RESULT_OK);
             // Set Airplane mode based on the return value and checkbox state
             mAirplaneModeEnabler.setAirplaneModeInECM(isChoiceYes,
@@ -156,7 +158,7 @@
 
     @Override
     public boolean isChecked() {
-        return mAirplaneModeEnabler.isAirplaneModeOn();
+        return isAvailable() && mAirplaneModeEnabler.isAirplaneModeOn();
     }
 
     @Override
@@ -164,7 +166,9 @@
         if (isChecked() == isChecked) {
             return false;
         }
-        mAirplaneModeEnabler.setAirplaneMode(isChecked);
+        if (isAvailable()) {
+            mAirplaneModeEnabler.setAirplaneMode(isChecked);
+        }
         return true;
     }