| Index: chrome/browser/ui/app_list/app_list_service_impl.cc
|
| diff --git a/chrome/browser/ui/app_list/app_list_service_impl.cc b/chrome/browser/ui/app_list/app_list_service_impl.cc
|
| index 0a133c59929e1a9edd0f476d6f56cb20d118e2d6..043da34896f22c3d8a14cce14981d3f0535f6bdb 100644
|
| --- a/chrome/browser/ui/app_list/app_list_service_impl.cc
|
| +++ b/chrome/browser/ui/app_list/app_list_service_impl.cc
|
| @@ -15,7 +15,6 @@
|
| #include "chrome/browser/apps/shortcut_manager.h"
|
| #include "chrome/browser/apps/shortcut_manager_factory.h"
|
| #include "chrome/browser/browser_process.h"
|
| -#include "chrome/browser/browser_shutdown.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| #include "chrome/browser/ui/app_list/keep_alive_service.h"
|
| #include "chrome/browser/ui/app_list/keep_alive_service_impl.h"
|
| @@ -27,8 +26,6 @@
|
| #include "content/public/browser/browser_thread.h"
|
|
|
| namespace {
|
| -
|
| -const int kDiscoverabilityTimeoutMinutes = 60;
|
|
|
| void SendAppListAppLaunch(int count) {
|
| UMA_HISTOGRAM_CUSTOM_COUNTS(
|
| @@ -69,9 +66,6 @@
|
| const char* last_ping_pref,
|
| const char* count_pref,
|
| void (*send_callback)(int count)) {
|
| - if (!g_browser_process)
|
| - return; // In a unit test.
|
| -
|
| PrefService* local_state = g_browser_process->local_state();
|
|
|
| int count = local_state->GetInteger(count_pref);
|
| @@ -144,67 +138,13 @@
|
| base::WeakPtrFactory<ProfileStoreImpl> weak_factory_;
|
| };
|
|
|
| -void RecordAppListDiscoverability(PrefService* local_state,
|
| - bool is_startup_check) {
|
| - // Since this task may be delayed, ensure it does not interfere with shutdown
|
| - // when they unluckily coincide.
|
| - if (browser_shutdown::IsTryingToQuit())
|
| - return;
|
| -
|
| - int64 enable_time_value = local_state->GetInt64(prefs::kAppListEnableTime);
|
| - if (enable_time_value == 0)
|
| - return; // Already recorded or never enabled.
|
| -
|
| - base::Time app_list_enable_time =
|
| - base::Time::FromInternalValue(enable_time_value);
|
| - if (is_startup_check) {
|
| - // When checking at startup, only clear and record the "timeout" case,
|
| - // otherwise wait for a timeout.
|
| - base::TimeDelta time_remaining =
|
| - app_list_enable_time +
|
| - base::TimeDelta::FromMinutes(kDiscoverabilityTimeoutMinutes) -
|
| - base::Time::Now();
|
| - if (time_remaining > base::TimeDelta()) {
|
| - base::MessageLoop::current()->PostDelayedTask(
|
| - FROM_HERE,
|
| - base::Bind(&RecordAppListDiscoverability,
|
| - base::Unretained(local_state),
|
| - false),
|
| - time_remaining);
|
| - return;
|
| - }
|
| - }
|
| -
|
| - local_state->SetInt64(prefs::kAppListEnableTime, 0);
|
| -
|
| - AppListService::AppListEnableSource enable_source =
|
| - static_cast<AppListService::AppListEnableSource>(
|
| - local_state->GetInteger(prefs::kAppListEnableMethod));
|
| - if (enable_source == AppListService::ENABLE_FOR_APP_INSTALL) {
|
| - base::TimeDelta time_taken = base::Time::Now() - app_list_enable_time;
|
| - // This means the user "discovered" the app launcher naturally, after it was
|
| - // enabled on the first app install. Record how long it took to discover.
|
| - // Note that the last bucket is essentially "not discovered": subtract 1
|
| - // minute to account for clock inaccuracy.
|
| - UMA_HISTOGRAM_CUSTOM_TIMES(
|
| - "Apps.AppListTimeToDiscover",
|
| - time_taken,
|
| - base::TimeDelta::FromSeconds(1),
|
| - base::TimeDelta::FromMinutes(kDiscoverabilityTimeoutMinutes - 1),
|
| - 10 /* bucket_count */);
|
| - }
|
| - UMA_HISTOGRAM_ENUMERATION("Apps.AppListHowEnabled",
|
| - enable_source,
|
| - AppListService::ENABLE_NUM_ENABLE_SOURCES);
|
| -}
|
| -
|
| } // namespace
|
|
|
| +// static
|
| void AppListServiceImpl::RecordAppListLaunch() {
|
| RecordDailyEventFrequency(prefs::kLastAppListLaunchPing,
|
| prefs::kAppListLaunchCount,
|
| &SendAppListLaunch);
|
| - RecordAppListDiscoverability(local_state_, false);
|
| }
|
|
|
| // static
|
| @@ -315,40 +255,13 @@
|
| weak_factory_.GetWeakPtr()));
|
| }
|
|
|
| -void AppListServiceImpl::AutoShowForProfile(Profile* requested_profile) {
|
| - if (local_state_->GetInt64(prefs::kAppListEnableTime) != 0) {
|
| - // User has not yet discovered the app launcher. Update the enable method to
|
| - // indicate this. It will then be recorded in UMA.
|
| - local_state_->SetInteger(prefs::kAppListEnableMethod,
|
| - ENABLE_SHOWN_UNDISCOVERED);
|
| - }
|
| - ShowForProfile(requested_profile);
|
| -}
|
| -
|
| -void AppListServiceImpl::EnableAppList(Profile* initial_profile,
|
| - AppListEnableSource enable_source) {
|
| +void AppListServiceImpl::EnableAppList(Profile* initial_profile) {
|
| SetProfilePath(initial_profile->GetPath());
|
| if (local_state_->GetBoolean(prefs::kAppLauncherHasBeenEnabled))
|
| return;
|
|
|
| local_state_->SetBoolean(prefs::kAppLauncherHasBeenEnabled, true);
|
| CreateShortcut();
|
| -
|
| - // UMA for launcher discoverability.
|
| - local_state_->SetInt64(prefs::kAppListEnableTime,
|
| - base::Time::Now().ToInternalValue());
|
| - local_state_->SetInteger(prefs::kAppListEnableMethod, enable_source);
|
| - if (base::MessageLoop::current()) {
|
| - // Ensure a value is recorded if the user "never" shows the app list. Note
|
| - // there is no message loop in unit tests.
|
| - base::MessageLoop::current()->PostDelayedTask(
|
| - FROM_HERE,
|
| - base::Bind(&RecordAppListDiscoverability,
|
| - base::Unretained(local_state_),
|
| - false),
|
| - base::TimeDelta::FromMinutes(kDiscoverabilityTimeoutMinutes));
|
| - }
|
| -
|
| AppShortcutManager* shortcut_manager =
|
| AppShortcutManagerFactory::GetForProfile(initial_profile);
|
| if (shortcut_manager)
|
| @@ -359,20 +272,15 @@
|
| profile_loader_->InvalidatePendingProfileLoads();
|
| }
|
|
|
| -void AppListServiceImpl::PerformStartupChecks(Profile* initial_profile) {
|
| - // Except in rare, once-off cases, this just checks that a pref is "0" and
|
| - // returns.
|
| - RecordAppListDiscoverability(local_state_, true);
|
| -
|
| +void AppListServiceImpl::HandleCommandLineFlags(Profile* initial_profile) {
|
| if (command_line_.HasSwitch(switches::kResetAppListInstallState))
|
| local_state_->SetBoolean(prefs::kAppLauncherHasBeenEnabled, false);
|
|
|
| if (command_line_.HasSwitch(switches::kEnableAppList))
|
| - EnableAppList(initial_profile, ENABLE_VIA_COMMAND_LINE);
|
| -
|
| - if (!base::MessageLoop::current())
|
| - return; // In a unit test.
|
| -
|
| + EnableAppList(initial_profile);
|
| +}
|
| +
|
| +void AppListServiceImpl::SendUsageStats() {
|
| // Send app list usage stats after a delay.
|
| const int kSendUsageStatsDelay = 5;
|
| base::MessageLoop::current()->PostDelayedTask(
|
|
|