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.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();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -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";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -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();
|
||||||
|
@@ -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
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user