/[projects]/android/Side9/src/dk/thoerup/side9/Side9WidgetProvider.java
ViewVC logotype

Diff of /android/Side9/src/dk/thoerup/side9/Side9WidgetProvider.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 688 by torben, Wed Apr 28 08:20:24 2010 UTC revision 689 by torben, Wed Apr 28 14:40:33 2010 UTC
# Line 1  Line 1 
1  package dk.thoerup.side9;  package dk.thoerup.side9;
2    
 import java.io.IOException;  
3  import java.net.URL;  import java.net.URL;
4  import java.net.URLConnection;  import java.net.URLConnection;
5    
# Line 21  public class Side9WidgetProvider extends Line 20  public class Side9WidgetProvider extends
20                    
21          //The data needs to be static, since BroadcastReceivers (which WidgetProviders extends) are only valid during onReceive()          //The data needs to be static, since BroadcastReceivers (which WidgetProviders extends) are only valid during onReceive()
22          private static Side9Data usedData;          private static Side9Data usedData;
23            private static Bitmap usedBitmap;
24                    
25          public Side9WidgetProvider() {          public Side9WidgetProvider() {
26                  Log.i("Side9Pigen", "WidgetProvider constructor called");                  Log.i("Side9Pigen", "WidgetProvider constructor called");
# Line 58  public class Side9WidgetProvider extends Line 58  public class Side9WidgetProvider extends
58          @Override          @Override
59          public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {          public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
60                  super.onUpdate(context, appWidgetManager, appWidgetIds);                  super.onUpdate(context, appWidgetManager, appWidgetIds);
61                                    
62                    Log.i("Side9Pigen", "onUpdate:");
63                                    
64                                    if (usedBitmap == null) { //load default view
65                                            usedBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.side9logo);
66                  Log.e("Side9Pigen", "onUpdate:");                  }
67                                    
68                  ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);                  ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
69                  if (connMgr.getBackgroundDataSetting() == false)                  if (connMgr.getBackgroundDataSetting() == false)
# Line 81  public class Side9WidgetProvider extends Line 83  public class Side9WidgetProvider extends
83                          URL imgUrl = new URL( newData.url );                                      URL imgUrl = new URL( newData.url );            
84                                                    
85                          URLConnection conn = imgUrl.openConnection();                          URLConnection conn = imgUrl.openConnection();
86                            conn.setConnectTimeout(2000);
87                          Bitmap image = BitmapFactory.decodeStream( conn.getInputStream() );                          Bitmap image = BitmapFactory.decodeStream( conn.getInputStream() );
88                                                    
                         setImage(context,appWidgetManager,appWidgetIds, image);  
                           
89                          usedData = newData; // if we made it to here without exceptions, save the new data                          usedData = newData; // if we made it to here without exceptions, save the new data
90                            usedBitmap = image;
91                                                    
92                  } // endif                  } // endif
93                                    
                   
94          } catch (Exception e) {          } catch (Exception e) {
95                  Log.e("Side9Pigen", "update failed", e);                  Log.e("Side9Pigen", "update failed", e);
                   
                 if (usedData == null) {  
                         setImage(context,appWidgetManager,appWidgetIds, null);  
                 }  
96          }          }
97            
98            setImage(context,appWidgetManager,appWidgetIds, usedBitmap);
99            Log.i("Side9Pigen", "update completed");
100          }          }
101    
102                    
# Line 106  public class Side9WidgetProvider extends Line 106  public class Side9WidgetProvider extends
106                  super.onDisabled(context);                  super.onDisabled(context);
107                                    
108                  usedData = null; //free memory                  usedData = null; //free memory
109                    usedBitmap = null;
110          }          }
111    
112  }  }

Legend:
Removed from v.688  
changed lines
  Added in v.689

  ViewVC Help
Powered by ViewVC 1.1.20