Commit 7e55c99e authored by tedchoc's avatar tedchoc Committed by Commit bot

Add shown user actions for the search engine promo.

BUG=724157

Review-Url: https://codereview.chromium.org/2899873002
Cr-Commit-Position: refs/heads/master@{#473938}
parent fc674bec
......@@ -11,16 +11,20 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.locale.DefaultSearchEngineDialogHelper;
import org.chromium.chrome.browser.locale.LocaleManager;
import org.chromium.chrome.browser.locale.LocaleManager.SearchEnginePromoType;
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.widget.RadioButtonLayout;
/** A {@link Fragment} that presents a set of search engines for the user to choose from. */
public class DefaultSearchEngineFirstRunFragment
extends FirstRunPage implements TemplateUrlService.LoadListener {
private DefaultSearchEngineDialogHelper mHelper;
@SearchEnginePromoType
private Integer mSearchEnginePromoDialoType;
private boolean mShownRecorded;
/** Layout that displays the available search engines to the user. */
private RadioButtonLayout mEngineLayout;
......@@ -48,14 +52,35 @@ public class DefaultSearchEngineFirstRunFragment
public void onTemplateUrlServiceLoaded() {
TemplateUrlService.getInstance().unregisterLoadListener(this);
int dialogType = LocaleManager.getInstance().getSearchEnginePromoShowType();
mSearchEnginePromoDialoType = LocaleManager.getInstance().getSearchEnginePromoShowType();
Runnable dismissRunnable = new Runnable() {
@Override
public void run() {
advanceToNextPage();
}
};
mHelper = new DefaultSearchEngineDialogHelper(
dialogType, mEngineLayout, mButton, dismissRunnable);
new DefaultSearchEngineDialogHelper(
mSearchEnginePromoDialoType, mEngineLayout, mButton, dismissRunnable);
if (getUserVisibleHint()) recordShown();
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) recordShown();
}
private void recordShown() {
if (mSearchEnginePromoDialoType == null) return;
if (mShownRecorded) return;
if (mSearchEnginePromoDialoType == LocaleManager.SEARCH_ENGINE_PROMO_SHOW_NEW) {
RecordUserAction.record("SearchEnginePromo.NewDevice.Shown.FirstRun");
} else if (mSearchEnginePromoDialoType == LocaleManager.SEARCH_ENGINE_PROMO_SHOW_EXISTING) {
RecordUserAction.record("SearchEnginePromo.ExistingDevice.Shown.FirstRun");
}
mShownRecorded = true;
}
}
......@@ -13,6 +13,7 @@ import android.widget.Button;
import org.chromium.base.Callback;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.locale.LocaleManager.SearchEnginePromoType;
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
......@@ -106,6 +107,11 @@ public class DefaultSearchEnginePromoDialog extends PromoDialog {
@Override
public void show() {
super.show();
if (mDialogType == LocaleManager.SEARCH_ENGINE_PROMO_SHOW_NEW) {
RecordUserAction.record("SearchEnginePromo.NewDevice.Shown.Dialog");
} else if (mDialogType == LocaleManager.SEARCH_ENGINE_PROMO_SHOW_EXISTING) {
RecordUserAction.record("SearchEnginePromo.ExistingDevice.Shown.Dialog");
}
if (sObserver != null) sObserver.onDialogShown(this);
}
......
......@@ -14454,6 +14454,44 @@ should be able to be added at any place in this file.
<description>User interacts with an answer card.</description>
</action>
<action name="SearchEnginePromo.ExistingDevice.Shown.Dialog">
<owner>dfalcantara@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<description>
The Existing Device search engine promo screen was shown as a dialog.
</description>
</action>
<action name="SearchEnginePromo.ExistingDevice.Shown.FirstRun">
<owner>dfalcantara@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<description>
The Existing Device search engine promo screen was shown in the first run
experience.
</description>
</action>
<action name="SearchEnginePromo.NewDevice.Shown.Dialog">
<owner>dfalcantara@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<description>
The New Device search engine promo screen was shown as a dialog.
</description>
</action>
<action name="SearchEnginePromo.NewDevice.Shown.FirstRun">
<owner>dfalcantara@chromium.org</owner>
<owner>tedchoc@chromium.org</owner>
<owner>yusufo@chromium.org</owner>
<description>
The New Device search engine promo screen was shown in the first run
experience.
</description>
</action>
<action name="SearchEngine_ManualChange">
<owner>ianwen@chromium.org</owner>
<description>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment