Skip to content

Instantly share code, notes, and snippets.

@pavlospt
Last active October 4, 2020 19:33
Show Gist options
  • Save pavlospt/00242d5102ac8f76e169 to your computer and use it in GitHub Desktop.
Save pavlospt/00242d5102ac8f76e169 to your computer and use it in GitHub Desktop.
Gist showing an example of both usages of the RemoteViewsTarget feature in Glide image loading library!
public class WidgetProvider extends AppWidgetProvider {
private TextView mUserAndTimeTextView;
private TextView mLinkTitleTextView;
private ImageView mContentPreviewImageView;
private RelativeLayout mWidgetLayout;
private RemoteViews mRemoteViews;
private ComponentName mComponentName;
private AppWidgetManager mAppWidgetManager;
private String TAG = WidgetProvider.class.getSimpleName();
private RemoteViewsTarget mRemoteViewsTarget;
@Override
public void onEnabled(Context context) {
super.onEnabled(context);
mRemoteViews = new RemoteViews(context.getPackageName(),
R.layout.layout_widget);
mComponentName = new ComponentName(context, WidgetProvider.class);
mAppWidgetManager = AppWidgetManager.getInstance(context);
int[] appWidgetIds = mAppWidgetManager.getAppWidgetIds(mComponentName);
//Using appWidgetIds.
mRemoteViewsTarget = new RemoteViewsTarget(mRemoteViews,context,R.id.iv_logo_white,100,100,appWidgetIds) {};
Glide.with(context)
.load("http://crackberry.com/sites/crackberry.com/files/styles/large/public/topic_images/2013/ANDROID.png")
.asBitmap()
.into(mRemoteViewsTarget);
}
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
mRemoteViews = new RemoteViews(context.getPackageName(),
R.layout.layout_widget);
mComponentName = new ComponentName(context, WidgetProvider.class);
mAppWidgetManager = AppWidgetManager.getInstance(context);
//Using ComponentName.
mRemoteViewsTarget = new RemoteViewsTarget(mRemoteViews,context,R.id.iv_logo_white,100,100,mComponentName) {};
Glide.with(context)
.load("http://crackberry.com/sites/crackberry.com/files/styles/large/public/topic_images/2013/ANDROID.png")
.asBitmap()
.into(mRemoteViewsTarget);
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
mRemoteViews = new RemoteViews(context.getPackageName(),
R.layout.layout_widget);
mComponentName = new ComponentName(context, WidgetProvider.class);
mRemoteViewsTarget = new RemoteViewsTarget(mRemoteViews,context,R.id.iv_logo_white,100,100,mComponentName) {};
Glide.with(context)
.load("http://crackberry.com/sites/crackberry.com/files/styles/large/public/topic_images/2013/ANDROID.png")
.asBitmap()
.into(mRemoteViewsTarget);
}
}
@andria-dev
Copy link

Anyone else that stumbles across this, in the most up-to-date repo, it seems they've changed RemoteViewsTarget to AppWidgetTarget

@andria-dev
Copy link

And .asBitmap() would come before .load() in the newer versions too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment