diff options
Diffstat (limited to 'v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowRemoteViews.java')
-rw-r--r-- | v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowRemoteViews.java | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowRemoteViews.java b/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowRemoteViews.java deleted file mode 100644 index 8cfe38b47..000000000 --- a/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowRemoteViews.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.xtremelabs.robolectric.shadows; - -import android.app.PendingIntent; -import android.content.Context; -import android.graphics.Bitmap; -import android.view.View; -import android.widget.ImageView; -import android.widget.RemoteViews; -import android.widget.TextView; -import com.xtremelabs.robolectric.internal.Implementation; -import com.xtremelabs.robolectric.internal.Implements; -import com.xtremelabs.robolectric.res.ResourceLoader; - -import java.util.ArrayList; -import java.util.List; - -/** - * Shadow for {@code RemoteViews} that simulates its implementation. Supports pending intents for events, changing - * visibility, setting text, updating etc... - */ -@SuppressWarnings({"UnusedDeclaration"}) -@Implements(RemoteViews.class) -public class ShadowRemoteViews { - private String packageName; - private int layoutId; - private List<ViewUpdater> viewUpdaters = new ArrayList<ViewUpdater>(); - - public void __constructor__(String packageName, int layoutId) { - this.packageName = packageName; - this.layoutId = layoutId; - } - - @Implementation - public String getPackage() { - return packageName; - } - - @Implementation - public int getLayoutId() { - return layoutId; - } - - @Implementation - public void setTextViewText(int viewId, final CharSequence text) { - viewUpdaters.add(new ViewUpdater(viewId) { - @Override - public void doUpdate(View view) { - ((TextView) view).setText(text); - } - }); - } - - @Implementation - public void setOnClickPendingIntent(int viewId, final PendingIntent pendingIntent) { - viewUpdaters.add(new ViewUpdater(viewId) { - @Override void doUpdate(final View view) { - view.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - try { - pendingIntent.send(view.getContext(), 0, null); - } catch (PendingIntent.CanceledException e) { - throw new RuntimeException(e); - } - } - }); - } - }); - } - - @Implementation - public void setViewVisibility(int viewId, final int visibility) { - viewUpdaters.add(new ViewUpdater(viewId) { - @Override - public void doUpdate(View view) { - view.setVisibility(visibility); - } - }); - } - - @Implementation - public void setImageViewResource(int viewId, final int resourceId) { - viewUpdaters.add(new ViewUpdater(viewId) { - @Override - public void doUpdate(View view) { - ((ImageView) view).setImageResource(resourceId); - } - }); - } - - @Implementation - public void setImageViewBitmap(int viewId, final Bitmap bitmap) { - viewUpdaters.add(new ViewUpdater(viewId) { - @Override - public void doUpdate(View view) { - ((ImageView) view).setImageBitmap(bitmap); - } - }); - } - - @Implementation - public void reapply(Context context, View v) { - for (ViewUpdater viewUpdater : viewUpdaters) { - viewUpdater.update(v); - } - } - - private abstract class ViewUpdater { - private int viewId; - - public ViewUpdater(int viewId) { - this.viewId = viewId; - } - - final void update(View parent) { - - View view = parent.findViewById(viewId); - if (view == null) { - throw new NullPointerException("couldn't find view " + viewId - + " (" + ResourceLoader.getFrom(parent.getContext()).getNameForId(viewId) + ")"); - } - doUpdate(view); - } - - abstract void doUpdate(View view); - } -} |