diff options
-rwxr-xr-x | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/com/android/settings/nfc/NfcEnabler.java | 30 |
2 files changed, 13 insertions, 19 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index c210597..6b2b2ff 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -783,7 +783,7 @@ <!-- Used in the 1st-level settings screen to turn on NFC --> <string name="nfc_quick_toggle_title">NFC</string> <!-- Used in the 1st-level settings screen as the turn-on summary --> - <string name="nfc_quick_toggle_summary">Turn on NFC</string> + <string name="nfc_quick_toggle_summary">Use Near Field Communication to read Tags and exchange Tags</string> <!-- Wi-Fi Settings --> <skip /> <!-- Used in the 1st-level settings screen to turn on Wi-Fi --> diff --git a/src/com/android/settings/nfc/NfcEnabler.java b/src/com/android/settings/nfc/NfcEnabler.java index 8bd9654..4653c3a 100644 --- a/src/com/android/settings/nfc/NfcEnabler.java +++ b/src/com/android/settings/nfc/NfcEnabler.java @@ -17,9 +17,8 @@ package com.android.settings.nfc; import com.android.settings.R; -import com.trustedlogic.trustednfc.android.NfcException; -import com.trustedlogic.trustednfc.android.NfcManager; import android.content.Context; +import android.nfc.NfcAdapter; import android.preference.Preference; import android.preference.CheckBoxPreference; import android.provider.Settings; @@ -35,23 +34,23 @@ public class NfcEnabler implements Preference.OnPreferenceChangeListener { private final Context mContext; private final CheckBoxPreference mCheckbox; - private final NfcManager mNfcManager; + private final NfcAdapter mNfcAdapter; private boolean mNfcState; public NfcEnabler(Context context, CheckBoxPreference checkBoxPreference) { mContext = context; mCheckbox = checkBoxPreference; - mNfcManager = (NfcManager) context.getSystemService(Context.NFC_SERVICE); + mNfcAdapter = NfcAdapter.getDefaultAdapter(); - if (mNfcManager == null) { + if (mNfcAdapter == null) { // NFC is not supported mCheckbox.setEnabled(false); } } public void resume() { - if (mNfcManager == null) { + if (mNfcAdapter == null) { return; } mCheckbox.setOnPreferenceChangeListener(this); @@ -61,7 +60,7 @@ public class NfcEnabler implements Preference.OnPreferenceChangeListener { } public void pause() { - if (mNfcManager == null) { + if (mNfcAdapter == null) { return; } mCheckbox.setOnPreferenceChangeListener(null); @@ -77,18 +76,13 @@ public class NfcEnabler implements Preference.OnPreferenceChangeListener { private void setEnabled() { if (mNfcState) { - try { - mNfcManager.enable(); - } catch (NfcException e) { - Log.w(TAG, "NFC enabling failed: " + e.getMessage()); + if (!mNfcAdapter.enableTagDiscovery()) { + Log.w(TAG, "NFC enabling failed"); mNfcState = false; } - } else { - try { - mNfcManager.disable(); - } catch (NfcException e) { - Log.w(TAG, "NFC disabling failed: " + e.getMessage()); + if (!mNfcAdapter.disableTagDiscovery()) { + Log.w(TAG, "NFC disabling failed"); mNfcState = true; } } @@ -98,9 +92,9 @@ public class NfcEnabler implements Preference.OnPreferenceChangeListener { private void updateUi() { mCheckbox.setChecked(mNfcState); if (mNfcState) { - mCheckbox.setSummary(R.string.nfc_quick_toggle_summary); + mCheckbox.setSummary(null); } else { - mCheckbox.setSummary(""); + mCheckbox.setSummary(R.string.nfc_quick_toggle_summary); } } }
\ No newline at end of file |