Loading core/api/current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -8792,7 +8792,8 @@ package android.app.appfunctions { ctor public AppFunctionService(); method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent); method @Deprecated @MainThread public void onExecuteFunction(@NonNull android.app.appfunctions.ExecuteAppFunctionRequest, @NonNull java.util.function.Consumer<android.app.appfunctions.ExecuteAppFunctionResponse>); method @MainThread public void onExecuteFunction(@NonNull android.app.appfunctions.ExecuteAppFunctionRequest, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.app.appfunctions.ExecuteAppFunctionResponse>); method @Deprecated @MainThread public void onExecuteFunction(@NonNull android.app.appfunctions.ExecuteAppFunctionRequest, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.app.appfunctions.ExecuteAppFunctionResponse>); method @MainThread public void onExecuteFunction(@NonNull android.app.appfunctions.ExecuteAppFunctionRequest, @NonNull String, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.app.appfunctions.ExecuteAppFunctionResponse>); field @NonNull public static final String SERVICE_INTERFACE = "android.app.appfunctions.AppFunctionService"; } core/java/android/app/appfunctions/AppFunctionService.java +45 −9 Original line number Diff line number Diff line Loading @@ -29,11 +29,9 @@ import android.app.Service; import android.content.Context; import android.content.Intent; import android.os.Binder; import android.os.Bundle; import android.os.CancellationSignal; import android.os.IBinder; import android.os.ICancellationSignal; import android.os.CancellationSignal; import android.os.RemoteCallback; import android.os.RemoteException; import android.util.Log; Loading Loading @@ -80,6 +78,7 @@ public abstract class AppFunctionService extends Service { */ void perform( @NonNull ExecuteAppFunctionRequest request, @NonNull String callingPackage, @NonNull CancellationSignal cancellationSignal, @NonNull Consumer<ExecuteAppFunctionResponse> callback); } Loading @@ -92,6 +91,7 @@ public abstract class AppFunctionService extends Service { @Override public void executeAppFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull String callingPackage, @NonNull ICancellationCallback cancellationCallback, @NonNull IExecuteAppFunctionCallback callback) { if (context.checkCallingPermission(BIND_APP_FUNCTION_SERVICE) Loading @@ -103,6 +103,7 @@ public abstract class AppFunctionService extends Service { try { onExecuteFunction.perform( request, callingPackage, buildCancellationSignal(cancellationCallback), safeCallback::onResult); } catch (Exception ex) { Loading Loading @@ -131,9 +132,8 @@ public abstract class AppFunctionService extends Service { return cancellationSignal; } private final Binder mBinder = createBinder( AppFunctionService.this, AppFunctionService.this::onExecuteFunction); private final Binder mBinder = createBinder(AppFunctionService.this, AppFunctionService.this::onExecuteFunction); @NonNull @Override Loading @@ -141,7 +141,6 @@ public abstract class AppFunctionService extends Service { return mBinder; } /** * Called by the system to execute a specific app function. * Loading @@ -161,7 +160,6 @@ public abstract class AppFunctionService extends Service { * * @param request The function execution request. * @param callback A callback to report back the result. * * @deprecated Use {@link #onExecuteFunction(ExecuteAppFunctionRequest, CancellationSignal, * Consumer)} instead. This method will be removed once usage references are updated. */ Loading Loading @@ -198,12 +196,50 @@ public abstract class AppFunctionService extends Service { * @param request The function execution request. * @param cancellationSignal A signal to cancel the execution. * @param callback A callback to report back the result. * @deprecated Use {@link #onExecuteFunction(ExecuteAppFunctionRequest, String, * CancellationSignal, Consumer)} instead. This method will be removed once usage references * are updated. */ @MainThread @Deprecated public void onExecuteFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull CancellationSignal cancellationSignal, @NonNull Consumer<ExecuteAppFunctionResponse> callback) { onExecuteFunction(request, callback); } /** * Called by the system to execute a specific app function. * * <p>This method is triggered when the system requests your AppFunctionService to handle a * particular function you have registered and made available. * * <p>To ensure proper routing of function requests, assign a unique identifier to each * function. This identifier doesn't need to be globally unique, but it must be unique within * your app. For example, a function to order food could be identified as "orderFood". In most * cases this identifier should come from the ID automatically generated by the AppFunctions * SDK. You can determine the specific function to invoke by calling {@link * ExecuteAppFunctionRequest#getFunctionIdentifier()}. * * <p>This method is always triggered in the main thread. You should run heavy tasks on a worker * thread and dispatch the result with the given callback. You should always report back the * result using the callback, no matter if the execution was successful or not. * * <p>This method also accepts a {@link CancellationSignal} that the app should listen to cancel * the execution of function if requested by the system. * * @param request The function execution request. * @param callingPackage The package name of the app that is requesting the execution. * @param cancellationSignal A signal to cancel the execution. * @param callback A callback to report back the result. */ @MainThread public void onExecuteFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull String callingPackage, @NonNull CancellationSignal cancellationSignal, @NonNull Consumer<ExecuteAppFunctionResponse> callback) { onExecuteFunction(request, cancellationSignal, callback); } } core/java/android/app/appfunctions/IAppFunctionService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -34,11 +34,13 @@ oneway interface IAppFunctionService { * Called by the system to execute a specific app function. * * @param request the function execution request. * @param callingPackage The package name of the app that is requesting the execution. * @param cancellationCallback a callback to send back the cancellation transport. * @param callback a callback to report back the result. */ void executeAppFunction( in ExecuteAppFunctionRequest request, in String callingPackage, in ICancellationCallback cancellationCallback, in IExecuteAppFunctionCallback callback ); Loading libs/appfunctions/api/current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,8 @@ package com.google.android.appfunctions.sidecar { public abstract class AppFunctionService extends android.app.Service { ctor public AppFunctionService(); method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent); method @MainThread public void onExecuteFunction(@NonNull com.google.android.appfunctions.sidecar.ExecuteAppFunctionRequest, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<com.google.android.appfunctions.sidecar.ExecuteAppFunctionResponse>); method @MainThread public void onExecuteFunction(@NonNull com.google.android.appfunctions.sidecar.ExecuteAppFunctionRequest, @NonNull String, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<com.google.android.appfunctions.sidecar.ExecuteAppFunctionResponse>); method @Deprecated @MainThread public void onExecuteFunction(@NonNull com.google.android.appfunctions.sidecar.ExecuteAppFunctionRequest, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<com.google.android.appfunctions.sidecar.ExecuteAppFunctionResponse>); method @Deprecated @MainThread public void onExecuteFunction(@NonNull com.google.android.appfunctions.sidecar.ExecuteAppFunctionRequest, @NonNull java.util.function.Consumer<com.google.android.appfunctions.sidecar.ExecuteAppFunctionResponse>); field @NonNull public static final String BIND_APP_FUNCTION_SERVICE = "android.permission.BIND_APP_FUNCTION_SERVICE"; field @NonNull public static final String SERVICE_INTERFACE = "android.app.appfunctions.AppFunctionService"; Loading libs/appfunctions/java/com/google/android/appfunctions/sidecar/AppFunctionService.java +45 −5 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ import android.annotation.Nullable; import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; import android.os.CancellationSignal; import android.os.IBinder; import android.util.Log; import java.util.function.Consumer; Loading Loading @@ -71,18 +71,21 @@ public abstract class AppFunctionService extends Service { private final Binder mBinder = android.app.appfunctions.AppFunctionService.createBinder( /* context= */ this, /* onExecuteFunction= */ (platformRequest, cancellationSignal, callback) -> { /* onExecuteFunction= */ (platformRequest, callingPackage, cancellationSignal, callback) -> { AppFunctionService.this.onExecuteFunction( SidecarConverter.getSidecarExecuteAppFunctionRequest( platformRequest), callingPackage, cancellationSignal, (sidecarResponse) -> { callback.accept( SidecarConverter.getPlatformExecuteAppFunctionResponse( sidecarResponse)); }); } ); }); @NonNull @Override Loading @@ -90,6 +93,40 @@ public abstract class AppFunctionService extends Service { return mBinder; } /** * Called by the system to execute a specific app function. * * <p>This method is triggered when the system requests your AppFunctionService to handle a * particular function you have registered and made available. * * <p>To ensure proper routing of function requests, assign a unique identifier to each * function. This identifier doesn't need to be globally unique, but it must be unique within * your app. For example, a function to order food could be identified as "orderFood". In most * cases this identifier should come from the ID automatically generated by the AppFunctions * SDK. You can determine the specific function to invoke by calling {@link * ExecuteAppFunctionRequest#getFunctionIdentifier()}. * * <p>This method is always triggered in the main thread. You should run heavy tasks on a worker * thread and dispatch the result with the given callback. You should always report back the * result using the callback, no matter if the execution was successful or not. * * <p>This method also accepts a {@link CancellationSignal} that the app should listen to cancel * the execution of function if requested by the system. * * @param request The function execution request. * @param callingPackage The package name of the app that is requesting the execution. * @param cancellationSignal A signal to cancel the execution. * @param callback A callback to report back the result. */ @MainThread public void onExecuteFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull String callingPackage, @NonNull CancellationSignal cancellationSignal, @NonNull Consumer<ExecuteAppFunctionResponse> callback) { onExecuteFunction(request, cancellationSignal, callback); } /** * Called by the system to execute a specific app function. * Loading @@ -110,8 +147,12 @@ public abstract class AppFunctionService extends Service { * @param request The function execution request. * @param cancellationSignal A {@link CancellationSignal} to cancel the request. * @param callback A callback to report back the result. * @deprecated Use {@link #onExecuteFunction(ExecuteAppFunctionRequest, String, * CancellationSignal, Consumer)} instead. This method will be removed once usage references * are updated. */ @MainThread @Deprecated public void onExecuteFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull CancellationSignal cancellationSignal, Loading @@ -138,7 +179,6 @@ public abstract class AppFunctionService extends Service { * * @param request The function execution request. * @param callback A callback to report back the result. * * @deprecated Use {@link #onExecuteFunction(ExecuteAppFunctionRequest, CancellationSignal, * Consumer)} instead. This method will be removed once usage references are updated. */ Loading Loading
core/api/current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -8792,7 +8792,8 @@ package android.app.appfunctions { ctor public AppFunctionService(); method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent); method @Deprecated @MainThread public void onExecuteFunction(@NonNull android.app.appfunctions.ExecuteAppFunctionRequest, @NonNull java.util.function.Consumer<android.app.appfunctions.ExecuteAppFunctionResponse>); method @MainThread public void onExecuteFunction(@NonNull android.app.appfunctions.ExecuteAppFunctionRequest, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.app.appfunctions.ExecuteAppFunctionResponse>); method @Deprecated @MainThread public void onExecuteFunction(@NonNull android.app.appfunctions.ExecuteAppFunctionRequest, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.app.appfunctions.ExecuteAppFunctionResponse>); method @MainThread public void onExecuteFunction(@NonNull android.app.appfunctions.ExecuteAppFunctionRequest, @NonNull String, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.app.appfunctions.ExecuteAppFunctionResponse>); field @NonNull public static final String SERVICE_INTERFACE = "android.app.appfunctions.AppFunctionService"; }
core/java/android/app/appfunctions/AppFunctionService.java +45 −9 Original line number Diff line number Diff line Loading @@ -29,11 +29,9 @@ import android.app.Service; import android.content.Context; import android.content.Intent; import android.os.Binder; import android.os.Bundle; import android.os.CancellationSignal; import android.os.IBinder; import android.os.ICancellationSignal; import android.os.CancellationSignal; import android.os.RemoteCallback; import android.os.RemoteException; import android.util.Log; Loading Loading @@ -80,6 +78,7 @@ public abstract class AppFunctionService extends Service { */ void perform( @NonNull ExecuteAppFunctionRequest request, @NonNull String callingPackage, @NonNull CancellationSignal cancellationSignal, @NonNull Consumer<ExecuteAppFunctionResponse> callback); } Loading @@ -92,6 +91,7 @@ public abstract class AppFunctionService extends Service { @Override public void executeAppFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull String callingPackage, @NonNull ICancellationCallback cancellationCallback, @NonNull IExecuteAppFunctionCallback callback) { if (context.checkCallingPermission(BIND_APP_FUNCTION_SERVICE) Loading @@ -103,6 +103,7 @@ public abstract class AppFunctionService extends Service { try { onExecuteFunction.perform( request, callingPackage, buildCancellationSignal(cancellationCallback), safeCallback::onResult); } catch (Exception ex) { Loading Loading @@ -131,9 +132,8 @@ public abstract class AppFunctionService extends Service { return cancellationSignal; } private final Binder mBinder = createBinder( AppFunctionService.this, AppFunctionService.this::onExecuteFunction); private final Binder mBinder = createBinder(AppFunctionService.this, AppFunctionService.this::onExecuteFunction); @NonNull @Override Loading @@ -141,7 +141,6 @@ public abstract class AppFunctionService extends Service { return mBinder; } /** * Called by the system to execute a specific app function. * Loading @@ -161,7 +160,6 @@ public abstract class AppFunctionService extends Service { * * @param request The function execution request. * @param callback A callback to report back the result. * * @deprecated Use {@link #onExecuteFunction(ExecuteAppFunctionRequest, CancellationSignal, * Consumer)} instead. This method will be removed once usage references are updated. */ Loading Loading @@ -198,12 +196,50 @@ public abstract class AppFunctionService extends Service { * @param request The function execution request. * @param cancellationSignal A signal to cancel the execution. * @param callback A callback to report back the result. * @deprecated Use {@link #onExecuteFunction(ExecuteAppFunctionRequest, String, * CancellationSignal, Consumer)} instead. This method will be removed once usage references * are updated. */ @MainThread @Deprecated public void onExecuteFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull CancellationSignal cancellationSignal, @NonNull Consumer<ExecuteAppFunctionResponse> callback) { onExecuteFunction(request, callback); } /** * Called by the system to execute a specific app function. * * <p>This method is triggered when the system requests your AppFunctionService to handle a * particular function you have registered and made available. * * <p>To ensure proper routing of function requests, assign a unique identifier to each * function. This identifier doesn't need to be globally unique, but it must be unique within * your app. For example, a function to order food could be identified as "orderFood". In most * cases this identifier should come from the ID automatically generated by the AppFunctions * SDK. You can determine the specific function to invoke by calling {@link * ExecuteAppFunctionRequest#getFunctionIdentifier()}. * * <p>This method is always triggered in the main thread. You should run heavy tasks on a worker * thread and dispatch the result with the given callback. You should always report back the * result using the callback, no matter if the execution was successful or not. * * <p>This method also accepts a {@link CancellationSignal} that the app should listen to cancel * the execution of function if requested by the system. * * @param request The function execution request. * @param callingPackage The package name of the app that is requesting the execution. * @param cancellationSignal A signal to cancel the execution. * @param callback A callback to report back the result. */ @MainThread public void onExecuteFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull String callingPackage, @NonNull CancellationSignal cancellationSignal, @NonNull Consumer<ExecuteAppFunctionResponse> callback) { onExecuteFunction(request, cancellationSignal, callback); } }
core/java/android/app/appfunctions/IAppFunctionService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -34,11 +34,13 @@ oneway interface IAppFunctionService { * Called by the system to execute a specific app function. * * @param request the function execution request. * @param callingPackage The package name of the app that is requesting the execution. * @param cancellationCallback a callback to send back the cancellation transport. * @param callback a callback to report back the result. */ void executeAppFunction( in ExecuteAppFunctionRequest request, in String callingPackage, in ICancellationCallback cancellationCallback, in IExecuteAppFunctionCallback callback ); Loading
libs/appfunctions/api/current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,8 @@ package com.google.android.appfunctions.sidecar { public abstract class AppFunctionService extends android.app.Service { ctor public AppFunctionService(); method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent); method @MainThread public void onExecuteFunction(@NonNull com.google.android.appfunctions.sidecar.ExecuteAppFunctionRequest, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<com.google.android.appfunctions.sidecar.ExecuteAppFunctionResponse>); method @MainThread public void onExecuteFunction(@NonNull com.google.android.appfunctions.sidecar.ExecuteAppFunctionRequest, @NonNull String, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<com.google.android.appfunctions.sidecar.ExecuteAppFunctionResponse>); method @Deprecated @MainThread public void onExecuteFunction(@NonNull com.google.android.appfunctions.sidecar.ExecuteAppFunctionRequest, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<com.google.android.appfunctions.sidecar.ExecuteAppFunctionResponse>); method @Deprecated @MainThread public void onExecuteFunction(@NonNull com.google.android.appfunctions.sidecar.ExecuteAppFunctionRequest, @NonNull java.util.function.Consumer<com.google.android.appfunctions.sidecar.ExecuteAppFunctionResponse>); field @NonNull public static final String BIND_APP_FUNCTION_SERVICE = "android.permission.BIND_APP_FUNCTION_SERVICE"; field @NonNull public static final String SERVICE_INTERFACE = "android.app.appfunctions.AppFunctionService"; Loading
libs/appfunctions/java/com/google/android/appfunctions/sidecar/AppFunctionService.java +45 −5 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ import android.annotation.Nullable; import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; import android.os.CancellationSignal; import android.os.IBinder; import android.util.Log; import java.util.function.Consumer; Loading Loading @@ -71,18 +71,21 @@ public abstract class AppFunctionService extends Service { private final Binder mBinder = android.app.appfunctions.AppFunctionService.createBinder( /* context= */ this, /* onExecuteFunction= */ (platformRequest, cancellationSignal, callback) -> { /* onExecuteFunction= */ (platformRequest, callingPackage, cancellationSignal, callback) -> { AppFunctionService.this.onExecuteFunction( SidecarConverter.getSidecarExecuteAppFunctionRequest( platformRequest), callingPackage, cancellationSignal, (sidecarResponse) -> { callback.accept( SidecarConverter.getPlatformExecuteAppFunctionResponse( sidecarResponse)); }); } ); }); @NonNull @Override Loading @@ -90,6 +93,40 @@ public abstract class AppFunctionService extends Service { return mBinder; } /** * Called by the system to execute a specific app function. * * <p>This method is triggered when the system requests your AppFunctionService to handle a * particular function you have registered and made available. * * <p>To ensure proper routing of function requests, assign a unique identifier to each * function. This identifier doesn't need to be globally unique, but it must be unique within * your app. For example, a function to order food could be identified as "orderFood". In most * cases this identifier should come from the ID automatically generated by the AppFunctions * SDK. You can determine the specific function to invoke by calling {@link * ExecuteAppFunctionRequest#getFunctionIdentifier()}. * * <p>This method is always triggered in the main thread. You should run heavy tasks on a worker * thread and dispatch the result with the given callback. You should always report back the * result using the callback, no matter if the execution was successful or not. * * <p>This method also accepts a {@link CancellationSignal} that the app should listen to cancel * the execution of function if requested by the system. * * @param request The function execution request. * @param callingPackage The package name of the app that is requesting the execution. * @param cancellationSignal A signal to cancel the execution. * @param callback A callback to report back the result. */ @MainThread public void onExecuteFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull String callingPackage, @NonNull CancellationSignal cancellationSignal, @NonNull Consumer<ExecuteAppFunctionResponse> callback) { onExecuteFunction(request, cancellationSignal, callback); } /** * Called by the system to execute a specific app function. * Loading @@ -110,8 +147,12 @@ public abstract class AppFunctionService extends Service { * @param request The function execution request. * @param cancellationSignal A {@link CancellationSignal} to cancel the request. * @param callback A callback to report back the result. * @deprecated Use {@link #onExecuteFunction(ExecuteAppFunctionRequest, String, * CancellationSignal, Consumer)} instead. This method will be removed once usage references * are updated. */ @MainThread @Deprecated public void onExecuteFunction( @NonNull ExecuteAppFunctionRequest request, @NonNull CancellationSignal cancellationSignal, Loading @@ -138,7 +179,6 @@ public abstract class AppFunctionService extends Service { * * @param request The function execution request. * @param callback A callback to report back the result. * * @deprecated Use {@link #onExecuteFunction(ExecuteAppFunctionRequest, CancellationSignal, * Consumer)} instead. This method will be removed once usage references are updated. */ Loading