blob: 7dc57dbe4b5d4ad3345b7d83c7c1785b2ee67b44 [file] [log] [blame]
package com.google.android.leanbacklauncher.partnerwidget;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.RemoteViews;
public class ClockWidgetProvider extends AppWidgetProvider {
@Override
public void onReceive(Context context, Intent intent) {
update(context);
super.onReceive(context, intent);
}
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
update(context);
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
private void update(Context context) {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
ComponentName thisWidget = new ComponentName(context, ClockWidgetProvider.class);
appWidgetManager.updateAppWidget(thisWidget, getRemoteViews(context));
}
private RemoteViews getRemoteViews(Context context) {
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
R.layout.clock_widget);
remoteViews.setImageViewResource(R.id.connectivity_indicator, getConnectedResId(context));
return remoteViews;
}
private static int getConnectedResId(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
int resId = 0;
if (info == null || !info.isAvailable()) {
resId = R.drawable.ic_settings_wifi_not_connected;
} else if (!info.isConnected()) {
resId = R.drawable.ic_settings_wifi_no_internet;
} else {
// internet is connected and working, show nothing
resId = android.R.color.transparent;
}
return resId;
}
}