Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 878236f3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents ab3fed9b 79957c32
Loading
Loading
Loading
Loading
+20 −12
Original line number Diff line number Diff line
@@ -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;
    }

    @VisibleForTesting
    View.OnClickListener getSeeMoreListener() {
        return (v) -> {
    @Override
    public void onDestroyView() {
        super.onDestroyView();

        if (TextUtils.isEmpty(mPanelClosedKey)) {
            mPanelClosedKey = PanelClosedKeys.KEY_OTHERS;
        }

        mMetricsProvider.action(
                0 /* attribution */,
                SettingsEnums.PAGE_HIDE,
                mPanel.getMetricsCategory(),
                    PanelClosedKeys.KEY_SEE_MORE,
                mPanelClosedKey,
                0 /* value */);
    }

    @VisibleForTesting
    View.OnClickListener getSeeMoreListener() {
        return (v) -> {
            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();
        };
    }
+3 −2
Original line number Diff line number Diff line
@@ -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";
    }
}
+0 −17
Original line number Diff line number Diff line
@@ -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);
    }
}
+10 −0
Original line number Diff line number Diff line
@@ -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();
+1 −1
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ public class SettingsPanelActivityTest {
                0,
                SettingsEnums.PAGE_HIDE,
                SettingsEnums.TESTING,
                PanelLoggingContract.PanelClosedKeys.KEY_CLICKED_OUT,
                PanelLoggingContract.PanelClosedKeys.KEY_OTHERS,
                0
        );
    }