| Index: chrome/browser/metrics/desktop_engagement/desktop_engagement_service.h
|
| diff --git a/chrome/browser/metrics/desktop_engagement/desktop_engagement_service.h b/chrome/browser/metrics/desktop_engagement/desktop_engagement_service.h
|
| deleted file mode 100644
|
| index 789acec9300c0937d864059bd896f3b52757fe31..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/metrics/desktop_engagement/desktop_engagement_service.h
|
| +++ /dev/null
|
| @@ -1,97 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_METRICS_DESKTOP_ENGAGEMENT_DESKTOP_ENGAGEMENT_SERVICE_H_
|
| -#define CHROME_BROWSER_METRICS_DESKTOP_ENGAGEMENT_DESKTOP_ENGAGEMENT_SERVICE_H_
|
| -
|
| -#include "base/macros.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "base/time/time.h"
|
| -#include "base/timer/timer.h"
|
| -#include "chrome/browser/metrics/desktop_engagement/audible_contents_tracker.h"
|
| -#include "chrome/browser/metrics/desktop_engagement/chrome_visibility_observer.h"
|
| -
|
| -namespace metrics {
|
| -
|
| -// Class for tracking and recording user engagement based on browser visibility,
|
| -// audio and user interaction.
|
| -class DesktopEngagementService : public AudibleContentsTracker::Observer {
|
| - public:
|
| - // Creates the |DesktopEngagementService| instance and initializes the
|
| - // observes that notify to it.
|
| - static void Initialize();
|
| -
|
| - // Returns true if the |DesktopEngagementService| instance has been created.
|
| - static bool IsInitialized();
|
| -
|
| - // Returns the |DesktopEngagementService| instance.
|
| - static DesktopEngagementService* Get();
|
| -
|
| - // Called when user interaction with the browser is caught.
|
| - void OnUserEvent();
|
| -
|
| - // Called when visibility of the browser changes.
|
| - void OnVisibilityChanged(bool visible);
|
| -
|
| - bool is_visible() const { return is_visible_; }
|
| - bool in_session() const { return in_session_; }
|
| - bool is_audio_playing() const { return is_audio_playing_; }
|
| -
|
| - void SetInactivityTimeoutForTesting(int seconds) {
|
| - inactivity_timeout_ = base::TimeDelta::FromSeconds(seconds);
|
| - }
|
| -
|
| - protected:
|
| - DesktopEngagementService();
|
| - ~DesktopEngagementService() override;
|
| -
|
| - // AudibleContentsTracker::Observer
|
| - void OnAudioStart() override;
|
| - void OnAudioEnd() override;
|
| -
|
| - // Decides whether session should be ended. Called when timer for inactivity
|
| - // timeout was fired. Overridden by tests.
|
| - virtual void OnTimerFired();
|
| -
|
| - private:
|
| - // Starts timer based on |inactivity_timeout_|.
|
| - void StartTimer(base::TimeDelta duration);
|
| -
|
| - // Marks the start of the session.
|
| - void StartSession();
|
| -
|
| - // Ends the session and saves session information into histograms.
|
| - void EndSession();
|
| -
|
| - // Sets |inactivity_timeout_| based on variation params.
|
| - void InitInactivityTimeout();
|
| -
|
| - // Used for marking start if the session.
|
| - base::TimeTicks session_start_;
|
| -
|
| - // Used for marking last user interaction.
|
| - base::TimeTicks last_user_event_;
|
| -
|
| - // Used for marking current state of the user engagement.
|
| - bool is_visible_ = false;
|
| - bool in_session_ = false;
|
| - bool is_audio_playing_ = false;
|
| - bool is_first_session_ = true;
|
| -
|
| - // Timeout for waiting for user interaction.
|
| - base::TimeDelta inactivity_timeout_;
|
| -
|
| - base::OneShotTimer timer_;
|
| -
|
| - ChromeVisibilityObserver visibility_observer_;
|
| - AudibleContentsTracker audio_tracker_;
|
| -
|
| - base::WeakPtrFactory<DesktopEngagementService> weak_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DesktopEngagementService);
|
| -};
|
| -
|
| -} // namespace metrics
|
| -
|
| -#endif // CHROME_BROWSER_METRICS_DESKTOP_ENGAGEMENT_DESKTOP_ENGAGEMENT_SERVICE_H_
|
|
|