diff options
Diffstat (limited to 'nfc/java/android/nfc/NfcAdapter.java')
-rw-r--r-- | nfc/java/android/nfc/NfcAdapter.java | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/nfc/java/android/nfc/NfcAdapter.java b/nfc/java/android/nfc/NfcAdapter.java index 40bbe746045c..e1c18843313d 100644 --- a/nfc/java/android/nfc/NfcAdapter.java +++ b/nfc/java/android/nfc/NfcAdapter.java @@ -556,6 +556,7 @@ public final class NfcAdapter { final Context mContext; final HashMap<NfcUnlockHandler, INfcUnlockHandler> mNfcUnlockHandlers; final Object mLock; + final NfcOemExtension mNfcOemExtension; ITagRemovedCallback mTagRemovedListener; // protected by mLock @@ -864,6 +865,7 @@ public final class NfcAdapter { mLock = new Object(); mControllerAlwaysOnListener = new NfcControllerAlwaysOnListener(getService()); mNfcVendorNciCallbackListener = new NfcVendorNciCallbackListener(getService()); + mNfcOemExtension = new NfcOemExtension(mContext, this); } /** @@ -1844,10 +1846,7 @@ public final class NfcAdapter { throw new UnsupportedOperationException(); } } - mNfcActivityManager.enableReaderMode(activity, null, pollTechnology, null); - return; - } - if (pollTechnology == FLAG_READER_DISABLE) { + } else if (pollTechnology == FLAG_READER_DISABLE) { synchronized (sLock) { if (!sHasCeFeature) { throw new UnsupportedOperationException(); @@ -2919,4 +2918,19 @@ public final class NfcAdapter { void onVendorNciNotification( @IntRange(from = 9, to = 15) int gid, int oid, @NonNull byte[] payload); } + + /** + * Returns an instance of {@link NfcOemExtension} associated with {@link NfcAdapter} instance. + * @hide + */ + @SystemApi + @FlaggedApi(Flags.FLAG_NFC_OEM_EXTENSION) + @NonNull public NfcOemExtension getNfcOemExtension() { + synchronized (sLock) { + if (!sHasNfcFeature) { + throw new UnsupportedOperationException(); + } + } + return mNfcOemExtension; + } } |