package de.fau.cs.mad.fablab.android.widget;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViews;
import de.fau.cs.mad.fablab.android.R;
import de.fau.cs.mad.fablab.android.util.Formatter;
import de.fau.cs.mad.fablab.android.view.activities.MainActivity;
public class WidgetProviderSmall extends WidgetProviderBase
{
@Override
protected void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId, double lastChange, boolean isOpen)
{
long currentTimeSeconds = System.currentTimeMillis() / 1000L;
double minutesSinceLastChange = (currentTimeSeconds - lastChange) / 60;
long timeSinceLastChange = Double.valueOf(minutesSinceLastChange).longValue();
String timeSinceLastChangeAsString;
if(lastChange == 0.0) {
timeSinceLastChangeAsString = "-";
} else {
timeSinceLastChangeAsString = Formatter.formatTimeWidget(timeSinceLastChange);
}
RemoteViews updateViews = new RemoteViews(context.getPackageName(), setRemoteViews());
updateViews.setTextViewText(R.id.widget_tv, timeSinceLastChangeAsString);
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntentClick = PendingIntent.getActivity(context, 0, intent, 0);
updateViews.setOnClickPendingIntent(R.id.widget, pendingIntentClick);
if(isOpen)
{
updateViews.setTextColor(R.id.widget_tv, 0xFF440000);
updateViews.setInt(R.id.widget_tv, "setBackgroundResource", R.drawable.shape_rounded_rect_green_widget);
}
else
{
updateViews.setTextColor(R.id.widget_tv, 0xFF004400);
updateViews.setInt(R.id.widget_tv, "setBackgroundResource", R.drawable.shape_rounded_rect_red_widget);
}
appWidgetManager.updateAppWidget(appWidgetId, updateViews);
}
@Override
int setRemoteViews()
{
return R.layout.widget_layout_small;
}
}