hfp_ag.c (1a3bc516d32cb662bb5a04bc18b6a1f78e2c6ef6) hfp_ag.c (880e8fc690633d5c718ed90097c02c554bab89e9)
1/*
2 * Copyright (C) 2014 BlueKitchen GmbH
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 725 unchanged lines hidden (view full) ---

734 hfp_connection->state = HFP_W4_ENABLE_INDICATORS_STATUS_UPDATE;
735 hfp_ag_send_retrieve_indicators_status_cmd(hfp_connection->rfcomm_cid);
736 return 1;
737
738 case HFP_CMD_ENABLE_INDICATOR_STATUS_UPDATE:
739 if (hfp_connection->state != HFP_W4_ENABLE_INDICATORS_STATUS_UPDATE) break;
740 if (has_call_waiting_and_3way_calling_feature(hfp_connection)){
741 hfp_connection->state = HFP_W4_RETRIEVE_CAN_HOLD_CALL;
1/*
2 * Copyright (C) 2014 BlueKitchen GmbH
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 725 unchanged lines hidden (view full) ---

734 hfp_connection->state = HFP_W4_ENABLE_INDICATORS_STATUS_UPDATE;
735 hfp_ag_send_retrieve_indicators_status_cmd(hfp_connection->rfcomm_cid);
736 return 1;
737
738 case HFP_CMD_ENABLE_INDICATOR_STATUS_UPDATE:
739 if (hfp_connection->state != HFP_W4_ENABLE_INDICATORS_STATUS_UPDATE) break;
740 if (has_call_waiting_and_3way_calling_feature(hfp_connection)){
741 hfp_connection->state = HFP_W4_RETRIEVE_CAN_HOLD_CALL;
742 hfp_ag_send_ok(hfp_connection->rfcomm_cid);
742 } else if (has_hf_indicators_feature(hfp_connection)){
743 hfp_connection->state = HFP_W4_LIST_GENERIC_STATUS_INDICATORS;
743 } else if (has_hf_indicators_feature(hfp_connection)){
744 hfp_connection->state = HFP_W4_LIST_GENERIC_STATUS_INDICATORS;
745 hfp_ag_send_ok(hfp_connection->rfcomm_cid);
744 } else {
746 } else {
747 hfp_ag_send_ok(hfp_connection->rfcomm_cid);
745 hfp_ag_slc_established(hfp_connection);
746 }
748 hfp_ag_slc_established(hfp_connection);
749 }
747 hfp_ag_send_ok(hfp_connection->rfcomm_cid);
748 return 1;
750 return 1;
749
751
750 case HFP_CMD_SUPPORT_CALL_HOLD_AND_MULTIPARTY_SERVICES:
751 if (hfp_connection->state != HFP_W4_RETRIEVE_CAN_HOLD_CALL) break;
752 if (has_hf_indicators_feature(hfp_connection)){
753 hfp_connection->state = HFP_W4_LIST_GENERIC_STATUS_INDICATORS;
754 }
755 hfp_ag_send_retrieve_can_hold_call_cmd(hfp_connection->rfcomm_cid);
756 if (!has_hf_indicators_feature(hfp_connection)){
757 hfp_ag_slc_established(hfp_connection);

--- 2564 unchanged lines hidden ---
752 case HFP_CMD_SUPPORT_CALL_HOLD_AND_MULTIPARTY_SERVICES:
753 if (hfp_connection->state != HFP_W4_RETRIEVE_CAN_HOLD_CALL) break;
754 if (has_hf_indicators_feature(hfp_connection)){
755 hfp_connection->state = HFP_W4_LIST_GENERIC_STATUS_INDICATORS;
756 }
757 hfp_ag_send_retrieve_can_hold_call_cmd(hfp_connection->rfcomm_cid);
758 if (!has_hf_indicators_feature(hfp_connection)){
759 hfp_ag_slc_established(hfp_connection);

--- 2564 unchanged lines hidden ---