| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/wm/maximize_mode/maximize_mode_controller.h" | 5 #include "ash/wm/maximize_mode/maximize_mode_controller.h" |
| 6 | 6 |
| 7 #include "ash/accelerators/accelerator_controller.h" | 7 #include "ash/accelerators/accelerator_controller.h" |
| 8 #include "ash/accelerators/accelerator_table.h" | 8 #include "ash/accelerators/accelerator_table.h" |
| 9 #include "ash/ash_switches.h" | 9 #include "ash/ash_switches.h" |
| 10 #include "ash/display/display_manager.h" | 10 #include "ash/display/display_manager.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 // inaccurate and a lid that is fully open may appear to be near closed (and | 50 // inaccurate and a lid that is fully open may appear to be near closed (and |
| 51 // vice versa). | 51 // vice versa). |
| 52 const float kMinStableAngle = 20.0f; | 52 const float kMinStableAngle = 20.0f; |
| 53 const float kMaxStableAngle = 340.0f; | 53 const float kMaxStableAngle = 340.0f; |
| 54 #endif // OS_CHROMEOS | 54 #endif // OS_CHROMEOS |
| 55 | 55 |
| 56 // The time duration to consider the lid to be recently opened. | 56 // The time duration to consider the lid to be recently opened. |
| 57 // This is used to prevent entering maximize mode if an erroneous accelerometer | 57 // This is used to prevent entering maximize mode if an erroneous accelerometer |
| 58 // reading makes the lid appear to be fully open when the user is opening the | 58 // reading makes the lid appear to be fully open when the user is opening the |
| 59 // lid from a closed position. | 59 // lid from a closed position. |
| 60 const base::TimeDelta kLidRecentlyOpenedDuration = | 60 const int kLidRecentlyOpenedDurationSeconds = 2; |
| 61 base::TimeDelta::FromSeconds(2); | |
| 62 | 61 |
| 63 #if defined(OS_CHROMEOS) | 62 #if defined(OS_CHROMEOS) |
| 64 // When the device approaches vertical orientation (i.e. portrait orientation) | 63 // When the device approaches vertical orientation (i.e. portrait orientation) |
| 65 // the accelerometers for the base and lid approach the same values (i.e. | 64 // the accelerometers for the base and lid approach the same values (i.e. |
| 66 // gravity pointing in the direction of the hinge). When this happens abrupt | 65 // gravity pointing in the direction of the hinge). When this happens abrupt |
| 67 // small acceleration perpendicular to the hinge can lead to incorrect hinge | 66 // small acceleration perpendicular to the hinge can lead to incorrect hinge |
| 68 // angle calculations. To prevent this the accelerometer updates will be | 67 // angle calculations. To prevent this the accelerometer updates will be |
| 69 // smoothed over time in order to reduce this noise. | 68 // smoothed over time in order to reduce this noise. |
| 70 // This is the minimum acceleration parallel to the hinge under which to begin | 69 // This is the minimum acceleration parallel to the hinge under which to begin |
| 71 // smoothing in m/s^2. | 70 // smoothing in m/s^2. |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 } | 361 } |
| 363 } | 362 } |
| 364 | 363 |
| 365 bool MaximizeModeController::WasLidOpenedRecently() const { | 364 bool MaximizeModeController::WasLidOpenedRecently() const { |
| 366 if (last_lid_open_time_.is_null()) | 365 if (last_lid_open_time_.is_null()) |
| 367 return false; | 366 return false; |
| 368 | 367 |
| 369 base::TimeTicks now = tick_clock_->NowTicks(); | 368 base::TimeTicks now = tick_clock_->NowTicks(); |
| 370 DCHECK(now >= last_lid_open_time_); | 369 DCHECK(now >= last_lid_open_time_); |
| 371 base::TimeDelta elapsed_time = now - last_lid_open_time_; | 370 base::TimeDelta elapsed_time = now - last_lid_open_time_; |
| 372 return elapsed_time <= kLidRecentlyOpenedDuration; | 371 return elapsed_time.InSeconds() <= kLidRecentlyOpenedDurationSeconds; |
| 373 } | 372 } |
| 374 | 373 |
| 375 void MaximizeModeController::SetTickClockForTest( | 374 void MaximizeModeController::SetTickClockForTest( |
| 376 scoped_ptr<base::TickClock> tick_clock) { | 375 scoped_ptr<base::TickClock> tick_clock) { |
| 377 DCHECK(tick_clock_); | 376 DCHECK(tick_clock_); |
| 378 tick_clock_ = tick_clock.Pass(); | 377 tick_clock_ = tick_clock.Pass(); |
| 379 } | 378 } |
| 380 | 379 |
| 381 } // namespace ash | 380 } // namespace ash |
| OLD | NEW |