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

Commit df1ed5f8 authored by Juan Sebastian Martinez's avatar Juan Sebastian Martinez Committed by Android (Google) Code Review
Browse files

Merge "Adding two UiEvent IDs to log when slider tracks and stops tracking touch." into udc-qpr-dev

parents a1703c21 14031803
Loading
Loading
Loading
Loading
+14 −6
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.widget.SeekBar;

import androidx.annotation.Nullable;

import com.android.internal.logging.UiEventLogger;
import com.android.settingslib.RestrictedLockUtils;
import com.android.systemui.Gefingerpoken;
import com.android.systemui.R;
@@ -52,6 +53,7 @@ public class BrightnessSliderController extends ViewController<BrightnessSliderV
    private BrightnessMirrorController mMirrorController;
    private boolean mTracking;
    private final FalsingManager mFalsingManager;
    private final UiEventLogger mUiEventLogger;

    private final Gefingerpoken mOnInterceptListener = new Gefingerpoken() {
        @Override
@@ -72,9 +74,11 @@ public class BrightnessSliderController extends ViewController<BrightnessSliderV

    BrightnessSliderController(
            BrightnessSliderView brightnessSliderView,
            FalsingManager falsingManager) {
            FalsingManager falsingManager,
            UiEventLogger uiEventLogger) {
        super(brightnessSliderView);
        mFalsingManager = falsingManager;
        mUiEventLogger = uiEventLogger;
    }

    /**
@@ -206,7 +210,7 @@ public class BrightnessSliderController extends ViewController<BrightnessSliderV
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            mTracking = true;

            mUiEventLogger.log(BrightnessSliderEvent.SLIDER_STARTED_TRACKING_TOUCH);
            if (mListener != null) {
                mListener.onChanged(mTracking, getValue(), false);
            }
@@ -220,7 +224,7 @@ public class BrightnessSliderController extends ViewController<BrightnessSliderV
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            mTracking = false;

            mUiEventLogger.log(BrightnessSliderEvent.SLIDER_STOPPED_TRACKING_TOUCH);
            if (mListener != null) {
                mListener.onChanged(mTracking, getValue(), true);
            }
@@ -237,10 +241,12 @@ public class BrightnessSliderController extends ViewController<BrightnessSliderV
    public static class Factory {

        private final FalsingManager mFalsingManager;
        private final UiEventLogger mUiEventLogger;

        @Inject
        public Factory(FalsingManager falsingManager) {
        public Factory(FalsingManager falsingManager, UiEventLogger uiEventLogger) {
            mFalsingManager = falsingManager;
            mUiEventLogger = uiEventLogger;
        }

        /**
@@ -250,11 +256,13 @@ public class BrightnessSliderController extends ViewController<BrightnessSliderV
         * @param viewRoot the {@link ViewGroup} that will contain the hierarchy. The inflated
         *                 hierarchy will not be attached
         */
        public BrightnessSliderController create(Context context, @Nullable ViewGroup viewRoot) {
        public BrightnessSliderController create(
                Context context,
                @Nullable ViewGroup viewRoot) {
            int layout = getLayout();
            BrightnessSliderView root = (BrightnessSliderView) LayoutInflater.from(context)
                    .inflate(layout, viewRoot, false);
            return new BrightnessSliderController(root, mFalsingManager);
            return new BrightnessSliderController(root, mFalsingManager, mUiEventLogger);
        }

        /** Get the layout to inflate based on what slider to use */
+39 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.systemui.settings.brightness;

import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;

public enum BrightnessSliderEvent implements UiEventLogger.UiEventEnum {

    @UiEvent(doc = "slider started to track touch")
    SLIDER_STARTED_TRACKING_TOUCH(1472),
    @UiEvent(doc = "slider stopped tracking touch")
    SLIDER_STOPPED_TRACKING_TOUCH(1473);

    private final int mId;

    BrightnessSliderEvent(int id) {
        mId = id;
    }

    @Override
    public int getId() {
        return mId;
    }
}
+11 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.testing.AndroidTestingRunner
import android.view.MotionEvent
import android.widget.SeekBar
import androidx.test.filters.SmallTest
import com.android.internal.logging.testing.UiEventLoggerFake
import com.android.settingslib.RestrictedLockUtils
import com.android.systemui.SysuiTestCase
import com.android.systemui.classifier.FalsingManagerFake
@@ -39,6 +40,7 @@ import org.mockito.Mock
import org.mockito.Mockito.isNull
import org.mockito.Mockito.never
import org.mockito.Mockito.notNull
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
import org.mockito.Mockito.`when` as whenever
@@ -64,6 +66,7 @@ class BrightnessSliderControllerTest : SysuiTestCase() {
    private lateinit var seekBarChangeCaptor: ArgumentCaptor<SeekBar.OnSeekBarChangeListener>
    @Mock
    private lateinit var seekBar: SeekBar
    private val uiEventLogger = UiEventLoggerFake()
    private var mFalsingManager: FalsingManagerFake = FalsingManagerFake()

    private lateinit var mController: BrightnessSliderController
@@ -75,7 +78,8 @@ class BrightnessSliderControllerTest : SysuiTestCase() {
        whenever(mirrorController.toggleSlider).thenReturn(mirror)
        whenever(motionEvent.copy()).thenReturn(motionEvent)

        mController = BrightnessSliderController(brightnessSliderView, mFalsingManager)
        mController =
            BrightnessSliderController(brightnessSliderView, mFalsingManager, uiEventLogger)
        mController.init()
        mController.setOnChangedListener(listener)
    }
@@ -190,6 +194,7 @@ class BrightnessSliderControllerTest : SysuiTestCase() {
    @Test
    fun testSeekBarTrackingStarted() {
        whenever(brightnessSliderView.value).thenReturn(42)
        val event = BrightnessSliderEvent.SLIDER_STARTED_TRACKING_TOUCH

        mController.onViewAttached()
        mController.setMirrorControllerAndMirror(mirrorController)
@@ -200,11 +205,14 @@ class BrightnessSliderControllerTest : SysuiTestCase() {
        verify(listener).onChanged(eq(true), eq(42), eq(false))
        verify(mirrorController).showMirror()
        verify(mirrorController).setLocationAndSize(brightnessSliderView)
        assertThat(uiEventLogger.numLogs()).isEqualTo(1)
        assertThat(uiEventLogger.eventId(0)).isEqualTo(event.id)
    }

    @Test
    fun testSeekBarTrackingStopped() {
        whenever(brightnessSliderView.value).thenReturn(23)
        val event = BrightnessSliderEvent.SLIDER_STOPPED_TRACKING_TOUCH

        mController.onViewAttached()
        mController.setMirrorControllerAndMirror(mirrorController)
@@ -214,5 +222,7 @@ class BrightnessSliderControllerTest : SysuiTestCase() {

        verify(listener).onChanged(eq(false), eq(23), eq(true))
        verify(mirrorController).hideMirror()
        assertThat(uiEventLogger.numLogs()).isEqualTo(1)
        assertThat(uiEventLogger.eventId(0)).isEqualTo(event.id)
    }
}
 No newline at end of file