summaryrefslogtreecommitdiff
path: root/test-mock
diff options
context:
space:
mode:
authorDmitri Plotnikov <dplotnikov@google.com>2020-01-16 17:00:02 -0800
committerDmitri Plotnikov <dplotnikov@google.com>2020-01-28 17:35:45 -0800
commitd55a387f7868e4be001226b0865f7abb8b26a405 (patch)
treefc6e055b89cba1a53f9c6260b02c445190711e47 /test-mock
parent17f6ed8b0881abcb6abc65f3b76cc4bd9642cc68 (diff)
Add async version of getProviderMimeType
Fixes: b/147646960 Test: atest FrameworksCoreTests:android.content.ContentResolverTest Change-Id: I04c15ac008fe14b215f954af150226dc94f22232
Diffstat (limited to 'test-mock')
-rw-r--r--test-mock/src/android/test/mock/MockContentProvider.java20
-rw-r--r--test-mock/src/android/test/mock/MockIContentProvider.java13
2 files changed, 33 insertions, 0 deletions
diff --git a/test-mock/src/android/test/mock/MockContentProvider.java b/test-mock/src/android/test/mock/MockContentProvider.java
index 85e5916a63df..f7ec11c79476 100644
--- a/test-mock/src/android/test/mock/MockContentProvider.java
+++ b/test-mock/src/android/test/mock/MockContentProvider.java
@@ -21,6 +21,7 @@ import android.annotation.Nullable;
import android.content.ContentProvider;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
+import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.IContentProvider;
@@ -31,10 +32,12 @@ import android.content.pm.ProviderInfo;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.ParcelFileDescriptor;
+import android.os.RemoteCallback;
import android.os.RemoteException;
import java.io.FileNotFoundException;
@@ -81,6 +84,11 @@ public class MockContentProvider extends ContentProvider {
}
@Override
+ public void getTypeAsync(Uri uri, RemoteCallback callback) throws RemoteException {
+ MockContentProvider.this.getTypeAsync(uri, callback);
+ }
+
+ @Override
public Uri insert(String callingPackage, @Nullable String featureId, Uri url,
ContentValues initialValues, Bundle extras) throws RemoteException {
return MockContentProvider.this.insert(url, initialValues, extras);
@@ -212,6 +220,18 @@ public class MockContentProvider extends ContentProvider {
throw new UnsupportedOperationException("unimplemented mock method");
}
+ /**
+ * @hide
+ */
+ @SuppressWarnings("deprecation")
+ public void getTypeAsync(Uri uri, RemoteCallback remoteCallback) {
+ AsyncTask.SERIAL_EXECUTOR.execute(() -> {
+ final Bundle bundle = new Bundle();
+ bundle.putString(ContentResolver.REMOTE_CALLBACK_RESULT, getType(uri));
+ remoteCallback.sendResult(bundle);
+ });
+ }
+
@Override
public Uri insert(Uri uri, ContentValues values) {
throw new UnsupportedOperationException("unimplemented mock method");
diff --git a/test-mock/src/android/test/mock/MockIContentProvider.java b/test-mock/src/android/test/mock/MockIContentProvider.java
index 464abfb1a514..1831bcdf9df7 100644
--- a/test-mock/src/android/test/mock/MockIContentProvider.java
+++ b/test-mock/src/android/test/mock/MockIContentProvider.java
@@ -19,16 +19,19 @@ package android.test.mock;
import android.annotation.Nullable;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
+import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.EntityIterator;
import android.content.IContentProvider;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.ParcelFileDescriptor;
+import android.os.RemoteCallback;
import android.os.RemoteException;
import java.io.FileNotFoundException;
@@ -61,6 +64,16 @@ public class MockIContentProvider implements IContentProvider {
}
@Override
+ @SuppressWarnings("deprecation")
+ public void getTypeAsync(Uri uri, RemoteCallback remoteCallback) {
+ AsyncTask.SERIAL_EXECUTOR.execute(() -> {
+ final Bundle bundle = new Bundle();
+ bundle.putString(ContentResolver.REMOTE_CALLBACK_RESULT, getType(uri));
+ remoteCallback.sendResult(bundle);
+ });
+ }
+
+ @Override
@SuppressWarnings("unused")
public Uri insert(String callingPackage, @Nullable String featureId, Uri url,
ContentValues initialValues, Bundle extras) throws RemoteException {