Pass package name to `NfcService.setObserveMode()`
Bug: 341381728
Test: atest CtsNfcTestCases
Merged-In: I0c2376cfa8bb7ae0e231d2efde03e1fa56649b6a
Change-Id: I0c2376cfa8bb7ae0e231d2efde03e1fa56649b6a
diff --git a/nfc/java/android/nfc/INfcAdapter.aidl b/nfc/java/android/nfc/INfcAdapter.aidl
index 7cd7e7ab..7150b54 100644
--- a/nfc/java/android/nfc/INfcAdapter.aidl
+++ b/nfc/java/android/nfc/INfcAdapter.aidl
@@ -91,7 +91,7 @@
boolean enableReaderOption(boolean enable);
boolean isObserveModeSupported();
boolean isObserveModeEnabled();
- boolean setObserveMode(boolean enabled);
+ boolean setObserveMode(boolean enabled, String pkg);
@JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)")
boolean setWlcEnabled(boolean enable);
diff --git a/nfc/java/android/nfc/NfcAdapter.java b/nfc/java/android/nfc/NfcAdapter.java
index 06098de..698df28 100644
--- a/nfc/java/android/nfc/NfcAdapter.java
+++ b/nfc/java/android/nfc/NfcAdapter.java
@@ -1268,8 +1268,12 @@
@FlaggedApi(Flags.FLAG_NFC_OBSERVE_MODE)
public boolean setObserveModeEnabled(boolean enabled) {
+ if (mContext == null) {
+ throw new UnsupportedOperationException("You need a context on NfcAdapter to use the "
+ + " observe mode APIs");
+ }
try {
- return sService.setObserveMode(enabled);
+ return sService.setObserveMode(enabled, mContext.getPackageName());
} catch (RemoteException e) {
attemptDeadServiceRecovery(e);
return false;