diff --git a/app/src/main/java/com/ericsson/uecontrol/core/util/CallUtil.java b/app/src/main/java/com/ericsson/uecontrol/core/util/CallUtil.java
index e898f52..e6df53f 100755
--- a/app/src/main/java/com/ericsson/uecontrol/core/util/CallUtil.java
+++ b/app/src/main/java/com/ericsson/uecontrol/core/util/CallUtil.java
@@ -39,10 +39,10 @@ public class CallUtil {
}
- private static void answerPhoneAidl() throws Exception {
+ private static void answerCall() throws Exception {
log.debug("Answering Speech Call");
- Object telephonyService = getTelephonyService();
+ Object telephonyService = getTelephonyServiceAidl();
Class c = Class.forName(telephonyService.getClass().getName());
// Silence ringer
Method m = c.getDeclaredMethod("silenceRinger");
@@ -52,13 +52,25 @@ public class CallUtil {
m = c.getDeclaredMethod("answerRingingCall");
m.setAccessible(true);
m.invoke(telephonyService);
+
+ /* Fallback Solution
+ // Simulate a press of the headset button to pick up the call
+ Intent buttonDown = new Intent(Intent.ACTION_MEDIA_BUTTON);
+ buttonDown.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));
+ context.sendOrderedBroadcast(buttonDown, "android.permission.CALL_PRIVILEGED");
+
+ // froyo and beyond trigger on buttonUp instead of buttonDown
+ Intent buttonUp = new Intent(Intent.ACTION_MEDIA_BUTTON);
+ buttonUp.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK));
+ context.sendOrderedBroadcast(buttonUp, "android.permission.CALL_PRIVILEGED");
+ */
}
public static void endCall() throws ClassNotFoundException, InvocationTargetException, IllegalAccessException, NoSuchMethodException {
log.debug("Ending Speech Call");
- Object telephonyService = getTelephonyService();
+ Object telephonyService = getTelephonyServiceAidl();
Class c = Class.forName(telephonyService.getClass().getName()); // Get its class
Method m = c.getDeclaredMethod("endCall"); // Get the "endCall()" method
m.setAccessible(true); // Make it accessible
@@ -66,7 +78,7 @@ public class CallUtil {
}
- private static Object getTelephonyService() throws InvocationTargetException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException {
+ private static Object getTelephonyServiceAidl() throws InvocationTargetException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException {
Context context = MainActivity.getContext();
TelephonyManager tm = (TelephonyManager) context
diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java
index d79002d..1a804f7 100755
--- a/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java
+++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java
@@ -115,7 +115,7 @@ public class CSVWriter {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if(netInfo == null)
- return "";
+ return "n/a";
if(netInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
TelephonyManager telMan = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
@@ -144,7 +144,7 @@ public class CSVWriter {
return data.toString();
}
- return "";
+ return "n/a";
}
private static String getCellId(CellInfo cell){
int cid = Integer.MAX_VALUE;
@@ -158,7 +158,7 @@ public class CSVWriter {
cid = ((CellInfoLte) cell).getCellIdentity().getCi();
if(cid == Integer.MAX_VALUE)
- return "UNKNOWN";
+ return "n/a";
else
return ""+cid;
}
@@ -166,13 +166,13 @@ public class CSVWriter {
private static String getSSID(Context context){
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
- if(netInfo == null || netInfo.getType() == ConnectivityManager.TYPE_WIFI)
- return "";
+ if(netInfo == null || netInfo.getType() != ConnectivityManager.TYPE_WIFI)
+ return "n/a";
WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wm.getConnectionInfo();
if(wifiInfo == null)
- return "";
+ return "n/a";
return wifiInfo.getSSID().replace("\"", "");
}
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 23363f6..841b027 100755
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -4,6 +4,7 @@
- com.ericsson.uecontrol.core.behaviour.UeBehaviourFileDownload
- com.ericsson.uecontrol.core.behaviour.UeBehaviourFtpDownload
- com.ericsson.uecontrol.core.behaviour.UeBehaviourFtpUpload
+ - com.ericsson.uecontrol.core.behaviour.UeBehaviourReceiveCall
- com.ericsson.uecontrol.core.behaviour.UeBehaviourSendSMS
- com.ericsson.uecontrol.core.behaviour.UeBehaviourSleep
- com.ericsson.uecontrol.core.behaviour.UeBehaviourSpeechCall