Fix bug #15173703 Crash in Settings is observed when Android Beam page orientation is changed. DO NOT MERGE

- use onActivityCreated() / onResume() / onPause() for the SwitchBar

Change-Id: I24b346fdc5c19acedbe845d3b7697718412b5e5d
(cherry picked from commit 4c42a88828a8df9e00ce66216fe0ef9f0d89464d)
diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java
index 2d8d6fe..eb3ff9b 100644
--- a/src/com/android/settings/nfc/AndroidBeam.java
+++ b/src/com/android/settings/nfc/AndroidBeam.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.nfc;
 
+import android.app.ActionBar;
 import android.app.Fragment;
 import android.nfc.NfcAdapter;
 import android.os.Bundle;
@@ -39,16 +40,12 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        SettingsActivity activity = (SettingsActivity) getActivity();
+        final ActionBar actionBar = getActivity().getActionBar();
 
-        mOldActivityTitle = activity.getActionBar().getTitle();
-        activity.getActionBar().setTitle(R.string.android_beam_settings_title);
+        mOldActivityTitle = actionBar.getTitle();
+        actionBar.setTitle(R.string.android_beam_settings_title);
 
         mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity());
-
-        mSwitchBar = activity.getSwitchBar();
-        mSwitch = mSwitchBar.getSwitch();
-        mSwitch.setChecked(mNfcAdapter.isNdefPushEnabled());
     }
 
     @Override
@@ -56,18 +53,39 @@
             Bundle savedInstanceState) {
         mView = inflater.inflate(R.layout.android_beam, container, false);
 
+        return mView;
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        SettingsActivity activity = (SettingsActivity) getActivity();
+
+        mSwitchBar = activity.getSwitchBar();
+        mSwitch = mSwitchBar.getSwitch();
+        mSwitch.setChecked(mNfcAdapter.isNdefPushEnabled());
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
         mSwitchBar.addOnSwitchChangeListener(this);
         mSwitchBar.show();
-        mSwitch.setChecked(mNfcAdapter.isNdefPushEnabled());
+    }
 
-        return mView;
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        mSwitchBar.removeOnSwitchChangeListener(this);
+        mSwitchBar.hide();
     }
 
     @Override
     public void onDestroyView() {
         super.onDestroyView();
-        mSwitchBar.removeOnSwitchChangeListener(this);
-        mSwitchBar.hide();
         if (mOldActivityTitle != null) {
             getActivity().getActionBar().setTitle(mOldActivityTitle);
         }