Merge "Update panel logging to include all hide page cases" into qt-dev

This commit is contained in:
TreeHugger Robot
2019-04-12 22:33:24 +00:00
committed by Android (Google) Code Review
5 changed files with 34 additions and 32 deletions

View File

@@ -19,6 +19,7 @@ package com.android.settings.panel;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@@ -50,6 +51,7 @@ public class PanelFragment extends Fragment {
private PanelContent mPanel; private PanelContent mPanel;
private MetricsFeatureProvider mMetricsProvider; private MetricsFeatureProvider mMetricsProvider;
private String mPanelClosedKey;
@VisibleForTesting @VisibleForTesting
PanelSlicesAdapter mAdapter; PanelSlicesAdapter mAdapter;
@@ -111,15 +113,26 @@ public class PanelFragment extends Fragment {
return view; return view;
} }
@Override
public void onDestroyView() {
super.onDestroyView();
if (TextUtils.isEmpty(mPanelClosedKey)) {
mPanelClosedKey = PanelClosedKeys.KEY_OTHERS;
}
mMetricsProvider.action(
0 /* attribution */,
SettingsEnums.PAGE_HIDE,
mPanel.getMetricsCategory(),
mPanelClosedKey,
0 /* value */);
}
@VisibleForTesting @VisibleForTesting
View.OnClickListener getSeeMoreListener() { View.OnClickListener getSeeMoreListener() {
return (v) -> { return (v) -> {
mMetricsProvider.action( mPanelClosedKey = PanelClosedKeys.KEY_SEE_MORE;
0 /* attribution */,
SettingsEnums.PAGE_HIDE ,
mPanel.getMetricsCategory(),
PanelClosedKeys.KEY_SEE_MORE,
0 /* value */);
final FragmentActivity activity = getActivity(); final FragmentActivity activity = getActivity();
activity.startActivityForResult(mPanel.getSeeMoreIntent(), 0); activity.startActivityForResult(mPanel.getSeeMoreIntent(), 0);
activity.finish(); activity.finish();
@@ -129,12 +142,7 @@ public class PanelFragment extends Fragment {
@VisibleForTesting @VisibleForTesting
View.OnClickListener getCloseListener() { View.OnClickListener getCloseListener() {
return (v) -> { return (v) -> {
mMetricsProvider.action( mPanelClosedKey = PanelClosedKeys.KEY_DONE;
0 /* attribution */,
SettingsEnums.PAGE_HIDE,
mPanel.getMetricsCategory(),
PanelClosedKeys.KEY_DONE,
0 /* value */);
getActivity().finish(); getActivity().finish();
}; };
} }

View File

@@ -39,8 +39,9 @@ public class PanelLoggingContract {
String KEY_DONE = "done"; String KEY_DONE = "done";
/** /**
* The user clicked outside the dialog, closing the Panel. * The user closed the panel by other ways, for example: clicked outside of dialog, tapping
* on back button, etc.
*/ */
String KEY_CLICKED_OUT = "clicked_out"; String KEY_OTHERS = "others";
} }
} }

View File

@@ -97,21 +97,4 @@ public class SettingsPanelActivity extends FragmentActivity {
fragmentManager.beginTransaction().add(R.id.main_content, panelFragment).commit(); fragmentManager.beginTransaction().add(R.id.main_content, panelFragment).commit();
} }
} }
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
final PanelContent panelContent = FeatureFactory.getFactory(this)
.getPanelFeatureProvider()
.getPanel(this, getIntent().getAction(), null /* Media Package Name */);
FeatureFactory.getFactory(this)
.getMetricsFeatureProvider()
.action(0 /* attribution */,
SettingsEnums.PAGE_HIDE,
panelContent.getMetricsCategory(),
PanelClosedKeys.KEY_CLICKED_OUT,
0 /* value */);
}
return super.onTouchEvent(event);
}
} }

View File

@@ -99,6 +99,16 @@ public class PanelFragmentTest {
0); 0);
} }
@Test
public void onDestroy_logCloseEvent() {
mPanelFragment.onDestroy();
verify(mFakeFeatureFactory.metricsFeatureProvider).action(
0,
SettingsEnums.PAGE_VISIBLE,
mFakePanelContent.getMetricsCategory(),
any(String.class),
0); }
@Test @Test
public void panelSeeMoreClick_logsCloseEvent() { public void panelSeeMoreClick_logsCloseEvent() {
final View.OnClickListener listener = mPanelFragment.getSeeMoreListener(); final View.OnClickListener listener = mPanelFragment.getSeeMoreListener();

View File

@@ -99,7 +99,7 @@ public class SettingsPanelActivityTest {
0, 0,
SettingsEnums.PAGE_HIDE, SettingsEnums.PAGE_HIDE,
SettingsEnums.TESTING, SettingsEnums.TESTING,
PanelLoggingContract.PanelClosedKeys.KEY_CLICKED_OUT, PanelLoggingContract.PanelClosedKeys.KEY_OTHERS,
0 0
); );
} }