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

Commit 3ee972ae authored by Johannes Gallmann's avatar Johannes Gallmann Committed by Automerger Merge Worker
Browse files

Merge "Implement MotionTool Interface using ViewCapture library" into...

Merge "Implement MotionTool Interface using ViewCapture library" into tm-qpr-dev am: e95b375d am: f1501b00

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20111438



Change-Id: I341dded983070313a94778dde99720ee1d2ba376
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 4c0263c9 f1501b00
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@ android_library {
        "jsr330",
        "lottie",
        "LowLightDreamLib",
        "motion_tool_lib",
    ],
    manifest: "AndroidManifest.xml",

@@ -230,6 +231,7 @@ android_library {
        "jsr330",
        "WindowManager-Shell",
        "LowLightDreamLib",
        "motion_tool_lib",
    ],
    libs: [
        "android.test.runner",
+2 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import com.android.systemui.keyguard.data.BouncerViewModule;
import com.android.systemui.log.dagger.LogModule;
import com.android.systemui.mediaprojection.appselector.MediaProjectionModule;
import com.android.systemui.model.SysUiState;
import com.android.systemui.motiontool.MotionToolModule;
import com.android.systemui.navigationbar.NavigationBarComponent;
import com.android.systemui.notetask.NoteTaskModule;
import com.android.systemui.people.PeopleModule;
@@ -133,6 +134,7 @@ import dagger.Provides;
            FooterActionsModule.class,
            LogModule.class,
            MediaProjectionModule.class,
            MotionToolModule.class,
            PeopleHubModule.class,
            PeopleModule.class,
            PluginModule.class,
+58 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2022 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.motiontool

import android.view.WindowManagerGlobal
import com.android.app.motiontool.DdmHandleMotionTool
import com.android.app.motiontool.MotionToolManager
import com.android.app.viewcapture.ViewCapture
import com.android.systemui.CoreStartable
import dagger.Binds
import dagger.Module
import dagger.Provides
import dagger.multibindings.ClassKey
import dagger.multibindings.IntoMap

@Module
interface MotionToolModule {

    companion object {

        @Provides
        fun provideDdmHandleMotionTool(motionToolManager: MotionToolManager): DdmHandleMotionTool {
            return DdmHandleMotionTool.getInstance(motionToolManager)
        }

        @Provides
        fun provideMotionToolManager(
            viewCapture: ViewCapture,
            windowManagerGlobal: WindowManagerGlobal
        ): MotionToolManager {
            return MotionToolManager.getInstance(viewCapture, windowManagerGlobal)
        }

        @Provides
        fun provideWindowManagerGlobal(): WindowManagerGlobal = WindowManagerGlobal.getInstance()

        @Provides fun provideViewCapture(): ViewCapture = ViewCapture.getInstance()
    }

    @Binds
    @IntoMap
    @ClassKey(MotionToolStartable::class)
    fun bindMotionToolStartable(impl: MotionToolStartable): CoreStartable
}
+32 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2022 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.motiontool

import com.android.app.motiontool.DdmHandleMotionTool
import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
import javax.inject.Inject

@SysUISingleton
class MotionToolStartable
@Inject
internal constructor(private val ddmHandleMotionTool: DdmHandleMotionTool) : CoreStartable {

    override fun start() {
        ddmHandleMotionTool.register()
    }
}