summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/hmi_state.cc
blob: 4cd5e771f9e0c89c6e3eda8bc349c5ba101f2ae8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "application_manager/hmi_state.h"
#include "utils/helpers.h"

namespace application_manager {

// GAL some thing wrong heres
HmiState::HmiState(HmiStatePtr prev):
  parent_(prev),
  hmi_level_(mobile_apis::HMILevel::INVALID_ENUM),
  audio_streaming_state_(mobile_apis::AudioStreamingState::INVALID_ENUM),
  system_context_(mobile_apis::SystemContext::INVALID_ENUM) {

}

HmiState::HmiState():
  state_id_(STATE_ID_REGULAR),
  parent_(NULL),
  hmi_level_(mobile_apis::HMILevel::INVALID_ENUM),
  audio_streaming_state_(mobile_apis::AudioStreamingState::INVALID_ENUM),
  system_context_(mobile_apis::SystemContext::INVALID_ENUM) {

}

HmiState::HmiState(const HmiState& copy_from):
  state_id_(STATE_ID_REGULAR),
  parent_(copy_from.parent()), hmi_level_(copy_from.hmi_level()),
  audio_streaming_state_(copy_from.audio_streaming_state()),
  system_context_(copy_from.system_context()) {

}

HmiState::HmiState(mobile_apis::HMILevel::eType hmi_level,
                                 mobile_apis::AudioStreamingState::eType audio_streaming_state,
                                 mobile_apis::SystemContext::eType system_context):
  state_id_(STATE_ID_REGULAR),
  hmi_level_(hmi_level),
  audio_streaming_state_(audio_streaming_state), system_context_(system_context) {
}

void HmiState::setParent(HmiStatePtr parent) {
  DCHECK_OR_RETURN_VOID(parent);
  parent_ = parent;
}

VRHmiState::VRHmiState(HmiStatePtr previous):
  HmiState(previous) {
}

TTSHmiState::TTSHmiState(HmiStatePtr previous):
  HmiState(previous) {
  using namespace mobile_apis;
  state_id_ = STATE_ID_TTS_SESSION;
  if (HMILevel::HMI_NONE != hmi_level() &&
      HMILevel::HMI_BACKGROUND!= hmi_level()) {
    audio_streaming_state_ = AudioStreamingState::ATTENUATED;
  } else {
    audio_streaming_state_ = previous->audio_streaming_state();
  }
}

PhoneCallHmiState::PhoneCallHmiState(HmiStatePtr previous):
  HmiState(previous) {
  state_id_ = STATE_ID_PHONE_CALL;
}

SafetyModeHmiState::SafetyModeHmiState(HmiStatePtr previous):
  HmiState(previous) {
  state_id_ = STATE_ID_SAFETY_MODE;
}

}