android.content.ContentProviderClient

Here are the examples of the java api class android.content.ContentProviderClient taken from open source projects.

1. LabelProviderTest#testDelete_selection()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#delete(android.net.Uri, String, String[])} with a
     * selection argument.
     * <p>
     * Note: This test depends on {@link LabelProviderTest#testDelete_success}.
     */
@SmallTest
public void testDelete_selection() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final ContentValues contentValues = getValidLabelContentValues();
    final Uri insertResult = client.insert(LabelProvider.LABELS_CONTENT_URI, contentValues);
    final String selection = String.format("%s = ?", LabelsTable.KEY_ID);
    final String[] selectionArgs = { Integer.toString(2) };
    final int affectedRows;
    try {
        affectedRows = client.delete(LABEL_1_URI, selection, selectionArgs);
    } finally {
        client.release();
    }
    assertEquals(LABEL_1_URI, insertResult);
    assertEquals(0, affectedRows);
}

2. LabelProviderTest#testDelete_success()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#delete(android.net.Uri, String, String[])} with valid
     * arguments.
     * <p>
     * Note: This test depends on {@link com.android.talkback.labeling.LabelProvider#insert} functionality.
     */
@SmallTest
public void testDelete_success() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final ContentValues contentValues = getValidLabelContentValues();
    final Uri insertResult = client.insert(LabelProvider.LABELS_CONTENT_URI, contentValues);
    final int affectedRows;
    try {
        affectedRows = client.delete(LABEL_1_URI, null, null);
    } finally {
        client.release();
    }
    assertEquals(LABEL_1_URI, insertResult);
    assertEquals(1, affectedRows);
}

3. LabelProviderTest#testDelete_invalidId()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#delete(android.net.Uri, String, String[])}
     * with an invalid label ID.
     */
@SmallTest
public void testDelete_invalidId() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final int affectedRows;
    try {
        affectedRows = client.delete(LABEL_NEGATIVE_1_URI, null, null);
    } finally {
        client.release();
    }
    assertEquals(0, affectedRows);
}

4. LabelProviderTest#testDelete_labelsUri()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#delete(android.net.Uri, String, String[])}
     * with the labels URI parameter (not supported).
     */
@SmallTest
public void testDelete_labelsUri() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final int affectedRows;
    try {
        affectedRows = client.delete(LabelProvider.LABELS_CONTENT_URI, null, null);
    } finally {
        client.release();
    }
    assertEquals(0, affectedRows);
}

5. LabelProviderTest#testDelete_invalidUri()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#delete(android.net.Uri, String, String[])}
     * with an invalid URI parameter.
     */
@SmallTest
public void testDelete_invalidUri() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final int affectedRows;
    try {
        affectedRows = client.delete(INVALID_PATH_URI, null, null);
    } finally {
        client.release();
    }
    assertEquals(0, affectedRows);
}

6. LabelProviderTest#testUpdate_selection()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#update(android.net.Uri, android.content.ContentValues, String, String[])}
     * with a selection argument.
     * <p>
     * Note: This test depends on {@link LabelProviderTest#testUpdate_success}.
     */
@SmallTest
public void testUpdate_selection() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final ContentValues contentValues = getValidLabelContentValues();
    final Uri insertResult = client.insert(LabelProvider.LABELS_CONTENT_URI, contentValues);
    final String selection = String.format("%s = ?", LabelsTable.KEY_ID);
    final String[] selectionArgs = { Integer.toString(2) };
    final int affectedRows;
    try {
        affectedRows = client.update(LABEL_1_URI, contentValues, selection, selectionArgs);
    } finally {
        client.release();
    }
    assertEquals(LABEL_1_URI, insertResult);
    assertEquals(0, affectedRows);
}

7. LabelProviderTest#testUpdate_success()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#update(android.net.Uri, android.content.ContentValues, String, String[])}
     * with valid arguments.
     * <p>
     * Note: This test depends on {@link com.android.talkback.labeling.LabelProvider#insert} functionality.
     */
@SmallTest
public void testUpdate_success() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final ContentValues contentValues = getValidLabelContentValues();
    final Uri insertResult = client.insert(LabelProvider.LABELS_CONTENT_URI, contentValues);
    final int affectedRows;
    try {
        affectedRows = client.update(LABEL_1_URI, contentValues, null, null);
    } finally {
        client.release();
    }
    assertEquals(LABEL_1_URI, insertResult);
    assertEquals(1, affectedRows);
}

8. LabelProviderTest#testUpdate_invalidId()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#update(android.net.Uri, android.content.ContentValues, String, String[])}
     * with an invalid label ID.
     */
@SmallTest
public void testUpdate_invalidId() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final int affectedRows;
    try {
        affectedRows = client.update(LABEL_NEGATIVE_1_URI, getValidLabelContentValues(), null, null);
    } finally {
        client.release();
    }
    assertEquals(0, affectedRows);
}

9. LabelProviderTest#testUpdate_labelsUri()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#update(android.net.Uri, android.content.ContentValues, String, String[])}
     * with the labels URI parameter (not supported).
     */
@SmallTest
public void testUpdate_labelsUri() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final int affectedRows;
    try {
        affectedRows = client.update(LabelProvider.LABELS_CONTENT_URI, getValidLabelContentValues(), null, null);
    } finally {
        client.release();
    }
    assertEquals(0, affectedRows);
}

10. LabelProviderTest#testUpdate_invalidUri()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#update(android.net.Uri, android.content.ContentValues, String, String[])}
     * with an invalid URI parameter.
     */
@SmallTest
public void testUpdate_invalidUri() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final int affectedRows;
    try {
        affectedRows = client.update(INVALID_PATH_URI, getValidLabelContentValues(), null, null);
    } finally {
        client.release();
    }
    assertEquals(0, affectedRows);
}

11. LabelProviderTest#testQuery_labelsId()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests the {@link android.content.ContentProvider} query method
     * {@link com.android.talkback.labeling.LabelProvider#query(android.net.Uri, String[], String, String[], String)} with
     * the labels ID content URI argument.
     */
@SmallTest
public void testQuery_labelsId() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final Cursor resultCursor;
    try {
        resultCursor = client.query(LABEL_1_URI, LabelsTable.ALL_COLUMNS, null, null, null);
    } finally {
        client.release();
    }
    assertNotNull(resultCursor);
}

12. LabelProviderTest#testQuery_labels()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests the {@link android.content.ContentProvider} query method
     * {@link com.android.talkback.labeling.LabelProvider#query(android.net.Uri, String[], String, String[], String)} with
     * the labels content URI argument.
     */
@SmallTest
public void testQuery_labels() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final Cursor resultCursor;
    try {
        resultCursor = client.query(LabelProvider.LABELS_CONTENT_URI, LabelsTable.ALL_COLUMNS, null, null, null);
    } finally {
        client.release();
    }
    assertNotNull(resultCursor);
}

13. LabelProviderTest#testQuery_invalidUri()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests the {@link android.content.ContentProvider} query method
     * {@link com.android.talkback.labeling.LabelProvider#query(android.net.Uri, String[], String, String[], String)} with
     * an invalid URI argument.
     */
@SmallTest
public void testQuery_invalidUri() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final Cursor resultCursor;
    try {
        resultCursor = client.query(INVALID_PATH_URI, new String[] {}, "", new String[] {}, null);
    } finally {
        client.release();
    }
    assertNull(resultCursor);
}

14. LabelProviderTest#testInsert_success()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#insert(android.net.Uri, android.content.ContentValues)} with valid content
     * values.
     */
@SmallTest
public void testInsert_success() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final ContentValues contentValues = getValidLabelContentValues();
    final Uri resultUri;
    try {
        resultUri = client.insert(LabelProvider.LABELS_CONTENT_URI, contentValues);
    } finally {
        client.release();
    }
    final Uri expectedUri = ContentUris.withAppendedId(LabelProvider.LABELS_CONTENT_URI, 1L);
    assertEquals(expectedUri, resultUri);
}

15. LabelProviderTest#testInsert_specifiedlabelId()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#insert(android.net.Uri, android.content.ContentValues)} with specified
     * label ID.
     */
@SmallTest
public void testInsert_specifiedlabelId() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final ContentValues contentValues = getValidLabelContentValues();
    contentValues.put(LabelsTable.KEY_ID, 1L);
    final Uri resultUri;
    try {
        resultUri = client.insert(LabelProvider.LABELS_CONTENT_URI, contentValues);
    } finally {
        client.release();
    }
    assertNull(resultUri);
}

16. LabelProviderTest#testInsert_extraContentValues()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#insert(android.net.Uri, android.content.ContentValues)} with an extra
     * content value.
     */
@SmallTest
public void testInsert_extraContentValues() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final ContentValues contentValues = getValidLabelContentValues();
    contentValues.put("invalid_key", 100);
    final Uri resultUri;
    try {
        resultUri = client.insert(LabelProvider.LABELS_CONTENT_URI, contentValues);
    } finally {
        client.release();
    }
    assertNull(resultUri);
}

17. LabelProviderTest#testInsert_emptyContentValues()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#insert(android.net.Uri, android.content.ContentValues)} with empty content
     * values.
     */
@SmallTest
public void testInsert_emptyContentValues() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final ContentValues contentValues = new ContentValues();
    final Uri resultUri;
    try {
        resultUri = client.insert(LabelProvider.LABELS_CONTENT_URI, contentValues);
    } finally {
        client.release();
    }
    assertNull(resultUri);
}

18. LabelProviderTest#testInsert_nullContentValues()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#insert(android.net.Uri, android.content.ContentValues)} with {@code null}
     * content values.
     */
@SmallTest
public void testInsert_nullContentValues() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final Uri resultUri;
    try {
        resultUri = client.insert(LabelProvider.LABELS_CONTENT_URI, null);
    } finally {
        client.release();
    }
    assertNull(resultUri);
}

19. LabelProviderTest#testInsert_invalidUri()

Project: talkback
File: LabelProviderTest.java
/**
     * Tests {@link com.android.talkback.labeling.LabelProvider#insert(android.net.Uri, android.content.ContentValues)} with an invalid
     * URI argument.
     */
@SmallTest
public void testInsert_invalidUri() throws RemoteException {
    final ContentProviderClient client = getContentProviderClient();
    final Uri resultUri;
    try {
        resultUri = client.insert(INVALID_PATH_URI, new ContentValues());
    } finally {
        client.release();
    }
    assertNull(resultUri);
}

20. MainPageReadMoreTopicTask#getInterestedHistoryEntry()

Project: apps-android-wikipedia
File: MainPageReadMoreTopicTask.java
private Cursor getInterestedHistoryEntry() {
    ContentProviderClient client = HistoryEntry.DATABASE_TABLE.acquireClient(context);
    try {
        Uri uri = PageHistoryContract.PageWithImage.URI;
        final String[] projection = null;
        String selection = ":sourceCol != ? and :sourceCol != ? ".replaceAll(":sourceCol", PageHistoryContract.Page.SOURCE.qualifiedName());
        String[] selectionArgs = new String[] { Integer.toString(HistoryEntry.SOURCE_MAIN_PAGE), Integer.toString(HistoryEntry.SOURCE_RANDOM) };
        String order = PageHistoryContract.PageWithImage.ORDER_MRU;
        return client.query(uri, projection, selection, selectionArgs, order);
    } catch (RemoteException e) {
        throw new RuntimeException(e);
    } finally {
        client.release();
    }
}

21. LastPageReadTask#queryLastPage()

Project: apps-android-wikipedia
File: LastPageReadTask.java
@Nullable
private Cursor queryLastPage(long earlierThanTime) {
    ContentProviderClient client = HistoryEntry.DATABASE_TABLE.acquireClient(context);
    try {
        Uri uri = PageHistoryContract.PageWithImage.URI;
        final String[] projection = null;
        final String selection = PageHistoryContract.Col.TIMESTAMP.getName() + " < ?";
        final String[] selectionArgs = { Long.toString(earlierThanTime) };
        String order = PageHistoryContract.PageWithImage.ORDER_MRU + " limit " + (age + 1);
        return client.query(uri, projection, selection, selectionArgs, order);
    } catch (RemoteException e) {
        throw new RuntimeException(e);
    } finally {
        client.release();
    }
}

22. AbstractContentProviderStub#getContentProviderClient()

Project: DroidPlugin
File: AbstractContentProviderStub.java
private synchronized ContentProviderClient getContentProviderClient(final String targetAuthority) {
    ContentProviderClient client = sContentProviderClients.get(targetAuthority);
    if (client != null) {
        return client;
    }
    if (Looper.getMainLooper() != Looper.myLooper()) {
        PluginManager.getInstance().waitForConnected();
    }
    ProviderInfo stubInfo = null;
    ProviderInfo targetInfo = null;
    try {
        String authority = getMyAuthority();
        stubInfo = getContext().getPackageManager().resolveContentProvider(authority, 0);
        targetInfo = PluginManager.getInstance().resolveContentProvider(targetAuthority, 0);
    } catch (Exception e) {
        Log.e(TAG, "Can not reportMyProcessName on ContentProvider");
    }
    if (stubInfo != null && targetInfo != null) {
        try {
            PluginManager.getInstance().reportMyProcessName(stubInfo.processName, targetInfo.processName, targetInfo.packageName);
        } catch (RemoteException e) {
            Log.e(TAG, "RemoteException on reportMyProcessName", e);
        }
    }
    try {
        if (targetInfo != null) {
            PluginProcessManager.preLoadApk(getContext(), targetInfo);
        }
    } catch (Exception e) {
        handleExpcetion(e);
    }
    ContentProviderClient newClient = mContentResolver.acquireContentProviderClient(targetAuthority);
    sContentProviderClients.put(targetAuthority, newClient);
    try {
        if (stubInfo != null && targetInfo != null) {
            PluginManager.getInstance().onProviderCreated(stubInfo, targetInfo);
        }
    } catch (Exception e) {
        Log.e(TAG, "Exception on report onProviderCreated", e);
    }
    return sContentProviderClients.get(targetAuthority);
}

23. MainActivity#onCreate()

Project: Android-OrmLiteContentProvider
File: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // insert test
    ContentValues values = new ContentValues();
    values.clear();
    values.put(AccountContract.NAME, "Yamada Tarou");
    getContentResolver().insert(AccountContract.CONTENT_URI, values);
    // bulkInsert test
    ContentValues[] contentValues = new ContentValues[TEST_ENTRY_COUNT];
    for (int i = 0; i < TEST_ENTRY_COUNT; i++) {
        values = new ContentValues();
        values.clear();
        values.put(AccountContract.NAME, "Yamada Tarou: " + i);
        contentValues[i] = values;
    }
    getContentResolver().bulkInsert(AccountContract.CONTENT_URI, contentValues);
    // select test
    Cursor c = getContentResolver().query(AccountContract.CONTENT_URI, null, null, null, null);
    c.moveToFirst();
    do {
        for (int i = 0; i < c.getColumnCount(); i++) {
            Log.d(getClass().getSimpleName(), c.getColumnName(i) + " : " + c.getString(i));
        }
    } while (c.moveToNext());
    c.close();
    // applyBatch test
    ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>();
    operations.add(ContentProviderOperation.newInsert(AccountContract.CONTENT_URI).withValue(AccountContract.NAME, "Yamada Hanako 1").build());
    operations.add(ContentProviderOperation.newInsert(AccountContract.CONTENT_URI).withValue(AccountContract.NAME, "Yamada Hanako 2").build());
    try {
        getContentResolver().applyBatch(AccountContract.AUTHORITY, operations);
    } catch (Exception e) {
        e.printStackTrace();
    }
    // ContentProviderClient test
    ContentProviderClient client = getContentResolver().acquireContentProviderClient(AccountContract.CONTENT_URI);
    Cursor c2 = null;
    try {
        c2 = client.query(AccountContract.CONTENT_URI, null, null, null, null);
        c2.moveToFirst();
        do {
            for (int i = 0; i < c2.getColumnCount(); i++) {
                Log.d(getClass().getSimpleName(), c2.getColumnName(i) + " : " + c2.getString(i));
            }
        } while (c2.moveToNext());
    } catch (RemoteException e) {
        e.printStackTrace();
    } finally {
        if (c2 != null) {
            c2.close();
        }
    }
    client.release();
}

24. TestOrmLiteSimpleProvider#testContentProviderAcquisition()

Project: Android-OrmLiteContentProvider
File: TestOrmLiteSimpleProvider.java
public void testContentProviderAcquisition() throws RemoteException {
    // given
    Account account1 = new Account(TEST_NAME_1);
    Account account2 = new Account(TEST_NAME_2);
    RuntimeExceptionDao<Account, Integer> simpleDao = getHelper().getRuntimeExceptionDao(Account.class);
    simpleDao.create(account1);
    simpleDao.create(account2);
    List<Account> accountList = simpleDao.queryForAll();
    assertEquals(2, accountList.size());
    // when
    ContentProviderClient contentProviderClient = this.resolver.acquireContentProviderClient(AccountContract.CONTENT_URI);
    Cursor cursor = contentProviderClient.query(AccountContract.CONTENT_URI, null, null, null, null);
    // then
    accountList = new ArrayList<Account>();
    while (cursor.moveToNext()) {
        Account account = new Account(cursor.getString(1));
        accountList.add(account);
    }
    cursor.close();
    contentProviderClient.release();
    assertEquals(2, accountList.size());
    assertEquals(TEST_NAME_1, accountList.get(0).getName());
    assertEquals(TEST_NAME_2, accountList.get(1).getName());
}

25. MainActivity#onCreate()

Project: Android-OrmLiteContentProvider
File: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // insert test
    ContentValues values = new ContentValues();
    values.clear();
    values.put(AccountContract.NAME, "Yamada Tarou");
    getContentResolver().insert(AccountContract.CONTENT_URI, values);
    // bulkInsert test
    ContentValues[] contentValues = new ContentValues[TEST_ENTRY_COUNT];
    for (int i = 0; i < TEST_ENTRY_COUNT; i++) {
        values = new ContentValues();
        values.clear();
        values.put(AccountContract.NAME, "Yamada Tarou: " + i);
        contentValues[i] = values;
    }
    getContentResolver().bulkInsert(AccountContract.CONTENT_URI, contentValues);
    // select test
    Cursor c = getContentResolver().query(AccountContract.CONTENT_URI, null, null, null, null);
    c.moveToFirst();
    do {
        for (int i = 0; i < c.getColumnCount(); i++) {
            Log.d(getClass().getSimpleName(), c.getColumnName(i) + " : " + c.getString(i));
        }
    } while (c.moveToNext());
    c.close();
    // applyBatch test
    ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>();
    operations.add(ContentProviderOperation.newInsert(AccountContract.CONTENT_URI).withValue(AccountContract.NAME, "Yamada Hanako 1").build());
    operations.add(ContentProviderOperation.newInsert(AccountContract.CONTENT_URI).withValue(AccountContract.NAME, "Yamada Hanako 2").build());
    try {
        getContentResolver().applyBatch(AccountContract.AUTHORITY, operations);
    } catch (Exception e) {
        e.printStackTrace();
    }
    // ContentProviderClient test
    ContentProviderClient client = getContentResolver().acquireContentProviderClient(AccountContract.CONTENT_URI);
    Cursor c2 = null;
    try {
        c2 = client.query(AccountContract.CONTENT_URI, null, null, null, null);
        c2.moveToFirst();
        do {
            for (int i = 0; i < c2.getColumnCount(); i++) {
                Log.d(getClass().getSimpleName(), c2.getColumnName(i) + " : " + c2.getString(i));
            }
        } while (c2.moveToNext());
    } catch (RemoteException e) {
        e.printStackTrace();
    } finally {
        if (c2 != null) {
            c2.close();
        }
    }
    client.release();
}

26. SearchHelper#getAvailableSites()

Project: transdroid
File: SearchHelper.java
/**
	 * Queries the Torrent Search package for all available in-app search sites. This method is synchronous.
	 * @return A list of available search sites as POJOs, or null if the Torrent Search package is not installed
	 */
public List<SearchSite> getAvailableSites() {
    // Try to access the TorrentSitesProvider of the Torrent Search app
    Uri uri = Uri.parse("content://org.transdroid.search.torrentsitesprovider/sites");
    ContentProviderClient test = context.getContentResolver().acquireContentProviderClient(uri);
    if (test == null) {
        // Torrent Search package is not yet installed
        return null;
    }
    // Query the available in-app torrent search sites
    Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
    if (cursor == null) {
        // The installed Torrent Search version is corrupt or incompatible
        return null;
    }
    List<SearchSite> sites = new ArrayList<>();
    if (cursor.moveToFirst()) {
        do {
            // Read the cursor fields into the SearchSite object
            sites.add(new SearchSite(cursor.getInt(CURSOR_SITE_ID), cursor.getString(CURSOR_SITE_CODE), cursor.getString(CURSOR_SITE_NAME), cursor.getString(CURSOR_SITE_RSSURL), cursor.getColumnNames().length > 4 && cursor.getInt(CURSOR_SITE_ISPRIVATE) == 1));
        } while (cursor.moveToNext());
    }
    cursor.close();
    return sites;
}

27. ExifUtils#getExifOrientation()

Project: ImageViewZoom
File: ExifUtils.java
/**
	 * Try to get the exif orientation of the passed image uri
	 * 
	 * @param context
	 * @param uri
	 * @return
	 */
public static int getExifOrientation(Context context, Uri uri) {
    final String scheme = uri.getScheme();
    ContentProviderClient provider = null;
    if (scheme == null || ContentResolver.SCHEME_FILE.equals(scheme)) {
        return getExifOrientation(uri.getPath());
    } else if (scheme.equals(ContentResolver.SCHEME_CONTENT)) {
        try {
            provider = context.getContentResolver().acquireContentProviderClient(uri);
        } catch (SecurityException e) {
            return 0;
        }
        if (provider != null) {
            Cursor result;
            try {
                result = provider.query(uri, new String[] { Images.ImageColumns.ORIENTATION, Images.ImageColumns.DATA }, null, null, null);
            } catch (Exception e) {
                e.printStackTrace();
                return 0;
            }
            if (result == null) {
                return 0;
            }
            int orientationColumnIndex = result.getColumnIndex(Images.ImageColumns.ORIENTATION);
            int dataColumnIndex = result.getColumnIndex(Images.ImageColumns.DATA);
            try {
                if (result.getCount() > 0) {
                    result.moveToFirst();
                    int rotation = 0;
                    if (orientationColumnIndex > -1) {
                        rotation = result.getInt(orientationColumnIndex);
                    }
                    if (dataColumnIndex > -1) {
                        String path = result.getString(dataColumnIndex);
                        rotation |= getExifOrientation(path);
                    }
                    return rotation;
                }
            } finally {
                result.close();
            }
        }
    }
    return 0;
}

28. BatcherTest#throwAnExceptionInsideClientsApplyBatch()

Project: android-db-commons
File: BatcherTest.java
@SuppressWarnings("unchecked")
private void throwAnExceptionInsideClientsApplyBatch(Class<? extends Exception> applyBatchException) throws RemoteException, OperationApplicationException {
    final ContentProviderClient client = mock(ContentProviderClient.class);
    when(client.applyBatch(any(ArrayList.class))).thenThrow(applyBatchException);
    Batcher.begin().append(ProviderAction.insert(createFakeUri("fake"))).applyBatchOrThrow(client);
}