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; ...@@ -11,16 +11,20 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.locale.DefaultSearchEngineDialogHelper; import org.chromium.chrome.browser.locale.DefaultSearchEngineDialogHelper;
import org.chromium.chrome.browser.locale.LocaleManager; 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.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.widget.RadioButtonLayout; import org.chromium.chrome.browser.widget.RadioButtonLayout;
/** A {@link Fragment} that presents a set of search engines for the user to choose from. */ /** A {@link Fragment} that presents a set of search engines for the user to choose from. */
public class DefaultSearchEngineFirstRunFragment public class DefaultSearchEngineFirstRunFragment
extends FirstRunPage implements TemplateUrlService.LoadListener { 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. */ /** Layout that displays the available search engines to the user. */
private RadioButtonLayout mEngineLayout; private RadioButtonLayout mEngineLayout;
...@@ -48,14 +52,35 @@ public class DefaultSearchEngineFirstRunFragment ...@@ -48,14 +52,35 @@ public class DefaultSearchEngineFirstRunFragment
public void onTemplateUrlServiceLoaded() { public void onTemplateUrlServiceLoaded() {
TemplateUrlService.getInstance().unregisterLoadListener(this); TemplateUrlService.getInstance().unregisterLoadListener(this);
int dialogType = LocaleManager.getInstance().getSearchEnginePromoShowType(); mSearchEnginePromoDialoType = LocaleManager.getInstance().getSearchEnginePromoShowType();
Runnable dismissRunnable = new Runnable() { Runnable dismissRunnable = new Runnable() {
@Override @Override
public void run() { public void run() {
advanceToNextPage(); advanceToNextPage();
} }
}; };
mHelper = new DefaultSearchEngineDialogHelper( new DefaultSearchEngineDialogHelper(
dialogType, mEngineLayout, mButton, dismissRunnable); 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; ...@@ -13,6 +13,7 @@ import android.widget.Button;
import org.chromium.base.Callback; import org.chromium.base.Callback;
import org.chromium.base.VisibleForTesting; import org.chromium.base.VisibleForTesting;
import org.chromium.base.library_loader.LibraryLoader; import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.locale.LocaleManager.SearchEnginePromoType; import org.chromium.chrome.browser.locale.LocaleManager.SearchEnginePromoType;
import org.chromium.chrome.browser.search_engines.TemplateUrlService; import org.chromium.chrome.browser.search_engines.TemplateUrlService;
...@@ -106,6 +107,11 @@ public class DefaultSearchEnginePromoDialog extends PromoDialog { ...@@ -106,6 +107,11 @@ public class DefaultSearchEnginePromoDialog extends PromoDialog {
@Override @Override
public void show() { public void show() {
super.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); if (sObserver != null) sObserver.onDialogShown(this);
} }
......
...@@ -14454,6 +14454,44 @@ should be able to be added at any place in this file. ...@@ -14454,6 +14454,44 @@ should be able to be added at any place in this file.
<description>User interacts with an answer card.</description> <description>User interacts with an answer card.</description>
</action> </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"> <action name="SearchEngine_ManualChange">
<owner>ianwen@chromium.org</owner> <owner>ianwen@chromium.org</owner>
<description> <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