blob: 864d02a33532bdb2f52ed2571535b628282e585e [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_CLIPBOARD_CLIPBOARD_NUDGE_CONSTANTS_H_
#define ASH_CLIPBOARD_CLIPBOARD_NUDGE_CONSTANTS_H_
#include "ash/ash_export.h"
#include "base/time/time.h"
namespace ash {
enum ClipboardNudgeType {
// Onboarding nudge. Shows when a user copies and pastes repeatedly within a
// time frame.
kOnboardingNudge = 0,
// Shows when the keyboard shortcut for clipboard is pressed with no items
// in the history.
kZeroStateNudge = 1,
// Shows the keyboard shortcut for clipboard history in the screenshot
// notification nudge.
kScreenshotNotificationNudge = 2,
// Shows when a user copies data that is already in the clipboard history.
kDuplicateCopyNudge = 3,
// NOTE: Need to update when adding a new nudge type.
kMax = kDuplicateCopyNudge,
};
ASH_EXPORT extern const char* const kClipboardHistoryOnboardingNudgeShowCount;
ASH_EXPORT extern const char* const kClipboardHistoryOnboardingNudgeOpenTime;
ASH_EXPORT extern const char* const kClipboardHistoryOnboardingNudgePasteTime;
ASH_EXPORT extern const char* const kClipboardHistoryZeroStateNudgeShowCount;
ASH_EXPORT extern const char* const kClipboardHistoryZeroStateNudgeOpenTime;
ASH_EXPORT extern const char* const kClipboardHistoryZeroStateNudgePasteTime;
ASH_EXPORT extern const char* const
kClipboardHistoryScreenshotNotificationShowCount;
ASH_EXPORT extern const char* const
kClipboardHistoryScreenshotNotificationOpenTime;
ASH_EXPORT extern const char* const
kClipboardHistoryScreenshotNotificationPasteTime;
ASH_EXPORT extern const char* const
kClipboardHistoryDuplicateCopyNudgeShowCount;
ASH_EXPORT extern const char* const kClipboardHistoryDuplicateCopyNudgeOpenTime;
ASH_EXPORT extern const char* const
kClipboardHistoryDuplicateCopyNudgePasteTime;
// Returns the histogram that records the time delta between showing the nudge
// of `type` and pasting clipboard history data.
ASH_EXPORT const char* GetClipboardHistoryPasteTimeDeltaHistogram(
ClipboardNudgeType type);
// Returns the histogram that records the time delta between showing the nudge
// of `type` and showing the clipboard history menu.
ASH_EXPORT const char* GetMenuOpenTimeDeltaHistogram(ClipboardNudgeType type);
constexpr base::TimeDelta kCappedNudgeMinInterval = base::Days(1);
constexpr int kCappedNudgeShownLimit = 3;
constexpr int kContextMenuBadgeShowLimit = 3;
constexpr base::TimeDelta kMaxTimeBetweenPaste = base::Minutes(10);
} // namespace ash
#endif // ASH_CLIPBOARD_CLIPBOARD_NUDGE_CONSTANTS_H_