diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 0a671d9185f09..6f68038171387 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -288,6 +288,11 @@ android:exported="false" android:permission="com.android.systemui.permission.SELF" /> + + ) + : Service() { + + private val binder = object : IAssistHandleService.Stub() { + override fun requestAssistHandles() { + assistManager.get().requestAssistHandles() + } + } + + override fun onBind(intent: Intent?): IBinder? { + return binder + } +} \ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistModule.java b/packages/SystemUI/src/com/android/systemui/assist/AssistModule.java index 6f5a17dca432c..96939b0105555 100644 --- a/packages/SystemUI/src/com/android/systemui/assist/AssistModule.java +++ b/packages/SystemUI/src/com/android/systemui/assist/AssistModule.java @@ -16,6 +16,7 @@ package com.android.systemui.assist; +import android.app.Service; import android.content.Context; import android.os.Handler; import android.os.HandlerThread; @@ -33,8 +34,11 @@ import java.util.Map; import javax.inject.Named; import javax.inject.Singleton; +import dagger.Binds; import dagger.Module; import dagger.Provides; +import dagger.multibindings.ClassKey; +import dagger.multibindings.IntoMap; /** Module for dagger injections related to the Assistant. */ @Module @@ -87,4 +91,9 @@ public abstract class AssistModule { static Clock provideSystemClock() { return SystemClock::uptimeMillis; } + + @Binds + @IntoMap + @ClassKey(AssistHandleService.class) + abstract Service bindAssistHandleService(AssistHandleService assistHandleService); } diff --git a/packages/SystemUI/src/com/android/systemui/assist/IAssistHandleService.aidl b/packages/SystemUI/src/com/android/systemui/assist/IAssistHandleService.aidl new file mode 100644 index 0000000000000..ef07d9d3f1826 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/assist/IAssistHandleService.aidl @@ -0,0 +1,24 @@ +/** + * Copyright (c) 2009, 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.assist; + +/** Interface implemented by AssisthandleService and called by on-device intelligence. */ +interface IAssistHandleService { + + /** Request that the Assistant Handles be shown. */ + oneway void requestAssistHandles(); +} \ No newline at end of file