summaryrefslogtreecommitdiff
authorkejun.gao <kejun.gao@amlogic.com>2012-06-05 12:54:24 (GMT)
committer kejun.gao <kejun.gao@amlogic.com>2012-06-05 12:54:24 (GMT)
commit0a93fca43e43ea8aed225f7044906d9cf2b465e0 (patch)
treeda539579e86bbed62a64061d46f0adc5a3b90aae
parenta1bab4f323e4a2257d4b8b4eeb1e565525ded5a1 (diff)
downloadPPPoE-0a93fca43e43ea8aed225f7044906d9cf2b465e0.zip
PPPoE-0a93fca43e43ea8aed225f7044906d9cf2b465e0.tar.gz
PPPoE-0a93fca43e43ea8aed225f7044906d9cf2b465e0.tar.bz2
Auto Dial on Reboot for Wifi
Diffstat
-rwxr-xr-xAndroidManifest.xml1
-rw-r--r--src/com/amlogic/PPPoE/PppoeBroadcastReceiver.java101
2 files changed, 56 insertions, 46 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e31fb52..f9f6c9f 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -64,6 +64,7 @@
<receiver android:name=".PppoeBroadcastReceiver">
<intent-filter>
<action android:name="android.net.ethernet.ETH_STATE_CHANGED"/>
+ <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
diff --git a/src/com/amlogic/PPPoE/PppoeBroadcastReceiver.java b/src/com/amlogic/PPPoE/PppoeBroadcastReceiver.java
index ff5fcb5..8d71511 100644
--- a/src/com/amlogic/PPPoE/PppoeBroadcastReceiver.java
+++ b/src/com/amlogic/PPPoE/PppoeBroadcastReceiver.java
@@ -6,6 +6,7 @@ import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
+import android.net.wifi.WifiManager;
import android.net.ethernet.EthernetStateTracker;
import android.net.ethernet.EthernetManager;
import android.content.SharedPreferences;
@@ -16,11 +17,6 @@ import android.os.Message;
public class PppoeBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "PppoeBroadcastReceiver";
- private static final String ACTION_BOOT_COMPLETED =
- "android.intent.action.BOOT_COMPLETED";
-
- private static final String ACTION_NETWORK_STAT_CHANGED=
- "com.amlogic.mediacenter.NETWORK_STATE_CHANGED";
private Handler mHandler;
private boolean mAutoDialFlag = false;
@@ -29,50 +25,51 @@ public class PppoeBroadcastReceiver extends BroadcastReceiver {
private String mPassword = null;
private PppoeOperation operation = null;
- private String getNetworkInterfaceSelected(Context context)
- {
- SharedPreferences sharedata = context.getSharedPreferences("inputdata", 0);
- if(sharedata != null && sharedata.getAll().size() > 0)
- {
- return sharedata.getString(PppoeConfigDialog.INFO_NETWORK_INTERFACE_SELECTED, null);
- }
+ private String getNetworkInterfaceSelected(Context context)
+ {
+ SharedPreferences sharedata = context.getSharedPreferences("inputdata", 0);
+ if(sharedata != null && sharedata.getAll().size() > 0)
+ {
+ return sharedata.getString(PppoeConfigDialog.INFO_NETWORK_INTERFACE_SELECTED, null);
+ }
return null;
- }
+ }
- private boolean getAutoDialFlag(Context context)
- {
- SharedPreferences sharedata = context.getSharedPreferences("inputdata", 0);
- if(sharedata != null && sharedata.getAll().size() > 0)
- {
- return sharedata.getBoolean(PppoeConfigDialog.INFO_AUTO_DIAL_FLAG, false);
- }
+ private boolean getAutoDialFlag(Context context)
+ {
+ SharedPreferences sharedata = context.getSharedPreferences("inputdata", 0);
+ if(sharedata != null && sharedata.getAll().size() > 0)
+ {
+ return sharedata.getBoolean(PppoeConfigDialog.INFO_AUTO_DIAL_FLAG, false);
+ }
return false;
- }
-
- private String getUserName(Context context)
- {
- SharedPreferences sharedata = context.getSharedPreferences("inputdata", 0);
- if(sharedata != null && sharedata.getAll().size() > 0)
- {
- return sharedata.getString(PppoeConfigDialog.INFO_USERNAME, null);
- }
+ }
+
+ private String getUserName(Context context)
+ {
+ SharedPreferences sharedata = context.getSharedPreferences("inputdata", 0);
+ if(sharedata != null && sharedata.getAll().size() > 0)
+ {
+ return sharedata.getString(PppoeConfigDialog.INFO_USERNAME, null);
+ }
return null;
- }
-
- private String getPassword(Context context)
- {
- SharedPreferences sharedata = context.getSharedPreferences("inputdata", 0);
- if(sharedata != null && sharedata.getAll().size() > 0)
- {
- return sharedata.getString(PppoeConfigDialog.INFO_PASSWORD, null);
- }
+ }
+
+ private String getPassword(Context context)
+ {
+ SharedPreferences sharedata = context.getSharedPreferences("inputdata", 0);
+ if(sharedata != null && sharedata.getAll().size() > 0)
+ {
+ return sharedata.getString(PppoeConfigDialog.INFO_PASSWORD, null);
+ }
return null;
- }
+ }
@Override
public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
Log.d(TAG , ">>>>>onReceive :" +intent.getAction());
mInterfaceSelected = getNetworkInterfaceSelected(context);
Log.d(TAG , "InterfaceSelected = " + mInterfaceSelected);
@@ -90,30 +87,42 @@ public class PppoeBroadcastReceiver extends BroadcastReceiver {
|| null == mPassword)
return;
- if (EthernetManager.ETH_STATE_CHANGED_ACTION.equals(intent.getAction())) {
+ if (EthernetManager.ETH_STATE_CHANGED_ACTION.equals(action)) {
if (!mInterfaceSelected.startsWith("eth"))
return;
- int event = intent.getIntExtra(EthernetManager.EXTRA_ETH_STATE, -1);
+ int event = intent.getIntExtra(EthernetManager.EXTRA_ETH_STATE, -1);
if (event == EthernetStateTracker.EVENT_HW_DISCONNECTED ) {
Log.d(TAG , "EVENT_HW_DISCONNECTED");
- //context.stopService(new Intent(context, PppoeService.class));
}
else if (event == EthernetStateTracker.EVENT_HW_PHYCONNECTED ) {
Log.d(TAG , "EVENT_HW_PHYCONNECTED");
- operation = new PppoeOperation();
+ operation = new PppoeOperation();
operation.disconnect();
mHandler = new PppoeHandler();
mHandler.sendEmptyMessageDelayed(0, 5000);
-
- //context.startService(new Intent(context, PppoeService.class));
}
else if (event == EthernetStateTracker.EVENT_HW_CONNECTED )
Log.d(TAG , "EVENT_HW_CONNECTED");
else
Log.d(TAG , "EVENT=" + event);
}
+
+ if ((ConnectivityManager.CONNECTIVITY_ACTION).equals(action)) {
+ NetworkInfo netInfo = (NetworkInfo) intent.getExtra(WifiManager.EXTRA_NETWORK_INFO, null);
+ if((netInfo != null) && (netInfo.getDetailedState() == NetworkInfo.DetailedState.CONNECTED))
+ {
+ if (!mInterfaceSelected.startsWith("wlan"))
+ return;
+
+ operation = new PppoeOperation();
+ operation.disconnect();
+
+ mHandler = new PppoeHandler();
+ mHandler.sendEmptyMessageDelayed(0, 5000);
+ }
+ }
}
@@ -125,7 +134,7 @@ public class PppoeBroadcastReceiver extends BroadcastReceiver {
Log.d(TAG, "handleMessage");
- operation.connect(mInterfaceSelected, mUserName, mPassword);
+ operation.connect(mInterfaceSelected, mUserName, mPassword);
}
}
}