From 0a05a6b69cd8c229af30ca66b9e49e75684a1356 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Mon, 11 Aug 2014 11:49:44 +0200 Subject: [PATCH] Fixed WIFI SSID not shown in csv log --- .../uecontrol/core/util/CallUtil.java | 20 +++++++++++++++---- .../uecontrol/gui/util/CSVWriter.java | 12 +++++------ app/src/main/res/values/arrays.xml | 1 + 3 files changed, 23 insertions(+), 10 deletions(-) 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