Loading api/current.txt +4 −3 Original line number Diff line number Diff line Loading @@ -56219,6 +56219,9 @@ package android.view.contentcapture { method public void removeData(@NonNull android.view.contentcapture.DataRemovalRequest); method public void setContentCaptureEnabled(boolean); method public void shareData(@NonNull android.view.contentcapture.DataShareRequest, @NonNull java.util.concurrent.Executor, @NonNull android.view.contentcapture.DataShareWriteAdapter); field public static final int DATA_SHARE_ERROR_CONCURRENT_REQUEST = 2; // 0x2 field public static final int DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED = 3; // 0x3 field public static final int DATA_SHARE_ERROR_UNKNOWN = 1; // 0x1 } public abstract class ContentCaptureSession implements java.lang.AutoCloseable { Loading Loading @@ -56280,9 +56283,7 @@ package android.view.contentcapture { public interface DataShareWriteAdapter { method public default void onError(int); method public void onRejected(); method public void onWrite(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.CancellationSignal); field public static final int ERROR_CONCURRENT_REQUEST = 1; // 0x1 field public static final int ERROR_UNKNOWN = 2; // 0x2 method public void onWrite(@NonNull android.os.ParcelFileDescriptor); } } api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -10184,7 +10184,7 @@ package android.service.contentcapture { public interface DataShareReadAdapter { method public void onError(int); method public void onStart(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.CancellationSignal); method public void onStart(@NonNull android.os.ParcelFileDescriptor); } public final class SnapshotData implements android.os.Parcelable { core/java/android/service/contentcapture/ContentCaptureService.java +6 −29 Original line number Diff line number Diff line Loading @@ -34,10 +34,8 @@ import android.content.Intent; import android.content.pm.ParceledListSlice; import android.os.Binder; import android.os.Bundle; import android.os.CancellationSignal; import android.os.Handler; import android.os.IBinder; import android.os.ICancellationSignal; import android.os.Looper; import android.os.ParcelFileDescriptor; import android.os.RemoteException; Loading Loading @@ -544,14 +542,11 @@ public abstract class ContentCaptureService extends Service { Preconditions.checkNotNull(adapter); Preconditions.checkNotNull(executor); ICancellationSignal cancellationSignalTransport = CancellationSignal.createTransport(); DataShareReadAdapterDelegate delegate = new DataShareReadAdapterDelegate( executor, cancellationSignalTransport, adapter); DataShareReadAdapterDelegate delegate = new DataShareReadAdapterDelegate(executor, adapter); try { callback.accept(cancellationSignalTransport, delegate); callback.accept(delegate); } catch (RemoteException e) { Slog.e(TAG, "Failed to accept data sharing", e); } Loading Loading @@ -658,38 +653,20 @@ public abstract class ContentCaptureService extends Service { private final Object mLock = new Object(); private final WeakReference<DataShareReadAdapter> mAdapterReference; private final WeakReference<Executor> mExecutorReference; private final WeakReference<ICancellationSignal> mCancellationSignalReference; DataShareReadAdapterDelegate(Executor executor, ICancellationSignal cancellationSignalTransport, DataShareReadAdapter adapter) { DataShareReadAdapterDelegate(Executor executor, DataShareReadAdapter adapter) { Preconditions.checkNotNull(executor); Preconditions.checkNotNull(cancellationSignalTransport); Preconditions.checkNotNull(adapter); mExecutorReference = new WeakReference<>(executor); mCancellationSignalReference = new WeakReference<>(cancellationSignalTransport); mAdapterReference = new WeakReference<>(adapter); } @Override public void start(ParcelFileDescriptor fd, ICancellationSignal remoteCancellationSignal) public void start(ParcelFileDescriptor fd) throws RemoteException { synchronized (mLock) { ICancellationSignal serverControlledCancellationSignal = mCancellationSignalReference.get(); if (serverControlledCancellationSignal == null) { Slog.w(TAG, "Can't execute onStart(), reference to cancellation signal has " + "been GC'ed"); return; } CancellationSignal cancellationSignal = CancellationSignal.fromTransport(serverControlledCancellationSignal); cancellationSignal.setRemote(remoteCancellationSignal); executeAdapterMethodLocked( adapter -> adapter.onStart(fd, cancellationSignal), "onStart"); executeAdapterMethodLocked(adapter -> adapter.onStart(fd), "onStart"); } } Loading core/java/android/service/contentcapture/DataShareReadAdapter.java +6 −4 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package android.service.contentcapture; import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.CancellationSignal; import android.os.ParcelFileDescriptor; /** Loading @@ -34,13 +33,16 @@ public interface DataShareReadAdapter { * Signals the start of the data sharing session. * * @param fd file descriptor to use for reading data, that's being shared * @param cancellationSignal cancellation signal to use if data is no longer needed and the * session needs to be terminated. **/ void onStart(@NonNull ParcelFileDescriptor fd, @NonNull CancellationSignal cancellationSignal); void onStart(@NonNull ParcelFileDescriptor fd); /** * Signals that the session failed to start or terminated unsuccessfully. * * <p>Important: together with the error, file sharing stream might be closed, and therefore * reading from {@code fd} from {@link #onStart} will result in the end of stream. The order of * these 2 events is not defined, and it's important that the service treats end of stream * correctly in this situation. **/ void onError(int errorCode); } core/java/android/service/contentcapture/IDataShareCallback.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,6 @@ import android.service.contentcapture.IDataShareReadAdapter; /** @hide */ oneway interface IDataShareCallback { void accept(in ICancellationSignal cancellationSignal, in IDataShareReadAdapter adapter); void accept(in IDataShareReadAdapter adapter); void reject(); } Loading
api/current.txt +4 −3 Original line number Diff line number Diff line Loading @@ -56219,6 +56219,9 @@ package android.view.contentcapture { method public void removeData(@NonNull android.view.contentcapture.DataRemovalRequest); method public void setContentCaptureEnabled(boolean); method public void shareData(@NonNull android.view.contentcapture.DataShareRequest, @NonNull java.util.concurrent.Executor, @NonNull android.view.contentcapture.DataShareWriteAdapter); field public static final int DATA_SHARE_ERROR_CONCURRENT_REQUEST = 2; // 0x2 field public static final int DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED = 3; // 0x3 field public static final int DATA_SHARE_ERROR_UNKNOWN = 1; // 0x1 } public abstract class ContentCaptureSession implements java.lang.AutoCloseable { Loading Loading @@ -56280,9 +56283,7 @@ package android.view.contentcapture { public interface DataShareWriteAdapter { method public default void onError(int); method public void onRejected(); method public void onWrite(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.CancellationSignal); field public static final int ERROR_CONCURRENT_REQUEST = 1; // 0x1 field public static final int ERROR_UNKNOWN = 2; // 0x2 method public void onWrite(@NonNull android.os.ParcelFileDescriptor); } }
api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -10184,7 +10184,7 @@ package android.service.contentcapture { public interface DataShareReadAdapter { method public void onError(int); method public void onStart(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.CancellationSignal); method public void onStart(@NonNull android.os.ParcelFileDescriptor); } public final class SnapshotData implements android.os.Parcelable {
core/java/android/service/contentcapture/ContentCaptureService.java +6 −29 Original line number Diff line number Diff line Loading @@ -34,10 +34,8 @@ import android.content.Intent; import android.content.pm.ParceledListSlice; import android.os.Binder; import android.os.Bundle; import android.os.CancellationSignal; import android.os.Handler; import android.os.IBinder; import android.os.ICancellationSignal; import android.os.Looper; import android.os.ParcelFileDescriptor; import android.os.RemoteException; Loading Loading @@ -544,14 +542,11 @@ public abstract class ContentCaptureService extends Service { Preconditions.checkNotNull(adapter); Preconditions.checkNotNull(executor); ICancellationSignal cancellationSignalTransport = CancellationSignal.createTransport(); DataShareReadAdapterDelegate delegate = new DataShareReadAdapterDelegate( executor, cancellationSignalTransport, adapter); DataShareReadAdapterDelegate delegate = new DataShareReadAdapterDelegate(executor, adapter); try { callback.accept(cancellationSignalTransport, delegate); callback.accept(delegate); } catch (RemoteException e) { Slog.e(TAG, "Failed to accept data sharing", e); } Loading Loading @@ -658,38 +653,20 @@ public abstract class ContentCaptureService extends Service { private final Object mLock = new Object(); private final WeakReference<DataShareReadAdapter> mAdapterReference; private final WeakReference<Executor> mExecutorReference; private final WeakReference<ICancellationSignal> mCancellationSignalReference; DataShareReadAdapterDelegate(Executor executor, ICancellationSignal cancellationSignalTransport, DataShareReadAdapter adapter) { DataShareReadAdapterDelegate(Executor executor, DataShareReadAdapter adapter) { Preconditions.checkNotNull(executor); Preconditions.checkNotNull(cancellationSignalTransport); Preconditions.checkNotNull(adapter); mExecutorReference = new WeakReference<>(executor); mCancellationSignalReference = new WeakReference<>(cancellationSignalTransport); mAdapterReference = new WeakReference<>(adapter); } @Override public void start(ParcelFileDescriptor fd, ICancellationSignal remoteCancellationSignal) public void start(ParcelFileDescriptor fd) throws RemoteException { synchronized (mLock) { ICancellationSignal serverControlledCancellationSignal = mCancellationSignalReference.get(); if (serverControlledCancellationSignal == null) { Slog.w(TAG, "Can't execute onStart(), reference to cancellation signal has " + "been GC'ed"); return; } CancellationSignal cancellationSignal = CancellationSignal.fromTransport(serverControlledCancellationSignal); cancellationSignal.setRemote(remoteCancellationSignal); executeAdapterMethodLocked( adapter -> adapter.onStart(fd, cancellationSignal), "onStart"); executeAdapterMethodLocked(adapter -> adapter.onStart(fd), "onStart"); } } Loading
core/java/android/service/contentcapture/DataShareReadAdapter.java +6 −4 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package android.service.contentcapture; import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.CancellationSignal; import android.os.ParcelFileDescriptor; /** Loading @@ -34,13 +33,16 @@ public interface DataShareReadAdapter { * Signals the start of the data sharing session. * * @param fd file descriptor to use for reading data, that's being shared * @param cancellationSignal cancellation signal to use if data is no longer needed and the * session needs to be terminated. **/ void onStart(@NonNull ParcelFileDescriptor fd, @NonNull CancellationSignal cancellationSignal); void onStart(@NonNull ParcelFileDescriptor fd); /** * Signals that the session failed to start or terminated unsuccessfully. * * <p>Important: together with the error, file sharing stream might be closed, and therefore * reading from {@code fd} from {@link #onStart} will result in the end of stream. The order of * these 2 events is not defined, and it's important that the service treats end of stream * correctly in this situation. **/ void onError(int errorCode); }
core/java/android/service/contentcapture/IDataShareCallback.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,6 @@ import android.service.contentcapture.IDataShareReadAdapter; /** @hide */ oneway interface IDataShareCallback { void accept(in ICancellationSignal cancellationSignal, in IDataShareReadAdapter adapter); void accept(in IDataShareReadAdapter adapter); void reject(); }