package com.swisscom.safeconnect.widget; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import com.swisscom.safeconnect.R; import com.swisscom.safeconnect.utils.Config; import java.text.DateFormat; import java.util.Date; /** * Created by cianci on 1/13/15. */ public class SubscriptionWidget extends PipeWidgetProvider { { mLayoutId = R.layout.widget_layout_subscription; } protected void updateWidget(final Context context, final AppWidgetManager appWidgetManager, final int widgetId, final boolean refreshData) { getWidgetData(context, appWidgetManager, widgetId); //click somewhere else final PendingIntent piStartApp = PendingIntent.getBroadcast(context, 0, new Intent(context, SubscriptionWidget.class).setAction(ACTION_START_APP), 0); mRemoteViews.setOnClickPendingIntent(R.id.ll_right_part, piStartApp); if (refreshData) updateViews(context); updateCommonPart(context); appWidgetManager.updateAppWidget(widgetId, mRemoteViews); } private void updateViews(Context ctx) { String text; Date date = new Date(Config.getInstance().getSubscriptionValidTill()*1000); if (date.getTime() > System.currentTimeMillis()) { text = ctx.getString(R.string.lab_widget_subscription, DateFormat.getDateInstance().format(date)); } else { text = ctx.getString(R.string.lab_no_abo); text = text.replaceAll(" ", "\n"); } Bitmap subscription = createTextBitmap(ctx, text, 22, findMaxWidth(ctx, text, "\n", 22)); mRemoteViews.setImageViewBitmap(R.id.iv_subscription, subscription); mAppWidgetManager.updateAppWidget(mWidgetId, mRemoteViews); } }