Merge "Revert "svc(nfc): Use NfcAdapter API to enable/disable"" into main
diff --git a/cmds/svc/src/com/android/commands/svc/NfcCommand.java b/cmds/svc/src/com/android/commands/svc/NfcCommand.java
index 870e007..020ca33 100644
--- a/cmds/svc/src/com/android/commands/svc/NfcCommand.java
+++ b/cmds/svc/src/com/android/commands/svc/NfcCommand.java
@@ -16,10 +16,10 @@
package com.android.commands.svc;
-import android.app.ActivityThread;
import android.content.Context;
-import android.nfc.NfcAdapter;
-import android.nfc.NfcManager;
+import android.nfc.INfcAdapter;
+import android.os.RemoteException;
+import android.os.ServiceManager;
public class NfcCommand extends Svc.Command {
@@ -42,24 +42,27 @@
@Override
public void run(String[] args) {
- Context context = ActivityThread.systemMain().getSystemContext();
- NfcManager nfcManager = context.getSystemService(NfcManager.class);
- if (nfcManager == null) {
- System.err.println("Got a null NfcManager, is the system running?");
- return;
- }
- NfcAdapter adapter = nfcManager.getDefaultAdapter();
+ INfcAdapter adapter = INfcAdapter.Stub.asInterface(
+ ServiceManager.getService(Context.NFC_SERVICE));
+
if (adapter == null) {
System.err.println("Got a null NfcAdapter, is the system running?");
return;
}
- if (args.length == 2 && "enable".equals(args[1])) {
- adapter.enable();
- return;
- } else if (args.length == 2 && "disable".equals(args[1])) {
- adapter.disable(true);
+
+ try {
+ if (args.length == 2 && "enable".equals(args[1])) {
+ adapter.enable();
+ return;
+ } else if (args.length == 2 && "disable".equals(args[1])) {
+ adapter.disable(true);
+ return;
+ }
+ } catch (RemoteException e) {
+ System.err.println("NFC operation failed: " + e);
return;
}
+
System.err.println(longHelp());
}