Add finish() method to DataShare Read and Write Adapters am: dc699fb8ce am: 6dd5caab66
Change-Id: I5271f64bded4339c40dc1e4344c9e9466613c727
This commit is contained in:
@@ -677,10 +677,6 @@ public abstract class ContentCaptureService extends Service {
|
|||||||
throws RemoteException {
|
throws RemoteException {
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
executeAdapterMethodLocked(adapter -> adapter.onStart(fd), "onStart");
|
executeAdapterMethodLocked(adapter -> adapter.onStart(fd), "onStart");
|
||||||
|
|
||||||
// Client app and Service successfully connected, so this object would be kept alive
|
|
||||||
// until the session has finished.
|
|
||||||
clearHardReferences();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -693,6 +689,13 @@ public abstract class ContentCaptureService extends Service {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finish() throws RemoteException {
|
||||||
|
synchronized (mLock) {
|
||||||
|
clearHardReferences();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void executeAdapterMethodLocked(Consumer<DataShareReadAdapter> adapterFn,
|
private void executeAdapterMethodLocked(Consumer<DataShareReadAdapter> adapterFn,
|
||||||
String methodName) {
|
String methodName) {
|
||||||
LocalDataShareAdapterResourceManager resourceManager = mResourceManagerReference.get();
|
LocalDataShareAdapterResourceManager resourceManager = mResourceManagerReference.get();
|
||||||
|
|||||||
@@ -22,4 +22,5 @@ import android.os.ICancellationSignal;
|
|||||||
oneway interface IDataShareReadAdapter {
|
oneway interface IDataShareReadAdapter {
|
||||||
void start(in ParcelFileDescriptor fd);
|
void start(in ParcelFileDescriptor fd);
|
||||||
void error(int errorCode);
|
void error(int errorCode);
|
||||||
|
void finish();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -761,10 +761,6 @@ public final class ContentCaptureManager {
|
|||||||
public void write(ParcelFileDescriptor destination)
|
public void write(ParcelFileDescriptor destination)
|
||||||
throws RemoteException {
|
throws RemoteException {
|
||||||
executeAdapterMethodLocked(adapter -> adapter.onWrite(destination), "onWrite");
|
executeAdapterMethodLocked(adapter -> adapter.onWrite(destination), "onWrite");
|
||||||
|
|
||||||
// Client app and Service successfully connected, so this object would be kept alive
|
|
||||||
// until the session has finished.
|
|
||||||
clearHardReferences();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -779,6 +775,11 @@ public final class ContentCaptureManager {
|
|||||||
clearHardReferences();
|
clearHardReferences();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finish() throws RemoteException {
|
||||||
|
clearHardReferences();
|
||||||
|
}
|
||||||
|
|
||||||
private void executeAdapterMethodLocked(Consumer<DataShareWriteAdapter> adapterFn,
|
private void executeAdapterMethodLocked(Consumer<DataShareWriteAdapter> adapterFn,
|
||||||
String methodName) {
|
String methodName) {
|
||||||
LocalDataShareAdapterResourceManager resourceManager = mResourceManagerReference.get();
|
LocalDataShareAdapterResourceManager resourceManager = mResourceManagerReference.get();
|
||||||
|
|||||||
@@ -25,4 +25,5 @@ oneway interface IDataShareWriteAdapter {
|
|||||||
void write(in ParcelFileDescriptor destination);
|
void write(in ParcelFileDescriptor destination);
|
||||||
void error(int errorCode);
|
void error(int errorCode);
|
||||||
void rejected();
|
void rejected();
|
||||||
|
void finish();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user