summaryrefslogtreecommitdiff
path: root/nfc-extras/java/com
diff options
context:
space:
mode:
author Roshan Pius <rpius@google.com> 2023-10-23 10:28:07 -0700
committer Roshan Pius <rpius@google.com> 2023-10-23 10:30:05 -0700
commitaff3d1fd296b931e48f6c2a266c5ad17fb190611 (patch)
tree7424401574ba2e323ec7c722850cf9e8048c26cf /nfc-extras/java/com
parentedf7367aeaae4e233b6efeb401fbd614411eff72 (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.java15
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;