123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package com.rthoni.stssaguenay.ui.widget;
-
- import android.appwidget.AppWidgetManager;
- import android.content.Context;
- import android.content.Intent;
- import android.net.Uri;
- import android.util.Log;
- import android.widget.RemoteViews;
-
- import com.luticate.utils.business.LuConsumer;
- import com.rthoni.stssaguenay.R;
- import com.rthoni.stssaguenay.business.STSBusiness;
- import com.rthoni.stssaguenay.business.SchedulesBusiness;
- import com.rthoni.stssaguenay.dataaccess.STSDataAccess;
- import com.rthoni.stssaguenay.dbo.SchedulesDbo;
-
- import java.util.List;
-
- /**
- * Created by robin on 12/13/16.
- */
-
- public class AppWidgetProvider extends android.appwidget.AppWidgetProvider {
- public void onUpdate(final Context context, final AppWidgetManager appWidgetManager, final int[] appWidgetIds) {
- final int N = appWidgetIds.length;
-
- Log.d("WIDGET", "onUpdate");
- // Perform this loop procedure for each App Widget that belongs to this provider
- for (int i=0; i<N; i++) {
-
- final int finalI = i;
- SchedulesBusiness.getMultiple(STSBusiness.getConfig(context), STSBusiness.getFavouriteStops(context), STSBusiness.getTime(), 10)
- .then(new LuConsumer<List<SchedulesDbo>>() {
- @Override
- public void execute(List<SchedulesDbo> schedulesDbos) {
-
- Intent intent = new Intent(context, AppWidgetService.class);
- intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetIds[finalI]);
- SchedulesDbo.SchedulesDboArray array = new SchedulesDbo.SchedulesDboArray();
- array.setData(schedulesDbos);
- intent.putExtra("schedules", array.toString());
- intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));
-
- RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.app_widget);
- views.setRemoteAdapter(R.id.listFavouritesStops, intent);
- appWidgetManager.updateAppWidget(appWidgetIds[finalI], views);
- }
- });
- }
- }
- }
|