19e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhampackage com.xtremelabs.robolectric.shadows;
29e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
39e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhamimport android.content.pm.ActivityInfo;
49e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhamimport android.content.pm.PackageManager;
59e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhamimport android.content.pm.ResolveInfo;
69e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
79e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhamimport com.xtremelabs.robolectric.Robolectric;
89e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhamimport com.xtremelabs.robolectric.internal.Implementation;
99e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhamimport com.xtremelabs.robolectric.internal.Implements;
109e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
119e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham@Implements( ResolveInfo.class )
129e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowhampublic class ShadowResolveInfo {
139e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
149e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	private String label;
159e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
169e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	@Implementation
179e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	public String loadLabel( PackageManager mgr ) { return label; }
189e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
199e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	/**
209e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	 * Non-Android accessor used to set the value returned by {@link loadLabel}
219e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	 */
229e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	public void setLabel( String l ) { label = l; }
239e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
249e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	/**
259e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	 * Non-Android accessor used for creating ResolveInfo objects
269e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	 * @param displayName
279e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	 * @param packageName
289e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	 * @return
299e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	 */
309e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	public static ResolveInfo newResolveInfo( String displayName, String packageName ) {
31784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen		return newResolveInfo( displayName, packageName, null);
32784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen	}
33784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen
34784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen	/**
35784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen	 * Non-Android accessor used for creating ResolveInfo objects
36784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen	 * @param displayName
37784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen	 * @param packageName
38784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen	 * @return
39784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen	 */
40784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen	public static ResolveInfo newResolveInfo( String displayName, String packageName, String activityName ) {
419e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
429e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham		ResolveInfo resInfo = new ResolveInfo();
439e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham		ActivityInfo actInfo = new ActivityInfo();
449e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham		actInfo.packageName = packageName;
45784a2c0d7ce374001b6d403c4d7c3106cdc551c9Jessica Chen		actInfo.name = activityName;
469e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham		resInfo.activityInfo = actInfo;
479e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham
489e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham		ShadowResolveInfo shResolve = Robolectric.shadowOf(resInfo );
499e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham		shResolve.setLabel( displayName );
509e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham		return resInfo;
519e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham	}
529e8ddf31248248145a5eeb3e21a1a9262cc719edadriancowham}
53