25 // Interval between end checks. |
25 // Interval between end checks. |
26 const TInt KRosterFreezeEndIntervalInMs = 50; |
26 const TInt KRosterFreezeEndIntervalInMs = 50; |
27 // Maximum amount of end checks to be performed. |
27 // Maximum amount of end checks to be performed. |
28 // This can be lower, should be visible enough to see, if heuristics fail. |
28 // This can be lower, should be visible enough to see, if heuristics fail. |
29 const TInt KRosterFreezeEndAttempts = 50; |
29 const TInt KRosterFreezeEndAttempts = 50; |
|
30 // Timeout for implicit blank off. |
|
31 const TInt KAlfImplicitBlankerTimeoutInMs = 250; |
30 |
32 |
31 // --------------------------------------------------------- |
33 // --------------------------------------------------------- |
32 // CAlfRosterFreezeEndTimer |
34 // CAlfRosterFreezeEndTimer |
33 // --------------------------------------------------------- |
35 // --------------------------------------------------------- |
34 // |
36 // |
117 me.Close(); |
119 me.Close(); |
118 } |
120 } |
119 |
121 |
120 CAlfLayoutSwitchEffectCoordinator::~CAlfLayoutSwitchEffectCoordinator() |
122 CAlfLayoutSwitchEffectCoordinator::~CAlfLayoutSwitchEffectCoordinator() |
121 { |
123 { |
|
124 delete iRosterFreezeEndTimer; |
|
125 delete iImplicitBlankTimer; |
122 } |
126 } |
123 |
127 |
124 // --------------------------------------------------------- |
128 // --------------------------------------------------------- |
125 // CAlfLayoutSwitchEffectCoordinator::Blank |
129 // CAlfLayoutSwitchEffectCoordinator::Blank |
126 // --------------------------------------------------------- |
130 // --------------------------------------------------------- |
127 // |
131 // |
128 void CAlfLayoutSwitchEffectCoordinator::Blank(TBool aEnabled) |
132 void CAlfLayoutSwitchEffectCoordinator::Blank(TBool aEnabled) |
129 { |
133 { |
130 __ALFLOGSTRING1("CAlfLayoutSwitchEffectCoordinator::Blank %d", aEnabled); |
134 __ALFLOGSTRING1("CAlfLayoutSwitchEffectCoordinator::Blank %d", aEnabled); |
131 iBlankEnabled = aEnabled; |
135 iAknBlankEnabled = aEnabled; |
132 Event( aEnabled ? EEventBlankOn : EEventBlankOff ); |
136 HandleBlankChange(); |
|
137 } |
|
138 |
|
139 // --------------------------------------------------------- |
|
140 // CAlfLayoutSwitchEffectCoordinator::ImplicitBlank |
|
141 // --------------------------------------------------------- |
|
142 // |
|
143 void CAlfLayoutSwitchEffectCoordinator::ImplicitBlank() |
|
144 { |
|
145 __ALFLOGSTRING("CAlfLayoutSwitchEffectCoordinator::ImplicitBlank"); |
|
146 |
|
147 if (!iImplicitBlankTimer) |
|
148 { |
|
149 iImplicitBlankTimer = CPeriodic::New(CActive::EPriorityHigh); |
|
150 if (!iImplicitBlankTimer) |
|
151 { |
|
152 return; |
|
153 } |
|
154 } |
|
155 |
|
156 iImplicitBlankEnabled = ETrue; |
|
157 HandleBlankChange(); |
|
158 |
|
159 if (iImplicitBlankTimer) |
|
160 { |
|
161 iImplicitBlankTimer->Cancel(); |
|
162 iImplicitBlankTimer->Start(KAlfImplicitBlankerTimeoutInMs*1000, KAlfImplicitBlankerTimeoutInMs*1000, |
|
163 TCallBack(DoImplicitBlankOff, this)); |
|
164 } |
|
165 } |
|
166 |
|
167 // --------------------------------------------------------- |
|
168 // CAlfLayoutSwitchEffectCoordinator::DoImplicitBlankOff |
|
169 // --------------------------------------------------------- |
|
170 // |
|
171 TInt CAlfLayoutSwitchEffectCoordinator::DoImplicitBlankOff(TAny* aAny) |
|
172 { |
|
173 __ALFLOGSTRING("CAlfLayoutSwitchEffectCoordinator::DoImplicitBlankOff"); |
|
174 |
|
175 CAlfLayoutSwitchEffectCoordinator* self = static_cast<CAlfLayoutSwitchEffectCoordinator*>(aAny); |
|
176 self->iImplicitBlankTimer->Cancel(); |
|
177 self->iImplicitBlankEnabled = EFalse; |
|
178 self->HandleBlankChange(); |
|
179 |
|
180 return KErrNone; |
|
181 } |
|
182 |
|
183 // --------------------------------------------------------- |
|
184 // CAlfLayoutSwitchEffectCoordinator::HandleBlankChange |
|
185 // --------------------------------------------------------- |
|
186 // |
|
187 void CAlfLayoutSwitchEffectCoordinator::HandleBlankChange() |
|
188 { |
|
189 TBool newBlankState = iAknBlankEnabled || iImplicitBlankEnabled; |
|
190 |
|
191 iBlankEnabled = newBlankState; |
|
192 Event( newBlankState ? EEventBlankOn : EEventBlankOff ); |
133 } |
193 } |
134 |
194 |
135 // --------------------------------------------------------- |
195 // --------------------------------------------------------- |
136 // CAlfLayoutSwitchEffectCoordinator::LowMemoryEvent |
196 // CAlfLayoutSwitchEffectCoordinator::LowMemoryEvent |
137 // --------------------------------------------------------- |
197 // --------------------------------------------------------- |