Add MotionPredictor API

This API will provide access to motion predictions.

Bug: 167946763
Test: atest InputTests
Change-Id: Ib8bc0debd9714e76520baae6ab8122762525716d
This commit is contained in:
Siarhei Vishniakou
2023-01-11 13:26:44 -08:00
parent df667b485f
commit 86413b57e1
3 changed files with 16 additions and 5 deletions

View File

@@ -50628,6 +50628,13 @@ package android.view {
field public int toolType;
}
public final class MotionPredictor {
ctor public MotionPredictor(@NonNull android.content.Context);
method public boolean isPredictionAvailable(int, int);
method @NonNull public java.util.List<android.view.MotionEvent> predict(long);
method public void record(@NonNull android.view.MotionEvent);
}
public interface OnReceiveContentListener {
method @Nullable public android.view.ContentInfo onReceiveContent(@NonNull android.view.View, @NonNull android.view.ContentInfo);
}

View File

@@ -25,10 +25,15 @@ import java.util.Arrays;
import java.util.List;
/**
* Calculates motion predictions.
* Calculate motion predictions.
*
* Add motions here to get predicted events!
* @hide
* Feed motion events to this class in order to generate the predicted events. The prediction
* functionality may not be available on all devices. Check if a specific source is supported on a
* given input device using #isPredictionAvailable.
*
* Send all of the events that were received from the system here in order to generate complete,
* accurate predictions. When processing the returned predictions, make sure to consider all of the
* {@link MotionEvent#getHistoricalAxisValue historical samples}.
*/
// Acts as a pass-through to the native MotionPredictor object.
// Do not store any state in this Java layer, or add any business logic here. All of the

View File

@@ -26,6 +26,5 @@ package {
android_app {
name: "MotionPrediction",
srcs: ["**/*.kt"],
platform_apis: true,
certificate: "platform",
sdk_version: "current",
}