aboutsummaryrefslogtreecommitdiff
path: root/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowNfcAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowNfcAdapter.java')
-rw-r--r--v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowNfcAdapter.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowNfcAdapter.java b/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowNfcAdapter.java
new file mode 100644
index 000000000..6ff7a524c
--- /dev/null
+++ b/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowNfcAdapter.java
@@ -0,0 +1,73 @@
+package com.xtremelabs.robolectric.shadows;
+
+import android.app.Activity;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.IntentFilter;
+import android.nfc.NfcAdapter;
+import com.xtremelabs.robolectric.internal.Implementation;
+import com.xtremelabs.robolectric.internal.Implements;
+import com.xtremelabs.robolectric.internal.RealObject;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+@Implements(NfcAdapter.class)
+public class ShadowNfcAdapter {
+ @RealObject NfcAdapter nfcAdapter;
+ private Activity enabledActivity;
+ private PendingIntent intent;
+ private IntentFilter[] filters;
+ private String[][] techLists;
+ private Activity disabledActivity;
+
+ @Implementation
+ public static NfcAdapter getDefaultAdapter(Context context) {
+ try {
+ Constructor<NfcAdapter> constructor = NfcAdapter.class.getDeclaredConstructor();
+ constructor.setAccessible(true);
+ return constructor.newInstance();
+ } catch (InstantiationException e) {
+ throw new RuntimeException(e);
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException(e);
+ } catch (InvocationTargetException e) {
+ throw new RuntimeException(e);
+ } catch (NoSuchMethodException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Implementation
+ public void enableForegroundDispatch(Activity activity, PendingIntent intent, IntentFilter[] filters, String[][] techLists) {
+ this.enabledActivity = activity;
+ this.intent = intent;
+ this.filters = filters;
+ this.techLists = techLists;
+ }
+
+ @Implementation
+ public void disableForegroundDispatch(Activity activity) {
+ disabledActivity = activity;
+ }
+
+ public Activity getEnabledActivity() {
+ return enabledActivity;
+ }
+
+ public PendingIntent getIntent() {
+ return intent;
+ }
+
+ public IntentFilter[] getFilters() {
+ return filters;
+ }
+
+ public String[][] getTechLists() {
+ return techLists;
+ }
+
+ public Activity getDisabledActivity() {
+ return disabledActivity;
+ }
+}