X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=android%2Fandroid_api%2Fbase%2Fsrc%2Fmain%2Fjava%2Forg%2Fiotivity%2Fca%2FCaIpInterface.java;h=a011dfed85899c2fb4ba3f9cab92a08c3d069c9a;hb=17c68b2fd1e74586f85e552eeab4e32dc121f8a0;hp=1e807d149fda4779e8dc690b38f42c2d32c030df;hpb=8c01dff2c5bc5496f7dc1632c498943ec6ecb015;p=platform%2Fupstream%2Fiotivity.git diff --git a/android/android_api/base/src/main/java/org/iotivity/ca/CaIpInterface.java b/android/android_api/base/src/main/java/org/iotivity/ca/CaIpInterface.java index 1e807d1..a011dfe 100644 --- a/android/android_api/base/src/main/java/org/iotivity/ca/CaIpInterface.java +++ b/android/android_api/base/src/main/java/org/iotivity/ca/CaIpInterface.java @@ -27,10 +27,31 @@ import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiManager; +import android.util.Log; public class CaIpInterface { private static Context mContext; + public enum WifiAPState{ + WIFI_AP_STATE_DISABLING (10), + WIFI_AP_STATE_DISABLED (11), + WIFI_AP_STATE_ENABLING (12), + WIFI_AP_STATE_ENABLED (13), + WIFI_AP_STATE_FAILED (14) + ; // semicolon needed when fields / methods follow + + + private final int apstate; + + WifiAPState(int apstate) + { + this.apstate = apstate; + } + public int getIntValue() { + return this.apstate; + } + } + private CaIpInterface(Context context) { mContext = context; registerIpStateReceiver(); @@ -40,6 +61,7 @@ public class CaIpInterface { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); + intentFilter.addAction("android.net.wifi.WIFI_AP_STATE_CHANGED"); mContext.registerReceiver(mReceiver, intentFilter); } @@ -59,6 +81,26 @@ public class CaIpInterface { caIpStateEnabled(); } } + + if (intent.getAction().equals("android.net.wifi.WIFI_AP_STATE_CHANGED")) { + if (intent.getIntExtra("wifi_state", + WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue()) + == WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue()) + { + caIpStateDisabled(); + }else if(intent.getIntExtra("wifi_state", + WifiAPState.WIFI_AP_STATE_DISABLED.getIntValue()) + == WifiAPState.WIFI_AP_STATE_ENABLED.getIntValue()) + { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + caIpStateEnabled(); + } + } } };