Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From my Fragment I send:
- public void sendToWidget(Subreddit subreddit) {
- Context context = getActivity();
- currentSubreddit = subreddit;
- if (context != null) {
- SharedPreferences prefs = context.getSharedPreferences("widget_prefs", Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = prefs.edit();
- editor.putString("name", currentSubreddit.getName());
- editor.commit();
- Log.d(TAG, "sendToWidget: " + subreddit.getName());
- }
- }
- //-----------------------------------------------------
- Here's my Service:
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- RemoteViews views = getPrefs(this);
- ComponentName theWidget = new ComponentName(this, TrendyWidgetProvider.class);
- AppWidgetManager manager = AppWidgetManager.getInstance(this);
- manager.updateAppWidget(theWidget, views);
- Log.d(TAG, "onStartCommand: " + mSubreddit.getName());
- return super.onStartCommand(intent, flags, startId);
- }
- private RemoteViews getPrefs(Context context) {
- mSubreddit = new Subreddit();
- // context = getApplicationContext();
- SharedPreferences prefs = context.getSharedPreferences("widget_prefs", Context.MODE_PRIVATE);
- String imgUrl = prefs.getString("icon", mSubreddit.getIconUrl());
- String name = prefs.getString("title", mSubreddit.getName());
- String lastUpdate = "Last subreddit added: " + "\n" + name;
- RemoteViews views = new RemoteViews(getPackageName(), R.layout.trendy_widget);
- views.setTextViewText(R.id.trendy_title, lastUpdate);
- Log.d(TAG, "dataReceived: " + name);
- return views;
- }
- And here's my WidgetProvider
- static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
- int appWidgetId) {
- // Construct the RemoteViews object
- RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.trendy_widget);
- AppWidgetTarget target = new AppWidgetTarget(context,80, 80, R.id.trendy_img, views, appWidgetId);
- views.setTextViewText(R.id.trendy_title, Integer.toString(mCounter));
- appWidgetManager.updateAppWidget(appWidgetId, views);
- }
- @Override
- public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
- for (int appWidgetId : appWidgetIds) {
- updateAppWidget(context, appWidgetManager, appWidgetId);
- }
- context.startService(new Intent(context, UpdateIntentService.class));
- Intent intent = new Intent(context, SearchActivity.class);
- PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
- RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.trendy_widget);
- views.setOnClickPendingIntent(R.id.widget_container, pendingIntent);
- appWidgetManager.updateAppWidget(appWidgetIds, views);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement