// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
package com.openvehicles.OVMS;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.*;
import android.content.res.Resources;
import android.graphics.BitmapFactory;
import android.os.SystemClock;
import android.util.Log;
import android.widget.RemoteViews;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.Date;
// Referenced classes of package com.openvehicles.OVMS:
// CarData, OVMSWidgetProvider, Utilities, OVMSActivity
public final class OVMSWidgets
{
public OVMSWidgets()
{
}
public static void UpdateWidget(Context context, AppWidgetManager appwidgetmanager, int i)
{
ArrayList arraylist;
Log.d("OVMS", "Loading saved cars from internal storage file: OVMSSavedCars.obj");
ObjectInputStream objectinputstream = new ObjectInputStream(context.openFileInput("OVMSSavedCars.obj"));
arraylist = (ArrayList)objectinputstream.readObject();
objectinputstream.close();
CarData cardata;
String s;
cardata = null;
s = context.getSharedPreferences("OVMS", 0).getString("LastVehicleID", "").trim();
if(s.length() != 0) goto _L2; else goto _L1
_L1:
cardata = (CarData)arraylist.get(0);
_L4:
RemoteViews remoteviews = getUpdatedRemoteViews(context, cardata);
Exception exception;
Object aobj[];
int j;
if(remoteviews != null)
appwidgetmanager.updateAppWidget(i, remoteviews);
_L3:
return;
exception;
exception.printStackTrace();
if(true) goto _L3; else goto _L2
_L2:
aobj = new Object[2];
aobj[0] = Integer.valueOf(arraylist.size());
aobj[1] = s;
Log.d("OVMS", String.format("Loaded %s cars. Last used car is %s", aobj));
j = 0;
_L5:
if(j < arraylist.size())
{
label0:
{
if(!((CarData)arraylist.get(j)).VehicleID.equals(s))
break label0;
cardata = (CarData)arraylist.get(j);
}
}
if(cardata == null)
cardata = (CarData)arraylist.get(0);
goto _L4
j++;
goto _L5
}
public static void UpdateWidgets(Context context)
{
ArrayList arraylist;
Log.d("OVMS", "Loading saved cars from internal storage file: OVMSSavedCars.obj");
ObjectInputStream objectinputstream = new ObjectInputStream(context.openFileInput("OVMSSavedCars.obj"));
arraylist = (ArrayList)objectinputstream.readObject();
objectinputstream.close();
CarData cardata;
String s;
cardata = null;
s = context.getSharedPreferences("OVMS", 0).getString("LastVehicleID", "").trim();
if(s.length() != 0) goto _L2; else goto _L1
_L1:
cardata = (CarData)arraylist.get(0);
_L4:
AppWidgetManager appwidgetmanager = AppWidgetManager.getInstance(context);
ComponentName componentname = new ComponentName(context, com/openvehicles/OVMS/OVMSWidgetProvider);
RemoteViews remoteviews = getUpdatedRemoteViews(context, cardata);
Exception exception;
Object aobj[];
int i;
if(remoteviews != null)
appwidgetmanager.updateAppWidget(componentname, remoteviews);
_L3:
return;
exception;
exception.printStackTrace();
if(true) goto _L3; else goto _L2
_L2:
aobj = new Object[2];
aobj[0] = Integer.valueOf(arraylist.size());
aobj[1] = s;
Log.d("OVMS", String.format("Loaded %s cars. Last used car is %s", aobj));
i = 0;
_L5:
if(i < arraylist.size())
{
label0:
{
if(!((CarData)arraylist.get(i)).VehicleID.equals(s))
break label0;
cardata = (CarData)arraylist.get(i);
}
}
if(cardata == null)
cardata = (CarData)arraylist.get(0);
goto _L4
i++;
goto _L5
}
private static RemoteViews getUpdatedRemoteViews(Context context, CarData cardata)
{
RemoteViews remoteviews;
if(cardata == null)
{
remoteviews = null;
} else
{
remoteviews = new RemoteViews(context.getPackageName(), 0x7f030016);
Object aobj[] = new Object[1];
aobj[0] = Integer.valueOf(cardata.Data_EstimatedRange);
remoteviews.setTextViewText(0x7f09009c, String.format("%s - ", aobj));
Object aobj1[] = new Object[1];
aobj1[0] = Integer.valueOf(cardata.Data_IdealRange);
remoteviews.setTextViewText(0x7f09009d, String.format("%s", aobj1));
String s;
Object aobj2[];
int i;
int j;
if(cardata.Data_DistanceUnit.equals("M"))
s = " mi";
else
s = " km";
remoteviews.setTextViewText(0x7f09009e, s);
aobj2 = new Object[1];
aobj2[0] = Integer.valueOf(cardata.Data_SOC);
remoteviews.setTextViewText(0x7f0900a5, String.format("%d%%", aobj2));
remoteviews.setTextViewText(0x7f09009b, cardata.VehicleID);
if(!cardata.Data_CarPoweredON && cardata.Data_ParkedTime_raw > 0.0D)
i = 0;
else
i = 8;
remoteviews.setViewVisibility(0x7f09009f, i);
if(cardata.Data_Charging)
j = 0;
else
j = 8;
remoteviews.setViewVisibility(0x7f0900a3, j);
remoteviews.setImageViewResource(0x7f09009a, context.getResources().getIdentifier((new StringBuilder(String.valueOf(cardata.VehicleImageDrawable))).append("96x44").toString(), "drawable", "com.openvehicles.OVMS"));
if(cardata.Data_SOC > 0)
remoteviews.setImageViewBitmap(0x7f0900a4, Utilities.GetScaledBatteryOverlay(cardata.Data_SOC, BitmapFactory.decodeResource(context.getResources(), 0x7f020005)));
else
remoteviews.setImageViewResource(0x7f0900a4, 0x7f020002);
if(cardata.Data_ParkedTime != null)
{
Date date = new Date();
remoteviews.setChronometer(0x7f0900a0, SystemClock.elapsedRealtime() - (date.getTime() - cardata.Data_ParkedTime.getTime()), null, true);
}
remoteviews.setOnClickPendingIntent(0x7f090099, PendingIntent.getActivity(context, 0, new Intent(context, com/openvehicles/OVMS/OVMSActivity), 0));
}
return remoteviews;
}
}