Merge "Updated Settings Launcher icon Bug: 5286988" into ics-factoryrom
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ab9d975..4b2ccfe 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -967,19 +967,6 @@
             </intent-filter>
         </activity>
 
-        <!-- NFC settings -->
-        <activity android:name="Settings$NfcSharingSettingsActivity"
-                android:label="@string/ndef_push_settings_title"
-                android:clearTaskOnLaunch="true">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <action android:name="android.settings.NFCSHARING_SETTINGS" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.nfc.NdefPush" />
-        </activity>
-
         <!-- Accessibility tutorial -->
         <activity android:name="AccessibilityTutorialActivity"
                 android:label="@string/accessibility_tutorial_title"
diff --git a/res/drawable-hdpi/tap1.png b/res/drawable-hdpi/tap1.png
deleted file mode 100644
index 2395c0f..0000000
--- a/res/drawable-hdpi/tap1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/tap2.png b/res/drawable-hdpi/tap2.png
deleted file mode 100644
index afaa243..0000000
--- a/res/drawable-hdpi/tap2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/tap3.png b/res/drawable-hdpi/tap3.png
deleted file mode 100644
index a6b530e..0000000
--- a/res/drawable-hdpi/tap3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/tap4.png b/res/drawable-hdpi/tap4.png
deleted file mode 100644
index b07d8a6..0000000
--- a/res/drawable-hdpi/tap4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/tap5.png b/res/drawable-hdpi/tap5.png
deleted file mode 100644
index f1c8825..0000000
--- a/res/drawable-hdpi/tap5.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/tap6.png b/res/drawable-hdpi/tap6.png
deleted file mode 100644
index cc22a0b..0000000
--- a/res/drawable-hdpi/tap6.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ndef_push_anim.xml b/res/drawable/ndef_push_anim.xml
deleted file mode 100644
index 6aa7d4f..0000000
--- a/res/drawable/ndef_push_anim.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2011, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<animation-list
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:oneshot="false">
-    <item android:drawable="@drawable/tap1" android:duration="200" />
-    <item android:drawable="@drawable/tap2" android:duration="200" />
-    <item android:drawable="@drawable/tap3" android:duration="200" />
-    <item android:drawable="@drawable/tap4" android:duration="200" />
-    <item android:drawable="@drawable/tap5" android:duration="200" />
-    <item android:drawable="@drawable/tap6" android:duration="600" />
-</animation-list>
diff --git a/res/layout/ndefpush.xml b/res/layout/ndefpush.xml
deleted file mode 100644
index 6892850..0000000
--- a/res/layout/ndefpush.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:paddingLeft="6dip"
-    android:paddingRight="6dip"
-    android:layout_width="match_parent" android:layout_height="wrap_content"
-    android:scrollbars="vertical" >
-
-    <ScrollView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:fillViewport="true">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-
-            <TextView android:id="@+id/ndef_push_explained"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="20dip"
-                android:gravity="top"
-                android:text="@string/ndef_push_explained"
-            />
-            <ImageView android:id="@+id/ndef_push_image"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-            />
-            <TextView android:id="@+id/ndef_push_safety"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="20dip"
-                android:gravity="top"
-                android:text="@string/ndef_push_top"
-            />
-        </LinearLayout>
-
-    </ScrollView>
-
-</LinearLayout>
-
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index b722b78..44db767 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -520,6 +520,22 @@
         <item>IPV4V6</item>
     </string-array>
 
+    <!-- Bearer Info used in APN editor -->
+    <string-array name="bearer_entries">
+        <item>LTE</item>
+        <item>eHRPD</item>
+        <item>Unspecified</item>
+    </string-array>
+
+    <string-array translatable="false" name="bearer_values">
+        <!-- Do not translate. -->
+        <item>14</item>
+        <!-- Do not translate. -->
+        <item>13</item>
+        <!-- Do not translate. -->
+        <item>0</item>
+    </string-array>
+
     <!-- Apps on SD instalaltion location options in ApplicationSettings -->
     <string-array name="app_install_location_entries">
         <item>Internal device storage</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ba02ee8..863d66c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1110,15 +1110,6 @@
     <!-- NFC settings -->
     <!-- Used in the 1st-level settings screen to turn on NFC -->
     <string name="nfc_quick_toggle_title">NFC</string>
-    <!-- Used to enter the NdefPush sharing preferences screen -->
-    <string name="ndef_push_settings_title">ShareTap</string>
-    <string name="ndef_push_settings_summary"></string>
-    <string name="ndef_push_on_summary">On</string>
-    <string name="ndef_push_off_summary">Off</string>
-    <!-- Used in the NdefPush sharing preferences screen -->
-    <string name="ndef_push_label">ShareTap</string>
-    <string name="ndef_push_explained">Share content by touching two NFC-enabled devices back to back.</string>
-    <string name="ndef_push_top">The app on the top device\'s screen sends content to the bottom device.\n\nYour data is safe: nothing is shared unless both devices are on and unlocked.\n\nYou can turn this feature off in Settings > More > ShareTap.</string>
     <!-- Wi-Fi Settings --> <skip />
     <!-- Used in the 1st-level settings screen to turn on Wi-Fi -->
     <string name="wifi_quick_toggle_title">Wi-Fi</string>
@@ -1881,6 +1872,12 @@
     <string name="apn_type">APN type</string>
     <!-- Edit access point labels: The protocol of the APN, e.g., "IPv4", "IPv6", or "IPv4/IPv6". -->
     <string name="apn_protocol">APN protocol</string>
+    <!-- Edit enable/disable of APN -->
+    <string name="carrier_enabled">APN Enable/Disable</string>
+    <string name="carrier_enabled_summaryOn">APN Enabled</string>
+    <string name="carrier_enabled_summaryOff">APN Disabled</string>
+    <!-- Edit Beaerer Info of APN -->
+    <string name="bearer">Bearer</string>
     <!-- Edit access point screen menu option to delete this APN -->
     <string name="menu_delete">Delete APN</string>
     <!-- APNs screen menu option to create a brand spanking new APN -->
diff --git a/res/xml/apn_editor.xml b/res/xml/apn_editor.xml
index f000dd0..e3ba934 100644
--- a/res/xml/apn_editor.xml
+++ b/res/xml/apn_editor.xml
@@ -121,4 +121,17 @@
         android:entries="@array/apn_protocol_entries"
         android:entryValues="@array/apn_protocol_values"
         />
+    <CheckBoxPreference
+        android:title="@string/carrier_enabled"
+        android:key="carrier_enabled"
+        android:enabled="false"
+        android:summaryOn="@string/carrier_enabled_summaryOn"
+        android:summaryOff="@@string/carrier_enabled_summaryOff"
+        />
+    <ListPreference
+        android:title="@string/bearer"
+        android:key="bearer"
+        android:entries="@array/bearer_entries"
+        android:entryValues="@array/bearer_values"
+        />
 </PreferenceScreen>   
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
index 1e71863..7b361f2 100644
--- a/res/xml/wireless_settings.xml
+++ b/res/xml/wireless_settings.xml
@@ -38,13 +38,6 @@
         android:title="@string/nfc_quick_toggle_title"
         android:persistent="false" />
 
-    <PreferenceScreen
-        android:fragment="com.android.settings.nfc.NdefPush"
-        android:key="ndef_push_settings"
-        android:title="@string/ndef_push_settings_title"
-        android:summary="@string/ndef_push_settings_summary" >
-    </PreferenceScreen>
-
     <CheckBoxPreference
         android:key="toggle_wifi_p2p"
         android:title="@string/wifi_p2p_settings_title"
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index f98ca7e..3718ced 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -84,7 +84,7 @@
     // the AccessibilityServiceInfo we need for proper presentation.
     private static final long DELAY_UPDATE_SERVICES_PREFERENCES_MILLIS = 1000;
 
-    private static final char ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR = ':';
+    private static final String ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR = ":";
 
     private static final String KEY_ACCESSIBILITY_TUTORIAL_LAUNCHED_ONCE =
         "key_accessibility_tutorial_launched_once";
@@ -126,7 +126,7 @@
 
     // Auxiliary members.
     private final SimpleStringSplitter mStringColonSplitter =
-        new SimpleStringSplitter(ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR);
+        new SimpleStringSplitter(ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR.charAt(0));
 
     private final Map<String, String> mLongPressTimeoutValuetoTitleMap =
         new HashMap<String, String>();
@@ -572,6 +572,11 @@
             if (enabledServices == null) {
                 enabledServices = "";
             }
+            // Due to a legacy bug we can get an enabled services value ending with a
+            // separator. Make sure to catch and fix that before handling.
+            if (enabledServices.endsWith(ENABLED_ACCESSIBILITY_SERVICES_SEPARATOR)) {
+                enabledServices = enabledServices.substring(0, enabledServices.length() - 1);
+            }
             final int length = enabledServices.length();
             if (enabled) {
                 if (enabledServices.contains(preferenceKey)) {
diff --git a/src/com/android/settings/ApnEditor.java b/src/com/android/settings/ApnEditor.java
index 13b7aa5..751fd17 100644
--- a/src/com/android/settings/ApnEditor.java
+++ b/src/com/android/settings/ApnEditor.java
@@ -29,6 +29,7 @@
 import android.os.SystemProperties;
 import android.preference.EditTextPreference;
 import android.preference.ListPreference;
+import android.preference.CheckBoxPreference;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.provider.Telephony;
@@ -50,6 +51,8 @@
     private final static String SAVED_POS = "pos";
     private final static String KEY_AUTH_TYPE = "auth_type";
     private final static String KEY_PROTOCOL = "apn_protocol";
+    private final static String KEY_CARRIER_ENABLED = "carrier_enabled";
+    private final static String KEY_BEARER = "bearer";
 
     private static final int MENU_DELETE = Menu.FIRST;
     private static final int MENU_SAVE = Menu.FIRST + 1;
@@ -72,6 +75,8 @@
     private ListPreference mAuthType;
     private EditTextPreference mApnType;
     private ListPreference mProtocol;
+    private CheckBoxPreference mCarrierEnabled;
+    private ListPreference mBearer;
 
     private String mCurMnc;
     private String mCurMcc;
@@ -103,6 +108,8 @@
             Telephony.Carriers.AUTH_TYPE, // 14
             Telephony.Carriers.TYPE, // 15
             Telephony.Carriers.PROTOCOL, // 16
+            Telephony.Carriers.CARRIER_ENABLED, // 17
+            Telephony.Carriers.BEARER, // 18
     };
 
     private static final int ID_INDEX = 0;
@@ -121,6 +128,8 @@
     private static final int AUTH_TYPE_INDEX = 14;
     private static final int TYPE_INDEX = 15;
     private static final int PROTOCOL_INDEX = 16;
+    private static final int CARRIER_ENABLED_INDEX = 17;
+    private static final int BEARER_INDEX = 18;
 
 
     @Override
@@ -150,6 +159,11 @@
         mProtocol = (ListPreference) findPreference(KEY_PROTOCOL);
         mProtocol.setOnPreferenceChangeListener(this);
 
+        mCarrierEnabled = (CheckBoxPreference) findPreference(KEY_CARRIER_ENABLED);
+
+        mBearer = (ListPreference) findPreference(KEY_BEARER);
+        mBearer.setOnPreferenceChangeListener(this);
+
         mRes = getResources();
 
         final Intent intent = getIntent();
@@ -247,6 +261,8 @@
             }
 
             mProtocol.setValue(mCursor.getString(PROTOCOL_INDEX));
+            mCarrierEnabled.setChecked(mCursor.getInt(CARRIER_ENABLED_INDEX)==1);
+            mBearer.setValue(mCursor.getString(BEARER_INDEX));
         }
 
         mName.setSummary(checkNull(mName.getText()));
@@ -276,6 +292,8 @@
 
         mProtocol.setSummary(
                 checkNull(protocolDescription(mProtocol.getValue())));
+        mBearer.setSummary(
+                checkNull(bearerDescription(mBearer.getValue())));
     }
 
     /**
@@ -297,6 +315,20 @@
         }
     }
 
+    private String bearerDescription(String raw) {
+        int mBearerIndex = mBearer.findIndexOfValue(raw);
+        if (mBearerIndex == -1) {
+            return null;
+        } else {
+            String[] values = mRes.getStringArray(R.array.bearer_entries);
+            try {
+                return values[mBearerIndex];
+            } catch (ArrayIndexOutOfBoundsException e) {
+                return null;
+            }
+        }
+    }
+
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         String key = preference.getKey();
         if (KEY_AUTH_TYPE.equals(key)) {
@@ -320,6 +352,16 @@
             mProtocol.setSummary(protocol);
             mProtocol.setValue((String) newValue);
         }
+
+        if (KEY_BEARER.equals(key)) {
+            String bearer = bearerDescription((String) newValue);
+            if (bearer == null) {
+                return false;
+            }
+            mBearer.setValue((String) newValue);
+            mBearer.setSummary(bearer);
+        }
+
         return true;
     }
 
@@ -450,6 +492,11 @@
             }
         }
 
+        String bearerVal = mBearer.getValue();
+        if (bearerVal != null) {
+            values.put(Telephony.Carriers.BEARER, Integer.parseInt(bearerVal));
+        }
+
         getContentResolver().update(mUri, values, null, null);
 
         return true;
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index 0f5a491..ccbc87a 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -43,7 +43,6 @@
 
     private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
     private static final String KEY_TOGGLE_NFC = "toggle_nfc";
-    private static final String KEY_NDEF_PUSH_SETTINGS = "ndef_push_settings";
     private static final String KEY_VPN_SETTINGS = "vpn_settings";
     private static final String KEY_TOGGLE_WIFI_P2P = "toggle_wifi_p2p";
     private static final String KEY_WIFI_P2P_SETTINGS = "wifi_p2p_settings";
@@ -101,12 +100,11 @@
         final Activity activity = getActivity();
         mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
         CheckBoxPreference nfc = (CheckBoxPreference) findPreference(KEY_TOGGLE_NFC);
-        PreferenceScreen ndefPush = (PreferenceScreen) findPreference(KEY_NDEF_PUSH_SETTINGS);
 
         CheckBoxPreference wifiP2p = (CheckBoxPreference) findPreference(KEY_TOGGLE_WIFI_P2P);
 
         mAirplaneModeEnabler = new AirplaneModeEnabler(activity, mAirplaneModePreference);
-        mNfcEnabler = new NfcEnabler(activity, nfc, ndefPush);
+        mNfcEnabler = new NfcEnabler(activity, nfc);
 
         String toggleable = Settings.System.getString(activity.getContentResolver(),
                 Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
@@ -124,14 +122,12 @@
         // Manually set dependencies for NFC when not toggleable.
         if (toggleable == null || !toggleable.contains(Settings.System.RADIO_NFC)) {
             findPreference(KEY_TOGGLE_NFC).setDependency(KEY_TOGGLE_AIRPLANE);
-            findPreference(KEY_NDEF_PUSH_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
         }
 
         // Remove NFC if its not available
         mNfcAdapter = NfcAdapter.getDefaultAdapter(activity);
         if (mNfcAdapter == null) {
             getPreferenceScreen().removePreference(nfc);
-            getPreferenceScreen().removePreference(ndefPush);
             mNfcEnabler = null;
         }
 
diff --git a/src/com/android/settings/nfc/NdefPush.java b/src/com/android/settings/nfc/NdefPush.java
deleted file mode 100644
index bbe3f32..0000000
--- a/src/com/android/settings/nfc/NdefPush.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.nfc;
-
-import android.app.ActionBar;
-import android.app.Activity;
-import android.app.Fragment;
-import android.graphics.drawable.AnimationDrawable;
-import android.nfc.NfcAdapter;
-import android.os.Bundle;
-import android.os.Handler;
-import android.preference.PreferenceActivity;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CompoundButton;
-import android.widget.ImageView;
-import android.widget.Switch;
-import com.android.settings.R;
-
-public class NdefPush extends Fragment
-        implements CompoundButton.OnCheckedChangeListener {
-    private View mView;
-    private AnimationDrawable mAnimation;
-    private ImageView mImageView;
-    private NfcAdapter mNfcAdapter;
-    private Switch mActionBarSwitch;
-
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        Activity activity = getActivity();
-
-        mActionBarSwitch = new Switch(activity);
-
-        if (activity instanceof PreferenceActivity) {
-            PreferenceActivity preferenceActivity = (PreferenceActivity) activity;
-            if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
-                final int padding = activity.getResources().getDimensionPixelSize(
-                        R.dimen.action_bar_switch_padding);
-                mActionBarSwitch.setPadding(0, 0, padding, 0);
-                activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
-                        ActionBar.DISPLAY_SHOW_CUSTOM);
-                activity.getActionBar().setCustomView(mActionBarSwitch, new ActionBar.LayoutParams(
-                        ActionBar.LayoutParams.WRAP_CONTENT,
-                        ActionBar.LayoutParams.WRAP_CONTENT,
-                        Gravity.CENTER_VERTICAL | Gravity.RIGHT));
-                activity.getActionBar().setTitle(R.string.ndef_push_settings_title);
-            }
-        }
-
-        mActionBarSwitch.setOnCheckedChangeListener(this);
-
-        mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity());
-        mActionBarSwitch.setChecked(mNfcAdapter.isNdefPushEnabled());
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        mView = inflater.inflate(R.layout.ndefpush, container, false);
-        initView(mView);
-        return mView;
-    }
-
-    private void initView(View view) {
-        mActionBarSwitch.setOnCheckedChangeListener(this);
-        mActionBarSwitch.setChecked(mNfcAdapter.isNdefPushEnabled());
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        mImageView = (ImageView) getActivity().findViewById(R.id.ndef_push_image);
-        mImageView.setBackgroundResource(R.drawable.ndef_push_anim);
-        mAnimation = (AnimationDrawable) mImageView.getBackground();
-
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        mAnimation.stop();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        // This is nasty: the animation can only be started once the fragment
-        // is attached to the window, and there are no callbacks for that.
-        mImageView.post(new Runnable() {
-            public void run() {
-                mAnimation.start();
-            }
-        });
-    }
-
-    @Override
-    public void onCheckedChanged(CompoundButton buttonView, boolean desiredState) {
-        boolean success = false;
-        mActionBarSwitch.setEnabled(false);
-        if (desiredState) {
-            success = mNfcAdapter.enableNdefPush();
-        } else {
-            success = mNfcAdapter.disableNdefPush();
-        }
-        if (success) {
-            mActionBarSwitch.setChecked(desiredState);
-        }
-        mActionBarSwitch.setEnabled(true);
-    }
-}
diff --git a/src/com/android/settings/nfc/NfcEnabler.java b/src/com/android/settings/nfc/NfcEnabler.java
index 9cf117d..c7a2d60 100644
--- a/src/com/android/settings/nfc/NfcEnabler.java
+++ b/src/com/android/settings/nfc/NfcEnabler.java
@@ -21,13 +21,8 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.nfc.NfcAdapter;
-import android.os.Handler;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
-import android.preference.PreferenceScreen;
-import android.util.Log;
-
-import com.android.settings.R;
 
 /**
  * NfcEnabler is a helper to manage the Nfc on/off checkbox preference. It is
@@ -35,14 +30,10 @@
  * current state.
  */
 public class NfcEnabler implements Preference.OnPreferenceChangeListener {
-    private static final String TAG = "NfcEnabler";
-
     private final Context mContext;
     private final CheckBoxPreference mCheckbox;
-    private final PreferenceScreen mNdefPush;
     private final NfcAdapter mNfcAdapter;
     private final IntentFilter mIntentFilter;
-    private final Handler mHandler = new Handler();
 
     private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
         @Override
@@ -55,17 +46,14 @@
         }
     };
 
-    public NfcEnabler(Context context, CheckBoxPreference checkBoxPreference,
-            PreferenceScreen ndefPush) {
+    public NfcEnabler(Context context, CheckBoxPreference checkBoxPreference) {
         mContext = context;
         mCheckbox = checkBoxPreference;
-        mNdefPush = ndefPush;
         mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
 
         if (mNfcAdapter == null) {
             // NFC is not supported
             mCheckbox.setEnabled(false);
-            mNdefPush.setEnabled(false);
             mIntentFilter = null;
             return;
         }
@@ -109,28 +97,18 @@
         case NfcAdapter.STATE_OFF:
             mCheckbox.setChecked(false);
             mCheckbox.setEnabled(true);
-            mNdefPush.setEnabled(false);
-            mNdefPush.setSummary(R.string.ndef_push_settings_summary);
             break;
         case NfcAdapter.STATE_ON:
             mCheckbox.setChecked(true);
             mCheckbox.setEnabled(true);
-            mNdefPush.setEnabled(true);
-            if (mNfcAdapter.isNdefPushEnabled()) {
-                mNdefPush.setSummary(R.string.ndef_push_on_summary);
-            } else {
-                mNdefPush.setSummary(R.string.ndef_push_off_summary);
-            }
             break;
         case NfcAdapter.STATE_TURNING_ON:
             mCheckbox.setChecked(true);
             mCheckbox.setEnabled(false);
-            mNdefPush.setEnabled(false);
             break;
         case NfcAdapter.STATE_TURNING_OFF:
             mCheckbox.setChecked(false);
             mCheckbox.setEnabled(false);
-            mNdefPush.setEnabled(false);
             break;
         }
     }