1package com.xtremelabs.robolectric.shadows; 2 3import android.content.IntentFilter; 4import com.xtremelabs.robolectric.internal.Implementation; 5import com.xtremelabs.robolectric.internal.Implements; 6 7import java.util.ArrayList; 8import java.util.Iterator; 9import java.util.List; 10 11/** 12 * Shadow of {@code IntentFilter} implemented with a {@link java.util.List} 13 */ 14@SuppressWarnings({"UnusedDeclaration"}) 15@Implements(IntentFilter.class) 16public class ShadowIntentFilter { 17 List<String> actions = new ArrayList<String>(); 18 List<String> schemes = new ArrayList<String>(); 19 List<IntentFilter.AuthorityEntry> authoritites = new ArrayList<IntentFilter.AuthorityEntry>(); 20 21 public void __constructor__(String action) { 22 actions.add(action); 23 } 24 25 @Implementation 26 public void addAction(String action) { 27 actions.add(action); 28 } 29 30 @Implementation 31 public String getAction(int index) { 32 return actions.get(index); 33 } 34 35 @Implementation 36 public int countActions() { 37 return actions.size(); 38 } 39 40 @Implementation 41 public Iterator<String> actionsIterator() { 42 return actions.iterator(); 43 } 44 45 @Implementation 46 public boolean matchAction(String action) { 47 return actions.contains(action); 48 } 49 50 @Implementation 51 public void addDataAuthority(String host, String port) { 52 authoritites.add(new IntentFilter.AuthorityEntry(host, port)); 53 } 54 55 @Implementation 56 public final IntentFilter.AuthorityEntry getDataAuthority(int index) { 57 return authoritites.get(index); 58 } 59 60 @Implementation 61 public void addDataScheme(String scheme) { 62 schemes.add(scheme); 63 } 64 65 @Implementation 66 public String getDataScheme(int index) { 67 return schemes.get(index); 68 } 69} 70