diff options
author | 2023-10-23 10:28:07 -0700 | |
---|---|---|
committer | 2023-10-23 10:30:05 -0700 | |
commit | aff3d1fd296b931e48f6c2a266c5ad17fb190611 (patch) | |
tree | 7424401574ba2e323ec7c722850cf9e8048c26cf /nfc-extras/java/com | |
parent | edf7367aeaae4e233b6efeb401fbd614411eff72 (diff) |
nfc(api): Separate out NfcExtras from nfc APIs (2/2)
Follow up CL with a missing change from aosp/2798514
Bug: 303286040
Test: Compiles
Change-Id: I74c6f37d8bbf5b420a4e9b8bd9629469ad9fefb8
Diffstat (limited to 'nfc-extras/java/com')
-rw-r--r-- | nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java b/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java index a7c6c690f852..fe8386e523b2 100644 --- a/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java +++ b/nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java @@ -76,9 +76,22 @@ public final class NfcAdapterExtras { private final NfcAdapter mAdapter; final String mPackageName; + private static INfcAdapterExtras + getNfcAdapterExtrasInterfaceFromNfcAdapter(NfcAdapter adapter) { + try { + Method method = NfcAdapter.class.getDeclaredMethod("getNfcAdapterExtrasInterface"); + method.setAccessible(true); + return (INfcAdapterExtras) method.invoke(adapter); + } catch (SecurityException | NoSuchMethodException | IllegalArgumentException + | IllegalAccessException | IllegalAccessError | InvocationTargetException e) { + Log.e(TAG, "Unable to get context from NfcAdapter"); + } + return null; + } + /** get service handles */ private static void initService(NfcAdapter adapter) { - final INfcAdapterExtras service = adapter.getNfcAdapterExtrasInterface(); + final INfcAdapterExtras service = getNfcAdapterExtrasInterfaceFromNfcAdapter(adapter); if (service != null) { // Leave stale rather than receive a null value. sService = service; |