Advertisement
Mujiburrohman

provider

Jul 25th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.81 KB | None | 0 0
  1. package com.zeeb.moviecataloguelocalstorage.widget;
  2.  
  3. import android.app.PendingIntent;
  4. import android.appwidget.AppWidgetManager;
  5. import android.appwidget.AppWidgetProvider;
  6. import android.content.Context;
  7. import android.content.Intent;
  8. import android.net.Uri;
  9. import android.widget.RemoteViews;
  10. import android.widget.Toast;
  11.  
  12. import com.zeeb.moviecataloguelocalstorage.R;
  13.  
  14. /**
  15.  * Implementation of App Widget functionality.
  16.  */
  17. public class MovieBanner extends AppWidgetProvider {
  18.  
  19.     private static final String TOAST_ACTION = "com.zeeb.moviecataloguelocalstorage.widget.TOAST_ACTION";
  20.     public static final String EXTRA_ITEM = "com.zeeb.moviecataloguelocalstorage.widget.EXTRA_ITEM";
  21.  
  22.     static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId) {
  23.  
  24.  
  25.         Intent intent = new Intent(context, StackWidgetService.class);
  26.         intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
  27.         intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));
  28.         RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.movie_banner);
  29.         views.setRemoteAdapter(R.id.stack_view, intent);
  30.         views.setEmptyView(R.id.stack_view, R.id.empty_view);
  31.         Intent toastIntent = new Intent(context, MovieBanner.class);
  32.         toastIntent.setAction(MovieBanner.TOAST_ACTION);
  33.         toastIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
  34.         intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));
  35.         PendingIntent toastPendingIntent = PendingIntent.getBroadcast(context, 0, toastIntent, PendingIntent.FLAG_UPDATE_CURRENT);
  36.         views.setPendingIntentTemplate(R.id.stack_view, toastPendingIntent);
  37.  
  38.         appWidgetManager.updateAppWidget(appWidgetId, views);
  39.     }
  40.  
  41.     @Override
  42.     public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
  43.         // There may be multiple widgets active, so update all of them
  44.         for (int appWidgetId : appWidgetIds) {
  45.             updateAppWidget(context, appWidgetManager, appWidgetId);
  46.         }
  47.     }
  48.  
  49.     @Override
  50.     public void onEnabled(Context context) {
  51.         // Enter relevant functionality for when the first widget is created
  52.     }
  53.  
  54.     @Override
  55.     public void onDisabled(Context context) {
  56.         // Enter relevant functionality for when the last widget is disabled
  57.     }
  58.  
  59.     @Override
  60.     public void onReceive(Context context, Intent intent) {
  61.         super.onReceive(context, intent);
  62.         if (intent.getAction() != null) {
  63.             if (intent.getAction().equals(TOAST_ACTION)) {
  64.                 int viewIndex = intent.getIntExtra(EXTRA_ITEM, 0);
  65.                 Toast.makeText(context, "Touched view " + viewIndex, Toast.LENGTH_SHORT).show();
  66.             }
  67.         }
  68.     }
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement