1 package org.robolectric.shadows; 2 3 import android.appwidget.AppWidgetHost; 4 import android.appwidget.AppWidgetHostView; 5 import android.appwidget.AppWidgetProviderInfo; 6 import android.content.Context; 7 import org.robolectric.Shadows; 8 import org.robolectric.annotation.Implementation; 9 import org.robolectric.annotation.Implements; 10 import org.robolectric.annotation.RealObject; 11 12 @Implements(AppWidgetHost.class) 13 public class ShadowAppWidgetHost { 14 @RealObject 15 private AppWidgetHost realAppWidgetHost; 16 17 private Context context; 18 private int hostId; 19 private int appWidgetIdToAllocate; 20 21 @Implementation 22 public void __constructor__(Context context, int hostId) { 23 this.context = context; 24 this.hostId = hostId; 25 } 26 27 public Context getContext() { 28 return context; 29 } 30 31 public int getHostId() { 32 return hostId; 33 } 34 35 public void setAppWidgetIdToAllocate(int idToAllocate) { 36 appWidgetIdToAllocate = idToAllocate; 37 } 38 39 @Implementation 40 public int allocateAppWidgetId() { 41 return appWidgetIdToAllocate; 42 } 43 44 @Implementation 45 public AppWidgetHostView createView(Context context, int appWidgetId, 46 AppWidgetProviderInfo appWidget) { 47 AppWidgetHostView hostView = new AppWidgetHostView(context); 48 hostView.setAppWidget(appWidgetId, appWidget); 49 Shadows.shadowOf(hostView).setHost(realAppWidgetHost); 50 return hostView; 51 } 52 } 53