ОнДевицеПерсонализацияДиспетчер

public class OnDevicePersonalizationManager
extends Object

java.lang.Объект
android.adservices.ondevicepersonalization.OnDevicePersonalizationManager


OnDevicePersonalizationManager предоставляет приложениям API-интерфейсы для загрузки IsolatedService в изолированном процессе и взаимодействия с ней. Приложение может запросить IsolatedService для создания контента для отображения в SurfaceView в иерархии представлений приложения, а также записать постоянные результаты в хранилище на устройстве, которое может использоваться Federated Analytics для статистического анализа между устройствами или Federated Learning для обучения модели. . Отображаемый контент и постоянный вывод не доступны напрямую вызывающему приложению.

Краткое содержание

Публичные методы

void execute ( ComponentName handler, PersistableBundle params, Executor executor, OutcomeReceiver < List < SurfacePackageToken >, Exception > receiver)

Выполняет IsolatedService в изолированной программной среде OnDevicePersonalization.

void requestSurfacePackage ( SurfacePackageToken surfacePackageToken, IBinder surfaceViewHostToken, int displayId, int width, int height, Executor executor, OutcomeReceiver < SurfaceControlViewHost.SurfacePackage , Exception > receiver)

Запрашивает вставку SurfaceControlViewHost.SurfacePackage в SurfaceView внутри вызывающего приложения.

Унаследованные методы

Object clone ()

Создает и возвращает копию этого объекта.

boolean equals ( Object obj)

Указывает, «равен» ли какой-либо другой объект этому объекту.

void finalize ()

Вызывается сборщиком мусора для объекта, когда сборщик мусора определяет, что ссылок на объект больше нет.

final Class <?> getClass ()

Возвращает класс времени выполнения этого Object .

int hashCode ()

Возвращает значение хэш-кода для объекта.

final void notify ()

Пробуждает одиночный поток, ожидающий монитора этого объекта.

final void notifyAll ()

Пробуждает все потоки, ожидающие на мониторе этого объекта.

String toString ()

Возвращает строковое представление объекта.

final void wait (long timeoutMillis, int nanos)

Заставляет текущий поток ждать, пока он не будет пробужден, обычно путем получения уведомления или прерывания , или до тех пор, пока не истечет определенное количество реального времени.

final void wait (long timeoutMillis)

Заставляет текущий поток ждать, пока он не будет пробужден, обычно путем получения уведомления или прерывания , или до тех пор, пока не истечет определенное количество реального времени.

final void wait ()

Заставляет текущий поток ждать, пока он не будет пробужден, обычно путем получения уведомления или прерывания .

Публичные методы

выполнять

public void execute (ComponentName handler, 
                PersistableBundle params, 
                Executor executor, 
                OutcomeReceiver<List<SurfacePackageToken>, Exception> receiver)

Выполняет IsolatedService в изолированной программной среде OnDevicePersonalization. Платформа привязывается к указанному IsolatedService в изолированном процессе и вызывает IsolatedWorker#onExecute(ExecuteInput, java.util.function.Consumer) с параметрами, предоставленными вызывающей стороной. Когда IsolatedService завершает выполнение, платформа возвращает токены, которые ссылаются на результаты службы, вызывающей стороне. Эти токены впоследствии можно использовать для отображения результатов в SurfaceView в вызывающем приложении.

Параметры
handler ComponentName : ComponentName IsolatedService . Это значение не может быть null .

params PersistableBundle : PersistableBundle , который передается из вызывающего приложения в IsolatedService . Ожидаемое содержимое этого параметра определяется IsolatedService . Платформа не интерпретирует этот параметр. Это значение не может быть null .

executor Executor : Executor , для которого вызывается обратный вызов. Это значение не может быть null . События обратного вызова и прослушивателя отправляются через этот Executor , предоставляя простой способ контролировать, какой поток используется. Чтобы отправлять события через основной поток вашего приложения, вы можете использовать Context.getMainExecutor() . В противном случае предоставьте Executor , который отправляет данные в соответствующий поток.

receiver OutcomeReceiver : возвращает список объектов SurfacePackageToken , каждый из которых представляет собой непрозрачную ссылку на RenderingConfig , возвращаемую IsolatedService , или Exception в случае сбоя. Возвращенные объекты SurfacePackageToken можно использовать в последующем requestSurfacePackage(android.adservices.ondevicepersonalization.SurfacePackageToken, android.os.IBinder, int, int, int, java.util.concurrent.Executor, android.os.OutcomeReceiver) для отображения результат в представлении. Вызывающее приложение и IsolatedService должны согласовать ожидаемый размер этого списка. Запись в возвращаемом списке объектов SurfacePackageToken может иметь значение null, что указывает на то, что служба не имеет выходных данных для этой конкретной поверхности. В случае ошибки получатель возвращает одно из следующих исключений: Возвращает PackageManager.NameNotFoundException , если пакет обработчика не установлен или не имеет допустимого манифеста ODP. Возвращает ClassNotFoundException , если класс-обработчик не найден. Возвращает OnDevicePersonalizationException , если выполнение обработчика завершается неудачно.

запросПоверхностьПакет

public void requestSurfacePackage (SurfacePackageToken surfacePackageToken, 
                IBinder surfaceViewHostToken, 
                int displayId, 
                int width, 
                int height, 
                Executor executor, 
                OutcomeReceiver<SurfaceControlViewHost.SurfacePackageException> receiver)

Запрашивает вставку SurfaceControlViewHost.SurfacePackage в SurfaceView внутри вызывающего приложения. Пакет поверхности будет содержать View с содержимым, полученным в результате предыдущего вызова #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) выполняющегося в изолированной программной среде OnDevicePersonalization.

Параметры
surfacePackageToken SurfacePackageToken : ссылка на SurfacePackageToken , возвращенная предыдущим вызовом #execute(ComponentName, PersistableBundle, Executor, OutcomeReceiver) . Это значение не может быть null .

surfaceViewHostToken IBinder : hostToken SurfaceView , который возвращается SurfaceView.getHostToken() после добавления SurfaceView в иерархию представлений. Это значение не может быть null .

displayId int : целочисленный идентификатор логического дисплея, на котором будет отображаться SurfaceControlViewHost.SurfacePackage , возвращаемый Context.getDisplay().getDisplayId() .

width int : ширина SurfaceControlViewHost.SurfacePackage в пикселях.

height int : высота SurfaceControlViewHost.SurfacePackage в пикселях.

executor Executor : Executor , для которого вызывается обратный вызов. Это значение не может быть null . События обратного вызова и прослушивателя отправляются через этот Executor , предоставляя простой способ контролировать, какой поток используется. Чтобы отправлять события через основной поток вашего приложения, вы можете использовать Context.getMainExecutor() . В противном случае предоставьте Executor , который отправляет данные в соответствующий поток.

receiver OutcomeReceiver : возвращает либо SurfaceControlViewHost.SurfacePackage в случае успеха, либо Exception в случае неудачи. Тип исключения — OnDevicePersonalizationException если выполнение обработчика завершается неудачей. Это значение не может быть null .