Merge "Update panel logging to include all hide page cases" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
878236f318
@@ -19,6 +19,7 @@ package com.android.settings.panel;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -50,6 +51,7 @@ public class PanelFragment extends Fragment {
|
||||
|
||||
private PanelContent mPanel;
|
||||
private MetricsFeatureProvider mMetricsProvider;
|
||||
private String mPanelClosedKey;
|
||||
|
||||
@VisibleForTesting
|
||||
PanelSlicesAdapter mAdapter;
|
||||
@@ -111,15 +113,26 @@ public class PanelFragment extends Fragment {
|
||||
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
|
||||
View.OnClickListener getSeeMoreListener() {
|
||||
return (v) -> {
|
||||
mMetricsProvider.action(
|
||||
0 /* attribution */,
|
||||
SettingsEnums.PAGE_HIDE ,
|
||||
mPanel.getMetricsCategory(),
|
||||
PanelClosedKeys.KEY_SEE_MORE,
|
||||
0 /* value */);
|
||||
mPanelClosedKey = PanelClosedKeys.KEY_SEE_MORE;
|
||||
final FragmentActivity activity = getActivity();
|
||||
activity.startActivityForResult(mPanel.getSeeMoreIntent(), 0);
|
||||
activity.finish();
|
||||
@@ -129,12 +142,7 @@ public class PanelFragment extends Fragment {
|
||||
@VisibleForTesting
|
||||
View.OnClickListener getCloseListener() {
|
||||
return (v) -> {
|
||||
mMetricsProvider.action(
|
||||
0 /* attribution */,
|
||||
SettingsEnums.PAGE_HIDE,
|
||||
mPanel.getMetricsCategory(),
|
||||
PanelClosedKeys.KEY_DONE,
|
||||
0 /* value */);
|
||||
mPanelClosedKey = PanelClosedKeys.KEY_DONE;
|
||||
getActivity().finish();
|
||||
};
|
||||
}
|
||||
|
@@ -39,8 +39,9 @@ public class PanelLoggingContract {
|
||||
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";
|
||||
}
|
||||
}
|
||||
|
@@ -97,21 +97,4 @@ public class SettingsPanelActivity extends FragmentActivity {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@@ -99,6 +99,16 @@ public class PanelFragmentTest {
|
||||
0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onDestroy_logCloseEvent() {
|
||||
mPanelFragment.onDestroy();
|
||||
verify(mFakeFeatureFactory.metricsFeatureProvider).action(
|
||||
0,
|
||||
SettingsEnums.PAGE_VISIBLE,
|
||||
mFakePanelContent.getMetricsCategory(),
|
||||
any(String.class),
|
||||
0); }
|
||||
|
||||
@Test
|
||||
public void panelSeeMoreClick_logsCloseEvent() {
|
||||
final View.OnClickListener listener = mPanelFragment.getSeeMoreListener();
|
||||
|
@@ -99,7 +99,7 @@ public class SettingsPanelActivityTest {
|
||||
0,
|
||||
SettingsEnums.PAGE_HIDE,
|
||||
SettingsEnums.TESTING,
|
||||
PanelLoggingContract.PanelClosedKeys.KEY_CLICKED_OUT,
|
||||
PanelLoggingContract.PanelClosedKeys.KEY_OTHERS,
|
||||
0
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user