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);
}
}