Home | History | Annotate | Download | only in shadows
      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