From 074f0c45f3421525dc89e4118432184bfb4ec3c3 Mon Sep 17 00:00:00 2001 From: Carles Sentis Date: Tue, 9 Oct 2012 23:01:20 +0100 Subject: [PATCH] v1.16 - no signal image --- AndroidManifest.xml | 4 ++-- README.rdoc | 7 +++++-- res/drawable/_null.png | Bin 0 -> 9669 bytes src/com/codeskraps/lolo/Constants.java | 8 ++++++-- .../codeskraps/lolo/UpdateWidgetReceiver.java | 19 ++++++++++++++---- src/com/codeskraps/lolo/Utils.java | 5 ++--- 6 files changed, 30 insertions(+), 13 deletions(-) create mode 100644 res/drawable/_null.png diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 213991a..4cbb9ef 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,7 +1,7 @@ + android:versionCode="17" + android:versionName="1.16" > diff --git a/README.rdoc b/README.rdoc index 2e16c79..78beef0 100644 --- a/README.rdoc +++ b/README.rdoc @@ -4,7 +4,7 @@ * Git: https://github.com/091labs/lo-lo * Author: 091 Labs members * License: GNU GPL v3 -* Latest Version: 1.15 +* Latest Version: 1.16 * Release Date: 2012 == General Infromation @@ -21,7 +21,7 @@ and all creative ideas. == Authors * Android: Carles Sentis -* Art design: Darren Kearney +* Art design: Darren Kearney * Server: Padraic Harley == Install @@ -31,6 +31,9 @@ Install from Google Play * http://play.google.com/store/apps/details?id=com.codeskraps.lolo == ChangeLog +v1.16 +* No signal image if unknown lolo state + v1.15 * Release version using Proguard and ZipAlign diff --git a/res/drawable/_null.png b/res/drawable/_null.png new file mode 100644 index 0000000000000000000000000000000000000000..de2aee601104da7a81e21cdb890912aee7e4123b GIT binary patch literal 9669 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 literal 0 HcmV?d00001 diff --git a/src/com/codeskraps/lolo/Constants.java b/src/com/codeskraps/lolo/Constants.java index cfa8110..27b3282 100644 --- a/src/com/codeskraps/lolo/Constants.java +++ b/src/com/codeskraps/lolo/Constants.java @@ -3,11 +3,11 @@ public class Constants { public static final String LOLO_URL = "http://scruffy.091labs.com/lolo/json/status.json"; - + public static final String FORCE_WIDGET_UPDATE = "com.codeskraps.lolo.FORCE_WIDGET_UPDATE"; public static final String BROADCAST_RECEIVER = "com.codeskraps.lolo.BROADCAST_RECEIVER"; public static final String CONFIGURE_ACTION = "android.appwidget.action.APPWIDGET_CONFIGURE"; - + public static final String ONCLICK = "lstOnClick"; public static final String EURL = "eURL"; public static final String LAST_SYNC = "sync"; @@ -16,4 +16,8 @@ public class Constants { public static final String INTERVAL = "lstInterval"; public static final String ABOUT = "prefAbout"; public static final String FIRST_LAUNCH = "firstLaunch"; + + public static final short LOLO_ON = 0; + public static final short LOLO_OFF = 1; + public static final short LOLO_NULL = 2; } diff --git a/src/com/codeskraps/lolo/UpdateWidgetReceiver.java b/src/com/codeskraps/lolo/UpdateWidgetReceiver.java index 03c335b..439cda8 100644 --- a/src/com/codeskraps/lolo/UpdateWidgetReceiver.java +++ b/src/com/codeskraps/lolo/UpdateWidgetReceiver.java @@ -32,7 +32,7 @@ public class UpdateWidgetReceiver extends BroadcastReceiver { private static Context context = null; private static Handler handler; - private static boolean lolo; + private static short lolo; private Thread downloadThread; @Override @@ -41,6 +41,7 @@ public void onReceive(Context context, Intent intent) { UpdateWidgetReceiver.context = context; + lolo = Constants.LOLO_NULL; handler = new Handler(); if (Utils.isNetworkAvailable(context)) { @@ -61,7 +62,10 @@ public void onReceive(Context context, Intent intent) { downloadThread.start(); // new DownloadXmlTask().execute(); - } else if (BuildConfig.DEBUG) Log.d(TAG, "No network connection"); + } else { + if (BuildConfig.DEBUG) Log.d(TAG, "No network connection"); + handler.post(new MyRunnable()); + } } static private class MyThread extends Thread { @@ -104,12 +108,19 @@ public void run() { if (appWidgetIds.length > 0) { for (int appWidgetId : appWidgetIds) { - if (lolo) { + switch (lolo) { + case Constants.LOLO_ON: remoteViews.setImageViewResource(R.id.imgLolo, R.drawable.open); Log.d(TAG, "The labs is open"); - } else { + break; + case Constants.LOLO_OFF: remoteViews.setImageViewResource(R.id.imgLolo, R.drawable.closed); Log.d(TAG, "The labs is close"); + break; + case Constants.LOLO_NULL: + remoteViews.setImageViewResource(R.id.imgLolo, R.drawable._null); + Log.d(TAG, "The labs is null"); + break; } Calendar c = Calendar.getInstance(); diff --git a/src/com/codeskraps/lolo/Utils.java b/src/com/codeskraps/lolo/Utils.java index 77cf87e..c811b4d 100644 --- a/src/com/codeskraps/lolo/Utils.java +++ b/src/com/codeskraps/lolo/Utils.java @@ -59,7 +59,7 @@ public static boolean isNetworkAvailable(Context context) { return false; } - public static boolean getLolo() throws UnsupportedEncodingException, ClientProtocolException, + public static short getLolo() throws UnsupportedEncodingException, ClientProtocolException, IOException, IllegalArgumentException, NullPointerException, JSONException { long startTime = System.currentTimeMillis(); if (BuildConfig.DEBUG) Log.d(TAG, "download begining"); @@ -81,9 +81,8 @@ public static boolean getLolo() throws UnsupportedEncodingException, ClientProto JSONTokener tokener = new JSONTokener(json); - boolean lolo = false; JSONObject finalResult = new JSONObject(tokener); - lolo = finalResult.getBoolean("open"); + short lolo = finalResult.getBoolean("open") ? Constants.LOLO_ON : Constants.LOLO_OFF; if (BuildConfig.DEBUG) Log.d(TAG, "lolo: " + lolo); if (BuildConfig.DEBUG)