12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package com.rthoni.stssaguenay.ui.widget;
-
- import android.content.Context;
- import android.content.Intent;
- import android.util.Log;
- import android.widget.RemoteViews;
- import android.widget.RemoteViewsService;
- import android.widget.TextView;
-
- import com.rthoni.stssaguenay.R;
- import com.rthoni.stssaguenay.business.STSBusiness;
- import com.rthoni.stssaguenay.business.SchedulesBusiness;
- import com.rthoni.stssaguenay.dbo.SchedulesDbo;
- import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
-
- import java.util.List;
-
- /**
- * Created by robin on 12/13/16.
- */
-
- public class AppWidgetFactory implements RemoteViewsService.RemoteViewsFactory {
-
- private Context _context;
-
- private List<UserFavouriteStopsDbo> _favouriteStopsDbos;
-
- private List<SchedulesDbo> _schedules;
-
- private Intent _intent;
-
- public AppWidgetFactory(Context context, Intent intent)
- {
- _context = context;
- _intent = intent;
- Log.d("WIDGET", "ctor");
- }
-
- @Override
- public void onCreate() {
- }
-
- @Override
- public void onDataSetChanged() {
- Log.d("WIDGET", "onDataSetChanged: " + _intent.getStringExtra("schedules"));
- SchedulesDbo.SchedulesDboArray array = new SchedulesDbo.SchedulesDboArray();
- try {
- array.fromJson(_intent.getStringExtra("schedules"));
- _schedules = array.getData();
- } catch (Exception e) {
- e.printStackTrace();
- }
- _favouriteStopsDbos = STSBusiness.getFavouriteStops(_context);
- }
-
- @Override
- public void onDestroy() {
- _favouriteStopsDbos = null;
- }
-
- @Override
- public int getCount() {
- return _favouriteStopsDbos.size();
- }
-
- @Override
- public RemoteViews getViewAt(int position) {
- Log.d("WIDGET", "getViewAt " + position);
- RemoteViews remoteView = new RemoteViews(_context.getPackageName(), R.layout.favourite_stop_recycler_view_item);
- remoteView.setTextViewText(R.id.textView, _favouriteStopsDbos.get(position).getStop().getFullName());
- String text = SchedulesBusiness.getSchedulesString(_schedules, _favouriteStopsDbos.get(position).getStop().getId());
- remoteView.setTextViewText(R.id.textView2, text);
- return remoteView;
- }
-
- @Override
- public RemoteViews getLoadingView() {
- Log.d("WIDGET", "getLoadingView");
- RemoteViews remoteView = new RemoteViews(_context.getPackageName(), R.layout.favourite_stop_recycler_view_item);
- return remoteView;
- }
-
- @Override
- public int getViewTypeCount() {
- return 1;
- }
-
- @Override
- public long getItemId(int position) {
- return 0;
- }
-
- @Override
- public boolean hasStableIds() {
- return false;
- }
- }
|