package com.openvehicles.OVMS;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.Date;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.SystemClock;
import android.util.Log;
import android.widget.RemoteViews;
public final class OVMSWidgets {
public static void UpdateWidget(Context paramContext,
AppWidgetManager paramAppWidgetManager, int paramInt) {
try {
Log.d("OVMS",
"Loading saved cars from internal storage file: OVMSSavedCars.obj");
ObjectInputStream localObjectInputStream = new ObjectInputStream(
paramContext.openFileInput("OVMSSavedCars.obj"));
localArrayList = (ArrayList) localObjectInputStream.readObject();
localObjectInputStream.close();
localCarData = null;
str = paramContext.getSharedPreferences("OVMS", 0)
.getString("LastVehicleID", "").trim();
if (str.length() == 0) {
localCarData = (CarData) localArrayList.get(0);
localRemoteViews = getUpdatedRemoteViews(paramContext,
localCarData);
if (localRemoteViews != null)
break label214;
}
} catch (Exception localException) {
while (true) {
ArrayList localArrayList;
CarData localCarData;
String str;
RemoteViews localRemoteViews;
localException.printStackTrace();
continue;
Object[] arrayOfObject = new Object[2];
arrayOfObject[0] = Integer.valueOf(localArrayList.size());
arrayOfObject[1] = str;
Log.d("OVMS", String.format(
"Loaded %s cars. Last used car is %s", arrayOfObject));
label208: for (int i = 0;; i++) {
if (i >= localArrayList.size())
;
while (localCarData == null) {
localCarData = (CarData) localArrayList.get(0);
break;
if (!((CarData) localArrayList.get(i)).VehicleID
.equals(str))
break label208;
localCarData = (CarData) localArrayList.get(i);
}
}
label214: paramAppWidgetManager.updateAppWidget(paramInt,
localRemoteViews);
}
}
}
public static void UpdateWidgets(Context paramContext) {
try {
Log.d("OVMS",
"Loading saved cars from internal storage file: OVMSSavedCars.obj");
ObjectInputStream localObjectInputStream = new ObjectInputStream(
paramContext.openFileInput("OVMSSavedCars.obj"));
localArrayList = (ArrayList) localObjectInputStream.readObject();
localObjectInputStream.close();
localCarData = null;
str = paramContext.getSharedPreferences("OVMS", 0)
.getString("LastVehicleID", "").trim();
if (str.length() == 0) {
localCarData = (CarData) localArrayList.get(0);
localAppWidgetManager = AppWidgetManager
.getInstance(paramContext);
localComponentName = new ComponentName(paramContext,
OVMSWidgetProvider.class);
localRemoteViews = getUpdatedRemoteViews(paramContext,
localCarData);
if (localRemoteViews != null)
break label229;
}
} catch (Exception localException) {
while (true) {
ArrayList localArrayList;
CarData localCarData;
String str;
AppWidgetManager localAppWidgetManager;
ComponentName localComponentName;
RemoteViews localRemoteViews;
localException.printStackTrace();
continue;
Object[] arrayOfObject = new Object[2];
arrayOfObject[0] = Integer.valueOf(localArrayList.size());
arrayOfObject[1] = str;
Log.d("OVMS", String.format(
"Loaded %s cars. Last used car is %s", arrayOfObject));
label223: for (int i = 0;; i++) {
if (i >= localArrayList.size())
;
while (localCarData == null) {
localCarData = (CarData) localArrayList.get(0);
break;
if (!((CarData) localArrayList.get(i)).VehicleID
.equals(str))
break label223;
localCarData = (CarData) localArrayList.get(i);
}
}
label229: localAppWidgetManager.updateAppWidget(
localComponentName, localRemoteViews);
}
}
}
private static RemoteViews getUpdatedRemoteViews(Context paramContext, CarData paramCarData)
{
if (paramCarData == null)
{
localRemoteViews = null;
return localRemoteViews;
}
RemoteViews localRemoteViews = new RemoteViews(paramContext.getPackageName(), 2130903062);
Object[] arrayOfObject1 = new Object[1];
arrayOfObject1[0] = Integer.valueOf(paramCarData.Data_EstimatedRange);
localRemoteViews.setTextViewText(2131296412, String.format("%s - ", arrayOfObject1));
Object[] arrayOfObject2 = new Object[1];
arrayOfObject2[0] = Integer.valueOf(paramCarData.Data_IdealRange);
localRemoteViews.setTextViewText(2131296413, String.format("%s", arrayOfObject2));
String str;
label95: int i;
label162: int j;
if (paramCarData.Data_DistanceUnit.equals("M"))
{
str = " mi";
localRemoteViews.setTextViewText(2131296414, str);
Object[] arrayOfObject3 = new Object[1];
arrayOfObject3[0] = Integer.valueOf(paramCarData.Data_SOC);
localRemoteViews.setTextViewText(2131296421, String.format("%d%%", arrayOfObject3));
localRemoteViews.setTextViewText(2131296411, paramCarData.VehicleID);
if ((paramCarData.Data_CarPoweredON) || (paramCarData.Data_ParkedTime_raw <= 0.0D))
break label332;
i = 0;
localRemoteViews.setViewVisibility(2131296415, i);
if (!paramCarData.Data_Charging)
break label339;
j = 0;
label180: localRemoteViews.setViewVisibility(2131296419, j);
localRemoteViews.setImageViewResource(2131296410, paramContext.getResources().getIdentifier(paramCarData.VehicleImageDrawable + "96x44", "drawable", "com.openvehicles.OVMS"));
if (paramCarData.Data_SOC <= 0)
break label346;
localRemoteViews.setImageViewBitmap(2131296420, Utilities.GetScaledBatteryOverlay(paramCarData.Data_SOC, BitmapFactory.decodeResource(paramContext.getResources(), 2130837509)));
}
while (true)
{
if (paramCarData.Data_ParkedTime != null)
{
Date localDate = new Date();
localRemoteViews.setChronometer(2131296416, SystemClock.elapsedRealtime() - (localDate.getTime() - paramCarData.Data_ParkedTime.getTime()), null, true);
}
localRemoteViews.setOnClickPendingIntent(2131296409, PendingIntent.getActivity(paramContext, 0, new Intent(paramContext, OVMSActivity.class), 0));
break;
str = " km";
break label95;
label332: i = 8;
break label162;
label339: j = 8;
break label180;
label346: localRemoteViews.setImageViewResource(2131296420, 2130837506);
}
}
}