Merge changes Ifcb0f60e,I09ecdff9 am: 5bc68e02a0 am: 6f4a8baa7a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1498599 Change-Id: I56d536bc3de868678e80d6cb1641e619b6410937
This commit is contained in:
@@ -678,6 +678,12 @@ public final class NfcAdapter {
|
||||
throw new IllegalArgumentException(
|
||||
"context not associated with any application (using a mock context?)");
|
||||
}
|
||||
|
||||
if (getServiceInterface() == null) {
|
||||
// NFC is not available
|
||||
return null;
|
||||
}
|
||||
|
||||
/* use getSystemService() for consistency */
|
||||
NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE);
|
||||
if (manager == null) {
|
||||
@@ -774,6 +780,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 +852,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 +885,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 +922,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 +961,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 +986,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 +1829,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 +1857,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 +1887,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 +2184,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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user