.class public Lcom/curvefish/widgets/wifionoff/WiFiOnOff; .super Landroid/appwidget/AppWidgetProvider; .source "WiFiOnOff.java" # static fields .field private static final DEBUG:Z = false .field private static final TAG:Ljava/lang/String; = "WiFiOnOff" .field static final UPDATE:Ljava/lang/String; = "com.curvefish.wifionoff.UPDATE" .field private static settings:Landroid/content/SharedPreferences; .field private static showButtonSettings:Z # direct methods .method public constructor ()V .registers 1 .prologue .line 17 invoke-direct {p0}, Landroid/appwidget/AppWidgetProvider;->()V return-void .end method .method public static buildUpdate(Landroid/content/Context;Ljava/lang/String;)Landroid/widget/RemoteViews; .registers 7 .parameter "context" .parameter "action" .prologue .line 81 new-instance v2, Landroid/widget/RemoteViews; invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v0 const v1, 0x7f030002 invoke-direct {v2, v0, v1}, Landroid/widget/RemoteViews;->(Ljava/lang/String;I)V .line 82 .local v2, updateViews:Landroid/widget/RemoteViews; const-string v0, "wifi" invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroid/net/wifi/WifiManager; .line 83 .local v3, wifi:Landroid/net/wifi/WifiManager; new-instance v0, Landroid/content/Intent; const-string v1, "com.curvefish.wifionoff.UPDATE" invoke-direct {v0, v1}, Landroid/content/Intent;->(Ljava/lang/String;)V .line 84 .local v0, detailIntent:Landroid/content/Intent; const/4 v1, 0x0 const/4 v4, 0x0 invoke-static {p0, v1, v0, v4}, Landroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; move-result-object v1 .line 86 .local v1, pending:Landroid/app/PendingIntent; invoke-virtual {v3}, Landroid/net/wifi/WifiManager;->getWifiState()I move-result v4 .line 87 .local v4, wifiState:I const v0, 0x7f020008 .line 89 .local v0, iconToShow:I packed-switch v4, :pswitch_data_e8 move p1, v0 .line 126 .end local v0 #iconToShow:I, .end local v4 #wifiState:I, .local p1, iconToShow:I :goto_2c const v0, 0x7f060002 invoke-virtual {v2, v0, p1}, Landroid/widget/RemoteViews;->setImageViewResource(II)V .line 128 invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences; move-result-object v0 sput-object v0, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->settings:Landroid/content/SharedPreferences; .line 129 sget-object v0, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->settings:Landroid/content/SharedPreferences; const-string v1, "show_settings_button" .end local v1 #pending:Landroid/app/PendingIntent;, const/4 v3, 0x1 invoke-interface {v0, v1, v3}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z .end local v3 #wifi:Landroid/net/wifi/WifiManager;, move-result v0 sput-boolean v0, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->showButtonSettings:Z .line 131 sget-boolean v0, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->showButtonSettings:Z if-eqz v0, :cond_da .line 132 const-string v0, "show ButtonSettings" invoke-static {v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 133 const v0, 0x7f060003 const/4 v1, 0x0 invoke-virtual {v2, v0, v1}, Landroid/widget/RemoteViews;->setViewVisibility(II)V .line 134 new-instance v0, Landroid/content/Intent; invoke-direct {v0}, Landroid/content/Intent;->()V .line 135 .local v0, settingsIntent:Landroid/content/Intent; const-string v1, "com.android.settings" const-string v3, "com.android.settings.wifi.WifiSettings" invoke-virtual {v0, v1, v3}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; .line 136 const/4 v1, 0x0 const/4 v3, 0x0 invoke-static {p0, v1, v0, v3}, Landroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent; move-result-object p0 .line 138 .local p0, pendingSettings:Landroid/app/PendingIntent; const v0, 0x7f060003 invoke-virtual {v2, v0, p0}, Landroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V .end local v0 #settingsIntent:Landroid/content/Intent;, .end local p0 #pendingSettings:Landroid/app/PendingIntent;, :goto_6b move p0, p1 .end local p1 #iconToShow:I, .local p0, iconToShow:I move-object p1, v2 .line 144 :goto_6d return-object p1 .line 91 .local v0, iconToShow:I .restart local v1 #pending:Landroid/app/PendingIntent;, .restart local v3 #wifi:Landroid/net/wifi/WifiManager;, .restart local v4 #wifiState:I, .local p0, context:Landroid/content/Context; .local p1, action:Ljava/lang/String; :pswitch_6e const-string v4, "WIFI_STATE_DISABLED" .end local v4 #wifiState:I, invoke-static {v4}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 92 const-string v4, "com.curvefish.wifionoff.UPDATE" invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p1 .end local p1 #action:Ljava/lang/String;, if-eqz p1, :cond_88 .line 93 const-string p0, "WIFI_STATE_DISABLED: UPDATE" .end local p0 #context:Landroid/content/Context;, invoke-static {p0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 94 const/4 p0, 0x1 invoke-virtual {v3, p0}, Landroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z .line 95 const/4 p0, 0x0 move-object p1, p0 move p0, v0 .end local v0 #iconToShow:I, .local p0, iconToShow:I goto :goto_6d .line 97 .restart local v0 #iconToShow:I, .local p0, context:Landroid/content/Context; :cond_88 const p1, 0x7f020004 .line 99 .end local v0 #iconToShow:I, .local p1, iconToShow:I const v0, 0x7f060002 invoke-virtual {v2, v0, v1}, Landroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V goto :goto_2c .line 102 .restart local v0 #iconToShow:I, .restart local v4 #wifiState:I, .local p1, action:Ljava/lang/String; :pswitch_92 const-string v4, "WIFI_STATE_ENABLED" .end local v4 #wifiState:I, invoke-static {v4}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 103 const-string v4, "com.curvefish.wifionoff.UPDATE" invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p1 .end local p1 #action:Ljava/lang/String;, if-eqz p1, :cond_ac .line 104 const-string p0, "WIFI_STATE_ENABLED: UPDATE" .end local p0 #context:Landroid/content/Context;, invoke-static {p0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 105 const/4 p0, 0x0 invoke-virtual {v3, p0}, Landroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z .line 106 const/4 p0, 0x0 move-object p1, p0 move p0, v0 .end local v0 #iconToShow:I, .local p0, iconToShow:I goto :goto_6d .line 108 .restart local v0 #iconToShow:I, .local p0, context:Landroid/content/Context; :cond_ac const p1, 0x7f020005 .line 110 .end local v0 #iconToShow:I, .local p1, iconToShow:I const v0, 0x7f060002 invoke-virtual {v2, v0, v1}, Landroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V goto/16 :goto_2c .line 113 .restart local v0 #iconToShow:I, .restart local v4 #wifiState:I, .local p1, action:Ljava/lang/String; :pswitch_b7 const-string p1, "WIFI_STATE_DISABLING" .end local p1 #action:Ljava/lang/String;, invoke-static {p1}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 114 const/high16 p1, 0x7f02 .line 115 .end local v0 #iconToShow:I, .local p1, iconToShow:I goto/16 :goto_2c .line 117 .restart local v0 #iconToShow:I, .local p1, action:Ljava/lang/String; :pswitch_c0 const-string p1, "WIFI_STATE_ENABLING" .end local p1 #action:Ljava/lang/String;, invoke-static {p1}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 118 const p1, 0x7f020001 .line 119 .end local v0 #iconToShow:I, .local p1, iconToShow:I goto/16 :goto_2c .line 121 .restart local v0 #iconToShow:I, .local p1, action:Ljava/lang/String; :pswitch_ca const-string p1, "WIFI_STATE_UNKNOWN" .end local p1 #action:Ljava/lang/String;, invoke-static {p1}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 122 const p1, 0x7f020008 .line 123 .end local v0 #iconToShow:I, .local p1, iconToShow:I const v0, 0x7f060002 invoke-virtual {v2, v0, v1}, Landroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V goto/16 :goto_2c .line 140 .end local v1 #pending:Landroid/app/PendingIntent;, .end local v3 #wifi:Landroid/net/wifi/WifiManager;, .end local v4 #wifiState:I, :cond_da const-string p0, "hide ButtonSettings" .end local p0 #context:Landroid/content/Context;, invoke-static {p0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 141 const p0, 0x7f060003 const/16 v0, 0x8 invoke-virtual {v2, p0, v0}, Landroid/widget/RemoteViews;->setViewVisibility(II)V goto :goto_6b .line 89 :pswitch_data_e8 .packed-switch 0x0 :pswitch_b7 :pswitch_6e :pswitch_c0 :pswitch_92 :pswitch_ca .end packed-switch .end method .method private static p(Ljava/lang/String;)V .registers 1 .parameter "s" .prologue .line 150 return-void .end method .method static updateWidgetState(Landroid/content/Context;Ljava/lang/String;)V .registers 6 .parameter "context" .parameter "action" .prologue .line 30 invoke-static {p0, p1}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->buildUpdate(Landroid/content/Context;Ljava/lang/String;)Landroid/widget/RemoteViews; move-result-object v2 .line 31 .local v2, updateViews:Landroid/widget/RemoteViews; if-eqz v2, :cond_14 .line 32 new-instance v1, Landroid/content/ComponentName; const-class v3, Lcom/curvefish/widgets/wifionoff/WiFiOnOff; invoke-direct {v1, p0, v3}, Landroid/content/ComponentName;->(Landroid/content/Context;Ljava/lang/Class;)V .line 33 .local v1, thisWidget:Landroid/content/ComponentName; invoke-static {p0}, Landroid/appwidget/AppWidgetManager;->getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager; move-result-object v0 .line 34 .local v0, manager:Landroid/appwidget/AppWidgetManager; invoke-virtual {v0, v1, v2}, Landroid/appwidget/AppWidgetManager;->updateAppWidget(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V .line 36 .end local v0 #manager:Landroid/appwidget/AppWidgetManager;, .end local v1 #thisWidget:Landroid/content/ComponentName;, :cond_14 return-void .end method # virtual methods .method public onDeleted(Landroid/content/Context;[I)V .registers 4 .parameter "context" .parameter "appWidgetIds" .prologue .line 40 invoke-super {p0, p1, p2}, Landroid/appwidget/AppWidgetProvider;->onDeleted(Landroid/content/Context;[I)V .line 41 const-string v0, "onDeleted" invoke-static {v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 42 return-void .end method .method public onDisabled(Landroid/content/Context;)V .registers 3 .parameter "context" .prologue .line 46 invoke-super {p0, p1}, Landroid/appwidget/AppWidgetProvider;->onDisabled(Landroid/content/Context;)V .line 47 const-string v0, "onDisabled" invoke-static {v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 48 return-void .end method .method public onEnabled(Landroid/content/Context;)V .registers 3 .parameter "context" .prologue .line 52 invoke-super {p0, p1}, Landroid/appwidget/AppWidgetProvider;->onEnabled(Landroid/content/Context;)V .line 53 const-string v0, "onEnabled" invoke-static {v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 54 return-void .end method .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V .registers 8 .parameter "context" .parameter "intent" .prologue const/4 v4, 0x0 .line 58 invoke-virtual {p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle; move-result-object v2 .line 59 .local v2, extras:Landroid/os/Bundle; invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String; move-result-object v0 .line 60 .local v0, action:Ljava/lang/String; invoke-static {v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 61 const-string v3, "android.appwidget.action.APPWIDGET_DELETED" invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_25 .line 62 const-string v3, "appWidgetId" invoke-virtual {v2, v3, v4}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I move-result v1 .line 63 .local v1, appWidgetId:I if-eqz v1, :cond_24 .line 64 const/4 v3, 0x1 new-array v3, v3, [I aput v1, v3, v4 invoke-virtual {p0, p1, v3}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->onDeleted(Landroid/content/Context;[I)V .line 78 .end local v1 #appWidgetId:I, :cond_24 :goto_24 return-void .line 66 :cond_25 const-string v3, "android.net.wifi.WIFI_STATE_CHANGED" invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_36 .line 68 const-string v3, "System WifiChanged" invoke-static {v3}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 69 invoke-static {p1, v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->updateWidgetState(Landroid/content/Context;Ljava/lang/String;)V goto :goto_24 .line 70 :cond_36 const-string v3, "com.curvefish.wifionoff.UPDATE" invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_47 .line 72 const-string v3, "USER Wifi UPDATE" invoke-static {v3}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 73 invoke-static {p1, v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->updateWidgetState(Landroid/content/Context;Ljava/lang/String;)V goto :goto_24 .line 75 :cond_47 invoke-super {p0, p1, p2}, Landroid/appwidget/AppWidgetProvider;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V .line 76 const-string v3, "onReceive" invoke-static {v3}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V goto :goto_24 .end method .method public onUpdate(Landroid/content/Context;Landroid/appwidget/AppWidgetManager;[I)V .registers 5 .parameter "context" .parameter "appWidgetManager" .parameter "appWidgetIds" .prologue .line 25 const-string v0, "" invoke-static {p1, v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->updateWidgetState(Landroid/content/Context;Ljava/lang/String;)V .line 26 const-string v0, "onUpdate" invoke-static {v0}, Lcom/curvefish/widgets/wifionoff/WiFiOnOff;->p(Ljava/lang/String;)V .line 27 return-void .end method