diff options
| -rw-r--r-- | core/java/android/nfc/NfcAdapter.java | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java index 90e01ebe6205..41927b18de64 100644 --- a/core/java/android/nfc/NfcAdapter.java +++ b/core/java/android/nfc/NfcAdapter.java @@ -774,6 +774,16 @@ public final class NfcAdapter { return sService.getNfcDtaInterface(mContext.getPackageName()); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return null; + } + try { + return sService.getNfcDtaInterface(mContext.getPackageName()); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return null; } } @@ -836,6 +846,16 @@ public final class NfcAdapter { return sService.getState() == STATE_ON; } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return false; + } + try { + return sService.getState() == STATE_ON; + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return false; } } @@ -859,6 +879,16 @@ public final class NfcAdapter { return sService.getState(); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return NfcAdapter.STATE_OFF; + } + try { + return sService.getState(); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return NfcAdapter.STATE_OFF; } } @@ -886,6 +916,16 @@ public final class NfcAdapter { return sService.enable(); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return false; + } + try { + return sService.enable(); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return false; } } @@ -915,6 +955,16 @@ public final class NfcAdapter { return sService.disable(true); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return false; + } + try { + return sService.disable(true); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return false; } } @@ -930,6 +980,16 @@ public final class NfcAdapter { return sService.disable(persist); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return false; + } + try { + return sService.disable(persist); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return false; } } @@ -1763,6 +1823,16 @@ public final class NfcAdapter { return sService.setNfcSecure(enable); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return false; + } + try { + return sService.setNfcSecure(enable); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return false; } } @@ -1781,6 +1851,16 @@ public final class NfcAdapter { return sService.deviceSupportsNfcSecure(); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return false; + } + try { + return sService.deviceSupportsNfcSecure(); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return false; } } @@ -1801,6 +1881,16 @@ public final class NfcAdapter { return sService.isNfcSecureEnabled(); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return false; + } + try { + return sService.isNfcSecureEnabled(); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return false; } } @@ -2088,6 +2178,16 @@ public final class NfcAdapter { return sService.getNfcAdapterExtrasInterface(mContext.getPackageName()); } catch (RemoteException e) { attemptDeadServiceRecovery(e); + // Try one more time + if (sService == null) { + Log.e(TAG, "Failed to recover NFC Service."); + return null; + } + try { + return sService.getNfcAdapterExtrasInterface(mContext.getPackageName()); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to recover NFC Service."); + } return null; } } |