diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCallControlReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCallControlReceiver.java index d1db7904f..22264dc3f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCallControlReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCallControlReceiver.java @@ -21,15 +21,20 @@ public class GBCallControlReceiver extends BroadcastReceiver { int keyCode; switch (command) { case CALL_END: + case CALL_START: try { TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); Class clazz = Class.forName(telephonyManager.getClass().getName()); Method method = clazz.getDeclaredMethod("getITelephony"); method.setAccessible(true); ITelephony telephonyService = (ITelephony) method.invoke(telephonyManager); - telephonyService.endCall(); + if (command == GBCommand.CALL_END) { + telephonyService.endCall(); + } else { + telephonyService.answerRingingCall(); + } } catch (Exception e) { - Log.w(TAG, "could not hangup call"); + Log.w(TAG, "could not start or hangup call"); } break; default: diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCommand.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCommand.java index 3010ebcfc..e299c77cd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCommand.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCommand.java @@ -8,7 +8,6 @@ public enum GBCommand { CALL_END, CALL_INCOMING, CALL_OUTGOING, - CALL_PICKUP, CALL_REJECT, CALL_START,