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