public static Map<String, WidgetData> refreshWidgets( Context context, ArrayList<CharSequence> widgetsDesired) { synchronized (lock) { if (dataCache == null) dataCache = new HashMap<String, WidgetData>(); for (InternalWidget widget : widgets) { widget.refresh(widgetsDesired); widget.get(widgetsDesired, dataCache); } Intent intent = new Intent("org.metawatch.manager.REFRESH_WIDGET_REQUEST"); Bundle b = new Bundle(); if (widgetsDesired == null) b.putBoolean("org.metawatch.manager.get_previews", true); else { String[] temp = widgetsDesired.toArray(new String[widgetsDesired.size()]); b.putStringArray("org.metawatch.manager.widgets_desired", temp); } intent.putExtras(b); context.sendBroadcast(intent); return dataCache; } }
public static void initWidgets(Context context, ArrayList<CharSequence> widgetsDesired) { if (widgets.size() == 0) { widgets.add(new MissedCallsWidget()); widgets.add(new SmsWidget()); widgets.add(new K9Widget()); widgets.add(new GmailWidget()); widgets.add(new WeatherWidget()); widgets.add(new CalendarWidget()); widgets.add(new PhoneStatusWidget()); widgets.add(new PictureWidget()); widgets.add(new TouchDownWidget()); // widgets.add(new TestWidget()); } for (InternalWidget widget : widgets) { widget.init(context, widgetsDesired); } refreshWidgets(context, null); }