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

Commit 320ffdcc authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add provider for media controls falsing system" into main

parents 435f3e70 063afba0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.media.controls.ui.controller.MediaHostStatesManager;
import com.android.systemui.media.controls.ui.view.MediaHost;
import com.android.systemui.media.dream.dagger.MediaComplicationComponent;
import com.android.systemui.media.remedia.data.MediaDataModule;
import com.android.systemui.media.remedia.ui.MediaUiModule;
import com.android.systemui.media.taptotransfer.receiver.MediaTttReceiverLogBuffer;
import com.android.systemui.media.taptotransfer.sender.MediaTttSenderLogBuffer;

@@ -41,6 +42,7 @@ import javax.inject.Named;
        includes = {
            MediaDomainModule.class,
            MediaDataModule.class,
            MediaUiModule.class,
        },
        subcomponents = {
        MediaComplicationComponent.class,
+36 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2025 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.media.remedia.ui

import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.media.remedia.ui.viewmodel.MediaFalsingSystem
import com.android.systemui.media.remedia.ui.viewmodel.MediaFalsingSystemImpl
import dagger.Module
import dagger.Provides

/** Dagger module for injecting media controls UI interfaces. */
@Module
interface MediaUiModule {

    companion object {
        @Provides
        @SysUISingleton
        fun providesMediaFalsingSystem(falsingSystem: MediaFalsingSystemImpl): MediaFalsingSystem {
            return falsingSystem
        }
    }
}
+40 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2025 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.media.remedia.ui.viewmodel

import com.android.systemui.classifier.Classifier
import com.android.systemui.plugins.FalsingManager
import javax.inject.Inject

interface MediaFalsingSystem {
    fun runIfNotFalseTap(@FalsingManager.Penalty penalty: Int, block: () -> Unit)

    fun isFalseTouch(@Classifier.InteractionType interactionType: Int): Boolean
}

class MediaFalsingSystemImpl @Inject constructor(private val falsingManager: FalsingManager) :
    MediaFalsingSystem {
    override fun runIfNotFalseTap(penalty: Int, block: () -> Unit) {
        if (!falsingManager.isFalseTap(penalty)) {
            block()
        }
    }

    override fun isFalseTouch(interactionType: Int): Boolean {
        return falsingManager.isFalseTouch(interactionType)
    }
}
+1 −7
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ class MediaViewModel
@AssistedInject
constructor(
    private val interactor: MediaInteractor,
    private val falsingSystem: FalsingSystem,
    private val falsingSystem: MediaFalsingSystem,
    @Assisted private val context: Context,
    @Assisted private val carouselVisibility: MediaCarouselVisibility,
) : ExclusiveActivatable() {
@@ -397,12 +397,6 @@ constructor(
        return abs(x) >= abs(y)
    }

    interface FalsingSystem {
        fun runIfNotFalseTap(@FalsingManager.Penalty penalty: Int, block: () -> Unit)

        fun isFalseTouch(@Classifier.InteractionType interactionType: Int): Boolean
    }

    @AssistedFactory
    interface Factory {
        fun create(context: Context, carouselVisibility: MediaCarouselVisibility): MediaViewModel