Chromium Code Reviews| Index: chrome/browser/ui/app_list/search/app_result.cc |
| diff --git a/chrome/browser/ui/app_list/search/app_result.cc b/chrome/browser/ui/app_list/search/app_result.cc |
| index 5a966f17957f828e97f19b3d4e402901404ccf4d..60c0b4e797c09315a84a19d11c888a96c76a529c 100644 |
| --- a/chrome/browser/ui/app_list/search/app_result.cc |
| +++ b/chrome/browser/ui/app_list/search/app_result.cc |
| @@ -4,6 +4,7 @@ |
| #include "chrome/browser/ui/app_list/search/app_result.h" |
| +#include "base/time/time.h" |
| #include "chrome/browser/extensions/extension_service.h" |
| #include "chrome/browser/extensions/extension_util.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -73,6 +74,16 @@ void AppResult::UpdateFromMatch(const TokenizedString& title, |
| set_relevance(match.relevance()); |
| } |
| +void AppResult::UpdateFromLastLaunched(const base::Time& last_launched) { |
| + base::TimeDelta delta = base::Time::Now() - last_launched; |
| + DCHECK_LE(0, delta.InSeconds()); |
| + const int kSecondsInWeek = 60 * 60 * 24 * 7; |
| + |
| + // Set the relevance to a value between 0 and 1. This function decays as the |
| + // time delta increases and reaches a value of 0.5 at 1 week. |
| + set_relevance(1 / (1 + delta.InSecondsF() / kSecondsInWeek)); |
|
Matt Giuca
2014/07/22 04:31:07
Why does the relevance have to be a float? How ing
calamity
2014/07/22 07:24:04
Very. Boost values are +1-4 which rely on the base
Matt Giuca
2014/07/23 01:53:18
Acknowledged.
|
| +} |
| + |
| void AppResult::Open(int event_flags) { |
| const extensions::Extension* extension = |
| extensions::ExtensionSystem::Get(profile_)->extension_service() |