Back to project page CATaZine-Live.
The source code is released under:
GNU General Public License
If you think the Android project CATaZine-Live listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.melegy.catazine.widget; // w w w . ja v a 2 s . c o m import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.widget.RemoteViews; import com.melegy.catazine.R; import com.melegy.catazine.activity.HomeActivity; import com.melegy.catazine.provider.FeedData; public class TickerWidgetProvider extends AppWidgetProvider { private static final String ALL_UNREAD_NUMBER = new StringBuilder("(SELECT COUNT(*) FROM ") .append(FeedData.EntryColumns.TABLE_NAME).append(" WHERE ") .append(FeedData.EntryColumns.IS_READ).append(" IS NULL)").toString(); @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { RemoteViews widget = createWidgetView(context); for (int appWidgetId : appWidgetIds) { appWidgetManager.updateAppWidget(appWidgetId, widget); } super.onUpdate(context, appWidgetManager, appWidgetIds); } public static void updateWidget(Context context) { AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); appWidgetManager.updateAppWidget(new ComponentName(context.getPackageName(), TickerWidgetProvider.class.getName()), createWidgetView(context)); } static RemoteViews createWidgetView(Context context) { RemoteViews widget = new RemoteViews(context.getPackageName(), R.layout.ticker_widget); widget.setOnClickPendingIntent(R.id.feed_ticker_tap_area, PendingIntent.getActivity(context, 0, new Intent(context, HomeActivity.class), 0)); Cursor unread = context.getContentResolver().query(FeedData.EntryColumns.CONTENT_URI, new String[]{ALL_UNREAD_NUMBER}, null, null, null); if (unread != null) { if (unread.moveToFirst()) { widget.setTextViewText(R.id.feed_ticker, String.valueOf(unread.getInt(0))); } unread.close(); } return widget; } }