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() |