summaryrefslogtreecommitdiff
authorZhiwei Gong <zhiwei.gong@amlogic.com>2015-12-01 10:41:14 (GMT)
committer zhiwei.gong <zhiwei.gong@amlogic.com>2015-12-02 07:14:07 (GMT)
commitc1c91e848037718e88b8941b5004bbcd4c7e98c1 (patch)
tree69abc1f374cba22eaee7397c871678cb5d6c33f4
parent9697b8f39330fbac624e4b624b68cee0537b1391 (diff)
downloadPPPoE-c1c91e848037718e88b8941b5004bbcd4c7e98c1.zip
PPPoE-c1c91e848037718e88b8941b5004bbcd4c7e98c1.tar.gz
PPPoE-c1c91e848037718e88b8941b5004bbcd4c7e98c1.tar.bz2
add pppoe for AOSP
Change-Id: I3854ddd95f8e3bb1b4dd7abe3b3a826cd183957d
Diffstat
-rw-r--r--src/com/droidlogic/PPPoE/PppoeBroadcastReceiver.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/com/droidlogic/PPPoE/PppoeBroadcastReceiver.java b/src/com/droidlogic/PPPoE/PppoeBroadcastReceiver.java
index 088567e..ffeafd4 100644
--- a/src/com/droidlogic/PPPoE/PppoeBroadcastReceiver.java
+++ b/src/com/droidlogic/PPPoE/PppoeBroadcastReceiver.java
@@ -13,11 +13,15 @@ import android.net.wifi.WifiManager;
import android.util.Log;
import android.content.SharedPreferences;
import com.amlogic.pppoe.PppoeOperation;
+import com.droidlogic.pppoe.PppoeStateTracker;
+import com.droidlogic.pppoe.PppoeService;
import android.os.Handler;
+import android.os.HandlerThread;
import android.os.IBinder;
import android.os.Message;
import android.os.SystemProperties;
+
public class PppoeBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "PppoeBroadcastReceiver";
private static final String ACTION_BOOT_COMPLETED =
@@ -33,6 +37,35 @@ public class PppoeBroadcastReceiver extends BroadcastReceiver {
private PppoeOperation operation = null;
private static boolean mFirstAutoDialDone = false;
private Timer mMandatoryDialTimer = null;
+ public static final int TYPE_PPPOE = 0;
+ private static final String PPPOE_SERVICE = "pppoe";
+ void StartPppoeService(Context context)
+ {
+ boolean needPppoe = true;
+ if (needPppoe) {
+ final PppoeStateTracker pppoetracker;
+ HandlerThread handlerThread = new HandlerThread("myHandlerThread");
+ handlerThread.start();
+ try {
+ pppoetracker = new PppoeStateTracker(handlerThread.getLooper(),TYPE_PPPOE, PPPOE_SERVICE);
+ PppoeService pppoe = new PppoeService(context,pppoetracker);
+ Log.e(TAG, "start add service pppoe");
+ try {
+ Class.forName("android.os.ServiceManager").getMethod("addService", new Class[] {String.class, IBinder.class })
+ .invoke(null, new Object[] { PPPOE_SERVICE, pppoe });
+ }catch (Exception ex) {
+ Log.e(TAG, "addService " + PPPOE_SERVICE + " fail:" + ex);
+ }
+ Log.d(TAG, "end add service pppoe");
+ pppoetracker.startMonitoring(context);
+ // if (config.isDefault()) {
+ pppoetracker.reconnect();
+ // }
+ } catch (IllegalArgumentException e) {
+ Log.e(TAG, "Problem creating TYPE_PPPOE tracker: " + e);
+ }
+ }
+ }
private String getNetworkInterfaceSelected(Context context)
{
@@ -85,6 +118,7 @@ public class PppoeBroadcastReceiver extends BroadcastReceiver {
mUserName = getUserName(context);
mPassword = getPassword(context);
if (ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
+ StartPppoeService(context);
context.startService(new Intent(context,
MyPppoeService.class));
mFirstAutoDialDone = true;