Home | History | Annotate | Download | only in shadows
      1 package org.robolectric.shadows;
      2 
      3 import android.app.Activity;
      4 import android.app.PendingIntent;
      5 import android.content.Context;
      6 import android.content.IntentFilter;
      7 import android.nfc.NfcAdapter;
      8 import org.robolectric.annotation.Implementation;
      9 import org.robolectric.annotation.Implements;
     10 import org.robolectric.annotation.RealObject;
     11 import org.robolectric.util.ReflectionHelpers;
     12 
     13 @Implements(NfcAdapter.class)
     14 public class ShadowNfcAdapter {
     15   @RealObject NfcAdapter nfcAdapter;
     16   private boolean enabled;
     17   private Activity enabledActivity;
     18   private PendingIntent intent;
     19   private IntentFilter[] filters;
     20   private String[][] techLists;
     21   private Activity disabledActivity;
     22   private NfcAdapter.CreateNdefMessageCallback callback;
     23 
     24   @Implementation
     25   public static NfcAdapter getNfcAdapter(Context context) {
     26     return ReflectionHelpers.callConstructor(NfcAdapter.class);
     27   }
     28 
     29   @Implementation
     30   public void enableForegroundDispatch(Activity activity, PendingIntent intent, IntentFilter[] filters, String[][] techLists) {
     31     this.enabledActivity = activity;
     32     this.intent = intent;
     33     this.filters = filters;
     34     this.techLists = techLists;
     35   }
     36 
     37   @Implementation
     38   public void disableForegroundDispatch(Activity activity) {
     39     disabledActivity = activity;
     40   }
     41 
     42   @Implementation
     43   public void setNdefPushMessageCallback(NfcAdapter.CreateNdefMessageCallback callback, Activity activity, Activity... activities) {
     44     this.callback = callback;
     45   }
     46 
     47   @Implementation
     48   public boolean isEnabled() {
     49     return enabled;
     50   }
     51 
     52   public void setEnabled(boolean enabled) {
     53     this.enabled = enabled;
     54   }
     55 
     56   public Activity getEnabledActivity() {
     57     return enabledActivity;
     58   }
     59 
     60   public PendingIntent getIntent() {
     61     return intent;
     62   }
     63 
     64   public IntentFilter[] getFilters() {
     65     return filters;
     66   }
     67 
     68   public String[][] getTechLists() {
     69     return techLists;
     70   }
     71 
     72   public Activity getDisabledActivity() {
     73     return disabledActivity;
     74   }
     75 
     76   public NfcAdapter.CreateNdefMessageCallback getNdefPushMessageCallback() {
     77     return callback;
     78   }
     79 }
     80