author | Zhiwei 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) |
commit | c1c91e848037718e88b8941b5004bbcd4c7e98c1 (patch) | |
tree | 69abc1f374cba22eaee7397c871678cb5d6c33f4 | |
parent | 9697b8f39330fbac624e4b624b68cee0537b1391 (diff) | |
download | PPPoE-c1c91e848037718e88b8941b5004bbcd4c7e98c1.zip PPPoE-c1c91e848037718e88b8941b5004bbcd4c7e98c1.tar.gz PPPoE-c1c91e848037718e88b8941b5004bbcd4c7e98c1.tar.bz2 |
add pppoe for AOSP
Change-Id: I3854ddd95f8e3bb1b4dd7abe3b3a826cd183957d
-rw-r--r-- | src/com/droidlogic/PPPoE/PppoeBroadcastReceiver.java | 34 |
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; |