diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 9082930c70fcd2370b737eaa11c2592f0ad48f80..624b9806705e95c77163a2996ce24e4b73096c35 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -60,6 +60,7 @@ as that of the covered work. <uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.VIBRATE" /> + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_CALL_LOG" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> diff --git a/src/org/sflphone/fragments/CallFragment.java b/src/org/sflphone/fragments/CallFragment.java index 56cbba16fdd3b3afd14f6d8fba2b848d791c086b..0a098f600ab9638eb313587ee40187d9490cb2bc 100644 --- a/src/org/sflphone/fragments/CallFragment.java +++ b/src/org/sflphone/fragments/CallFragment.java @@ -34,6 +34,10 @@ package org.sflphone.fragments; import java.util.ArrayList; import java.util.Locale; +import android.content.BroadcastReceiver; +import android.content.IntentFilter; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; import org.sflphone.R; import org.sflphone.model.Attractor; import org.sflphone.model.Bubble; @@ -104,6 +108,16 @@ public class CallFragment extends Fragment implements Callback { private Bitmap call_icon; TransferDFragment editName; + private WifiManager wifiManager; + private BroadcastReceiver wifiReceiver = new BroadcastReceiver() { + + @Override + public void onReceive(Context context, Intent intent) { + WifiInfo info = wifiManager.getConnectionInfo(); + Log.i(TAG, "Level of wifi " +info.getRssi()); + } + + }; @Override public void onCreate(Bundle savedBundle) { @@ -123,7 +137,21 @@ public class CallFragment extends Fragment implements Callback { if (wakeLock != null && !wakeLock.isHeld()) { wakeLock.acquire(); } + } + + private void initializeWiFiListener(){ + Log.i(TAG, "executing initializeWiFiListener"); + + String connectivity_context = Context.WIFI_SERVICE; + wifiManager = (WifiManager) getActivity().getSystemService(connectivity_context); + + if(!wifiManager.isWifiEnabled()){ + if(wifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLING){ + wifiManager.setWifiEnabled(true); + } + } + getActivity().registerReceiver(wifiReceiver, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION)); } /** @@ -211,11 +239,13 @@ public class CallFragment extends Fragment implements Callback { @Override public void onResume() { super.onResume(); + initializeWiFiListener(); } @Override public void onPause() { super.onPause(); + getActivity().unregisterReceiver(wifiReceiver); if (wakeLock != null && wakeLock.isHeld()) { wakeLock.release(); }