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

Commit 2d14d653 authored by Daniel Norman's avatar Daniel Norman
Browse files

Adjust FAB Drag-to-Edit metrics to remove UID per PWG request.

Bug: 315183276
Test: atest MenuViewLayerTest
Change-Id: I6b4b5a7446fd75bf76e4e0ccafadd346675f2977
parent 9a1acc6b
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.android.internal.accessibility.dialog.AccessibilityTarget;
import com.android.internal.annotations.VisibleForTesting;
import com.android.modules.expresslog.Counter;
import com.android.systemui.Flags;
import com.android.systemui.util.settings.SecureSettings;
@@ -418,18 +417,11 @@ class MenuView extends FrameLayout implements
        onPositionChanged();
    }

    void incrementTexMetricForAllTargets(String metric) {
    void incrementTexMetric(String metric) {
        if (!Flags.floatingMenuDragToEdit()) {
            return;
        }
        for (AccessibilityTarget target : mTargetFeatures) {
            incrementTexMetric(metric, target.getUid());
        }
    }

    @VisibleForTesting
    void incrementTexMetric(String metric, int uid) {
        Counter.logIncrementWithUid(metric, uid);
        Counter.logIncrement(metric);
    }

    private InstantInsetLayerDrawable getContainerViewInsetLayer() {
+4 −4
Original line number Diff line number Diff line
@@ -105,14 +105,14 @@ class MenuViewLayer extends FrameLayout implements
     *
     * <p>Defined in frameworks/proto_logging/stats/express/catalog/accessibility.cfg.
     */
    static final String TEX_METRIC_DISMISS = "accessibility.value_fab_shortcut_action_dismiss";
    static final String TEX_METRIC_DISMISS = "accessibility.value_fab_shortcut_dismiss";

    /**
     * Counter indicating the FAB was dragged to the Edit action button.
     *
     * <p>Defined in frameworks/proto_logging/stats/express/catalog/accessibility.cfg.
     */
    static final String TEX_METRIC_EDIT = "accessibility.value_fab_shortcut_action_edit";
    static final String TEX_METRIC_EDIT = "accessibility.value_fab_shortcut_edit";

    private final WindowManager mWindowManager;
    private final MenuView mMenuView;
@@ -492,11 +492,11 @@ class MenuViewLayer extends FrameLayout implements
            } else {
                hideMenuAndShowMessage();
            }
            mMenuView.incrementTexMetricForAllTargets(TEX_METRIC_DISMISS);
            mMenuView.incrementTexMetric(TEX_METRIC_DISMISS);
        } else if (id == R.id.action_edit
                && Flags.floatingMenuDragToEdit()) {
            gotoEditScreen();
            mMenuView.incrementTexMetricForAllTargets(TEX_METRIC_EDIT);
            mMenuView.incrementTexMetric(TEX_METRIC_EDIT);
        }
        mDismissView.hide();
        mDragToInteractView.hide();
+7 −15
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@ public class MenuViewLayerTest extends SysuiTestCase {
        mMenuView = spy(
                new MenuView(mSpyContext, mMenuViewModel, menuViewAppearance, mSecureSettings));
        // Ensure tests don't actually update metrics.
        doNothing().when(mMenuView).incrementTexMetric(any(), anyInt());
        doNothing().when(mMenuView).incrementTexMetric(any());

        mMenuViewLayer = spy(new MenuViewLayer(mSpyContext, mStubWindowManager,
                mStubAccessibilityManager, mMenuViewModel, menuViewAppearance, mMenuView,
@@ -414,33 +414,25 @@ public class MenuViewLayerTest extends SysuiTestCase {
    @Test
    @EnableFlags(Flags.FLAG_FLOATING_MENU_DRAG_TO_EDIT)
    public void onDismissAction_incrementsTexMetricDismiss() {
        int uid1 = 1234, uid2 = 5678;
        mMenuViewModel.onTargetFeaturesChanged(
                List.of(new TestAccessibilityTarget(mSpyContext, uid1),
                        new TestAccessibilityTarget(mSpyContext, uid2)));
                List.of(new TestAccessibilityTarget(mSpyContext, 1234),
                        new TestAccessibilityTarget(mSpyContext, 5678)));

        mMenuViewLayer.dispatchAccessibilityAction(R.id.action_remove_menu);

        ArgumentCaptor<Integer> uidCaptor = ArgumentCaptor.forClass(Integer.class);
        verify(mMenuView, times(2)).incrementTexMetric(eq(MenuViewLayer.TEX_METRIC_DISMISS),
                uidCaptor.capture());
        assertThat(uidCaptor.getAllValues()).containsExactly(uid1, uid2);
        verify(mMenuView, times(1)).incrementTexMetric(eq(MenuViewLayer.TEX_METRIC_DISMISS));
    }

    @Test
    @EnableFlags(Flags.FLAG_FLOATING_MENU_DRAG_TO_EDIT)
    public void onEditAction_incrementsTexMetricEdit() {
        int uid1 = 1234, uid2 = 5678;
        mMenuViewModel.onTargetFeaturesChanged(
                List.of(new TestAccessibilityTarget(mSpyContext, uid1),
                        new TestAccessibilityTarget(mSpyContext, uid2)));
                List.of(new TestAccessibilityTarget(mSpyContext, 1234),
                        new TestAccessibilityTarget(mSpyContext, 5678)));

        mMenuViewLayer.dispatchAccessibilityAction(R.id.action_edit);

        ArgumentCaptor<Integer> uidCaptor = ArgumentCaptor.forClass(Integer.class);
        verify(mMenuView, times(2)).incrementTexMetric(eq(MenuViewLayer.TEX_METRIC_EDIT),
                uidCaptor.capture());
        assertThat(uidCaptor.getAllValues()).containsExactly(uid1, uid2);
        verify(mMenuView, times(1)).incrementTexMetric(eq(MenuViewLayer.TEX_METRIC_EDIT));
    }

    /** Simplified AccessibilityTarget for testing MenuViewLayer. */