微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.content.ContentProviderResult的实例源码

项目:xyz-reader-2    文件ItemsProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},executing inside
 * a {@link sqliteDatabase} transaction. All changes will be rolled back if
 * any single one fails.
 */
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    final sqliteDatabase db = mOpenHelper.getWritableDatabase();
    db.beginTransaction();
    try {
        final int numOperations = operations.size();
        final ContentProviderResult[] results = new ContentProviderResult[numOperations];
        for (int i = 0; i < numOperations; i++) {
            results[i] = operations.get(i).apply(this,results,i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:mobile-store    文件fdroidProvider.java   
@NonNull
@Override
public ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    ContentProviderResult[] result = null;
    isApplyingBatch = true;
    final sqliteDatabase db = db();
    db.beginTransaction();
    try {
        result = super.applyBatch(operations);
        db.setTransactionSuccessful();
    } finally {
        db.endTransaction();
        isApplyingBatch = false;
    }
    return result;
}
项目:Phoenix-for-VK    文件DatabaseIdRange.java   
@Nullable
public static DatabaseIdRange createFromContentProviderResults(ContentProviderResult[] results){
    Integer f = null;
    Integer l = null;

    for(ContentProviderResult result : results){
        if(result.uri != null && !result.uri.toString().isEmpty()){
            int dbid = Integer.parseInt(result.uri.getPathSegments().get(1));
            if(f == null || dbid < f){
                f = dbid;
            }

            if(l == null || dbid > l){
                l = dbid;
            }
        }
    }

    return nonNull(f) && nonNull(l) ? new DatabaseIdRange(f,l) : null;
}
项目:Phoenix-for-VK    文件DatabaseIdRange.java   
@Nullable
public static DatabaseIdRange createFromContentProviderResults(ContentProviderResult[] results,String path){
    UriMatcher sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
    sUriMatcher.addURI(MessengerContentProvider.AUTHORITY,path,MATCH_CODE);

    Integer f = null;
    Integer l = null;
    for(ContentProviderResult result : results){
        if(result.uri != null && !result.uri.toString().isEmpty()){
            if(sUriMatcher.match(result.uri) != MATCH_CODE){
                continue;
            }

            int dbid = Integer.parseInt(result.uri.getPathSegments().get(1));
            if(f == null || dbid < f){
                f = dbid;
            }

            if(l == null || dbid > l){
                l = dbid;
            }
        }
    }

    return nonNull(f) && nonNull(l) ? new DatabaseIdRange(f,l) : null;
}
项目:Phoenix-for-VK    文件Attachmentsstore.java   
@Override
public Single<int[]> attachDbos(int accountId,int attachToType,int attachToDbid,@NonNull List<Entity> entities) {
    return Single.create(emitter -> {
        ArrayList<ContentProviderOperation> operations = new ArrayList<>(entities.size());

        int[] indexes = new int[entities.size()];
        for (int i = 0; i < entities.size(); i++) {
            Entity entity = entities.get(i);
            indexes[i] = appendAttachOperationWithStableAttachToId(operations,accountId,attachToType,attachToDbid,entity);
        }

        ContentProviderResult[] results = getContentResolver().applyBatch(MessengerContentProvider.AUTHORITY,operations);

        int [] ids = new int[entities.size()];

        for (int i = 0; i < indexes.length; i++) {
            ContentProviderResult result = results[indexes[i]];
            int dbid = Integer.parseInt(result.uri.getPathSegments().get(1));
            ids[i] = dbid;
        }

        emitter.onSuccess(ids);
    });
}
项目:Gitjourney    文件ActivityItemsProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:orgzly-android    文件Provider.java   
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations) throws OperationApplicationException {
    ContentProviderResult[] results;

    sqliteDatabase db = mOpenHelper.getWritableDatabase();

    db.beginTransaction();
    try {
        inBatch.set(true);
        results = super.applyBatch(operations);
        inBatch.set(false);

        db.setTransactionSuccessful();
    } finally {
        db.endTransaction();
    }

    notifyChange();

    return results;
}
项目:VirtualAPK    文件RemoteContentProvider.java   
@NonNull
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations) throws OperationApplicationException {
    try {
        Field uriField = ContentProviderOperation.class.getDeclaredField("mUri");
        uriField.setAccessible(true);
        for (ContentProviderOperation operation : operations) {
            Uri pluginUri = Uri.parse(operation.getUri().getQueryParameter(KEY_URI));
            uriField.set(operation,pluginUri);
        }
    } catch (Exception e) {
        return new ContentProviderResult[0];
    }

    if (operations.size() > 0) {
        ContentProvider provider = getContentProvider(operations.get(0).getUri());
        if (provider != null) {
            return provider.applyBatch(operations);
        }
    }

    return new ContentProviderResult[0];
}
项目:android-architecture-components    文件SampleContentProvider.java   
@NonNull
@Override
public ContentProviderResult[] applyBatch(
        @NonNull ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    final Context context = getContext();
    if (context == null) {
        return new ContentProviderResult[0];
    }
    final SampleDatabase database = SampleDatabase.getInstance(context);
    database.beginTransaction();
    try {
        final ContentProviderResult[] result = super.applyBatch(operations);
        database.setTransactionSuccessful();
        return result;
    } finally {
        database.endTransaction();
    }
}
项目:android-architecture-components    文件SampleContentProviderTest.java   
@Test
public void cheese_applyBatch() throws remoteexception,OperationApplicationException {
    final ArrayList<ContentProviderOperation> operations = new ArrayList<>();
    operations.add(ContentProviderOperation
            .newInsert(SampleContentProvider.URI_CHEESE)
            .withValue(Cheese.COLUMN_NAME,"Peynir")
            .build());
    operations.add(ContentProviderOperation
            .newInsert(SampleContentProvider.URI_CHEESE)
            .withValue(Cheese.COLUMN_NAME,"Queso")
            .build());
    final ContentProviderResult[] results = mContentResolver.applyBatch(
            SampleContentProvider.AUTHORITY,operations);
    assertthat(results.length,is(2));
    final Cursor cursor = mContentResolver.query(SampleContentProvider.URI_CHEESE,new String[]{Cheese.COLUMN_NAME},null,null);
    assertthat(cursor,notNullValue());
    assertthat(cursor.getCount(),is(2));
    assertthat(cursor.movetoFirst(),is(true));
    cursor.close();
}
项目:iosched-reader    文件ScheduleProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},executing inside
 * a {@link sqliteDatabase} transaction. All changes will be rolled back if
 * any single one fails.
 */
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    final sqliteDatabase db = mOpenHelper.getWritableDatabase();
    db.beginTransaction();
    try {
        final int numOperations = operations.size();
        final ContentProviderResult[] results = new ContentProviderResult[numOperations];
        for (int i = 0; i < numOperations; i++) {
            results[i] = operations.get(i).apply(this,i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:aos-MediaLib    文件MusicProvider.java   
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    if (DBG) Log.d(TAG,"applyBatch");
    ContentProviderResult[] result = null;
    sqliteDatabase db = mDbHolder.get();
    db.beginTransaction();
    try {
         result = super.applyBatch(operations);
         db.setTransactionSuccessful();
    } finally {
        db.endTransaction();
    }
    if (result != null) {
        mCr.notifyChange(MusicStore.ALL_CONTENT_URI,null);
    }
    return result;
}
项目:aos-MediaLib    文件ScraperProvider.java   
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    sqliteDatabase db = mDbHolder.get();
    db.beginTransaction();
    ContentProviderResult[] result = null;
    try {
        result = super.applyBatch(operations);
        db.setTransactionSuccessful();
        ContentResolver res = mCr;
        res.notifyChange(ScraperStore.ALL_CONTENT_URI,null);
        return result;
    } finally {
        db.endTransaction();
    }
}
项目:sorm    文件ContentProviderEngine.java   
@Override
public void transactionSuccess() {
    try {
        ContentProviderResult[] cpr = context.getContentResolver().applyBatch(
                dsUri.getAuthority(),trans);
        if(cpr == null || cpr.length != trans.size()){
            throw new DaoException();
        }
        for (int i = 0; i < cpr.length; i++) {
            if (cpr[i] == null || ( cpr[i].count == null && cpr[i].uri == null)) {
                throw new DaoException();
            }
        }
    } catch (remoteexception | OperationApplicationException e) {
        throw new DaoException();
    } finally {
        trans = null;
    }
}
项目:sorm    文件OrmProvider.java   
@Override
public ContentProviderResult[] applyBatch( ArrayList<ContentProviderOperation> operations )
        throws OperationApplicationException {

    ContentProviderResult[] contentProviderResults;
    try {
        getWritableDatabase().beginTransaction();
        contentProviderResults = new ContentProviderResult[operations
                .size()];

        int i = 0;
        for (ContentProviderOperation cpo : operations) {
            contentProviderResults[i] = cpo.apply(this,contentProviderResults,i);
            if(contentProviderResults[i] == null || (contentProviderResults[i].count == null && contentProviderResults[i].uri == null)){
                throw new DaoException();
            }
            i++;
        }
        getWritableDatabase().setTransactionSuccessful();
    } finally{
        if (getWritableDatabase().inTransaction()) {
            getWritableDatabase().endTransaction();
        }            
    }
    return contentProviderResults;
}
项目:narrate-android    文件DataProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},executing inside
 * a {@link sqliteDatabase} transaction. All changes will be rolled back if
 * any single one fails.
 */
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    final sqliteDatabase db = mDatabaseHelper.getWritableDatabase();
    db.beginTransaction();
    try {
        final int numOperations = operations.size();
        final ContentProviderResult[] results = new ContentProviderResult[numOperations];
        for (int i = 0; i < numOperations; i++) {
            results[i] = operations.get(i).apply(this,i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:Jisort    文件DsoProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},executing inside
 * a {@link sqliteDatabase} transaction. All changes will be rolled back if
 * any single one fails.
 */
@NonNull
@Override
public ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    final sqliteDatabase db = mOpenHelper.getWritableDatabase();
    db.beginTransaction();
    try {
        final int numOperations = operations.size();
        final ContentProviderResult[] results = new ContentProviderResult[numOperations];
        for (int i = 0; i < numOperations; i++) {
            results[i] = operations.get(i).apply(this,i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:smconf-android    文件ScheduleProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:Cirrus    文件FileContentProvider.java   
@Override
public ContentProviderResult[] applyBatch (ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    Log_OC.d("FileContentProvider","applying batch in provider " + this +
            " (temporary: " + istemporary() + ")" );
    ContentProviderResult[] results = new ContentProviderResult[operations.size()];
    int i=0;

    sqliteDatabase db = mDbHelper.getWritableDatabase();
    db.beginTransaction();  // it's supposed that transactions can be nested
    try {
        for (ContentProviderOperation operation : operations) {
            results[i] = operation.apply(this,i);
            i++;
        }
        db.setTransactionSuccessful();
    } finally {
        db.endTransaction();
    }
    Log_OC.d("FileContentProvider","applied batch in provider " + this);
    return results;
}
项目:XYZReader    文件ItemsProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:espresso-macchiato    文件EspContactTool.java   
public static Uri add(ContactSpec spec) {

        // original code http://stackoverflow.com/questions/4744187/how-to-add-new-contacts-in-android
        // good blog http://androiddevelopement.blogspot.de/2011/07/insert-update-delete-view-contacts-in.html

        ArrayList<ContentProviderOperation> ops = new ArrayList<>();

        addContactBase(ops);
        addContactdisplayName(spec,ops);
        addContactAddress(spec,ops);

        try {
            ContentProviderResult[] results = InstrumentationRegistry.getTargetContext().getContentResolver().applyBatch(ContactsContract.AUTHORITY,ops);
            return results[0].uri;
        } catch (remoteexception | OperationApplicationException e) {
            throw new IllegalStateException("Could not add contact",e);
        }
    }
项目:device-database    文件DevicesProvider.java   
@Override
public @NonNull ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations) throws OperationApplicationException {
    final sqliteDatabase db = helper.getWritableDatabase();

    db.beginTransaction();

    try {
        final ContentProviderResult[] results =
                super.applyBatch(operations);
        db.setTransactionSuccessful();

        return results;
    } finally {
        db.endTransaction();
    }
}
项目:apparel    文件ApparelProvider.java   
@Override
public ContentProviderResult[] applyBatch(
        ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    /*sqliteDatabase db = sqlOpenHelper.getWritableDatabase();
    isInBatchMode.set(true);
    db.beginTransaction();
    try {
        final ContentProviderResult[] retResult = super.applyBatch(operations);
        db.setTransactionSuccessful();
        getContext().getContentResolver().notifyChange(ApparelContract.CONTENT_URI,null);
        return retResult;
    }
    finally {
        isInBatchMode.remove();
        db.endTransaction();
    }*/
    return null;
}
项目:SpatiAtlas    文件SpatiAtlasProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},executing inside
 * a {@link sqliteDatabase} transaction. All changes will be rolled back if
 * any single one fails.
 */
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    final sqliteDatabase db = mDbHelper.getWritableDatabase();
    db.beginTransaction();
    try {
        final int numOperations = operations.size();
        final ContentProviderResult[] results = new ContentProviderResult[numOperations];
        for (int i = 0; i < numOperations; i++) {
            results[i] = operations.get(i).apply(this,i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:2015-Google-I-O-app    文件ScheduleProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:make-your-app-material    文件ItemsProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},executing inside
 * a {@link sqliteDatabase} transaction. All changes will be rolled back if
 * any single one fails.
 */
@NonNull
public ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {
    final sqliteDatabase db = mOpenHelper.getWritableDatabase();
    db.beginTransaction();
    try {
        final int numOperations = operations.size();
        final ContentProviderResult[] results = new ContentProviderResult[numOperations];
        for (int i = 0; i < numOperations; i++) {
            results[i] = operations.get(i).apply(this,i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:fdroid    文件fdroidProvider.java   
@NonNull
@Override
public ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations)
    throws OperationApplicationException {
    ContentProviderResult[] result = null;
    isApplyingBatch = true;
    final sqliteDatabase db = db();
    db.beginTransaction();
    try {
        result = super.applyBatch(operations);
        db.setTransactionSuccessful();
    } finally {
        db.endTransaction();
        isApplyingBatch = false;
    }
    return result;
}
项目:RememBirthday    文件EventLoader.java   
public synchronized static void updateEvent(Context context,Contact contact,DateUnkNownYear newBirthday) throws EventException {
    // Todo UNIFORMISE
    for (CalendarEvent event : getEventsSavedOrCreateNewsForEachYear(context,contact)) {
        // Construct each anniversary of new birthday
        int year = new DateTime(event.getDate()).getYear();
        Date newBirthdayDate = DateUnkNownYear.getDateWithYear(newBirthday.getDate(),year);
        event.setDateStart(newBirthdayDate);
        event.setAllDay(true);
        ArrayList<ContentProviderOperation> operations = new ArrayList<>();
        ContentProviderOperation contentProviderOperation = EventProvider.update(event);
        operations.add(contentProviderOperation);
        try {
            ContentProviderResult[] contentProviderResults =
                    context.getContentResolver().applyBatch(CalendarContract.AUTHORITY,operations);
            for(ContentProviderResult contentProviderResult : contentProviderResults) {
                if (contentProviderResult.count != 0)
                    Log.d(TAG,"Update event : " + event.toString());
            }
        } catch (remoteexception|OperationApplicationException e) {
            Log.e(TAG,"Unable to update event : " + e.getMessage());
        }
    }
}
项目:RememBirthday    文件EventLoader.java   
public synchronized static void deleteEventsFromContact(Context context,Contact contact) {
    ArrayList<ContentProviderOperation> operations = new ArrayList<>();
    try {
        for (CalendarEvent event : getEventsSavedForEachYear(context,contact)) {
            operations.add(ReminderProvider.deleteall(context,event.getId()));
            operations.add(EventProvider.delete(event));
        }
        ContentProviderResult[] contentProviderResults =
                context.getContentResolver().applyBatch(CalendarContract.AUTHORITY,operations);
        for(ContentProviderResult contentProviderResult : contentProviderResults) {
            Log.d(TAG,contentProviderResult.toString());
            if (contentProviderResult.uri != null)
                Log.d(TAG,contentProviderResult.uri.toString());
        }
    } catch (remoteexception |OperationApplicationException |EventException e) {
        Log.e(TAG,"Unable to deleteById events : " + e.getMessage());
    }
}
项目:RememBirthday    文件ContactProvider.java   
@Override
protected Exception doInBackground(Void... params) {
    try {
        ArrayList<ContentProviderOperation> ops = new ArrayList<>();
        ContentProviderOperation.Builder contentBuilder =  ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValue(ContactsContract.Data.RAW_CONTACT_ID,rawContactId)
                .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.Event.START_DATE,birthday.toBackupString())
                .withValue(ContactsContract.CommonDataKinds.Event.TYPE,ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY);
        Log.d(getClass().getSimpleName(),"Add birthday " + birthday);
        ops.add(contentBuilder.build());
        ContentProviderResult[] results = context.getContentResolver().applyBatch(ContactsContract.AUTHORITY,ops);
        if(results[0] == null)
            throw new Exception("Unable to add new birthday");
    } catch(Exception e) {
        return e;
    }
    return null;
}
项目:RememBirthday    文件ContactProvider.java   
@Override
protected Exception doInBackground(Void... voids) {
    try {
        ArrayList<ContentProviderOperation> ops = new ArrayList<>();
        ContentProviderOperation.Builder contentBuilder =  ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
                .withSelection(ContactsContract.Data._ID + " =? AND " +
                                ContactsContract.Data.MIMETYPE + " =? AND " +
                                ContactsContract.CommonDataKinds.Event.START_DATE + " =? AND " +
                                ContactsContract.CommonDataKinds.Event.TYPE + " =?",new String[]{String.valueOf(dataId),ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE,oldBirthday.toBackupString(),String.valueOf(ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY)})
                .withValue(ContactsContract.CommonDataKinds.Event.START_DATE,birthday.toBackupString());
        Log.d(getClass().getSimpleName(),"Update birthday " + oldBirthday + " to " + birthday);
        ops.add(contentBuilder.build());
        ContentProviderResult[] results = context.getContentResolver().applyBatch(ContactsContract.AUTHORITY,ops);
        if(results[0].count == 0)
            return new Exception("Unable to update birthday");
    } catch(Exception e) {
        return e;
    }
    return null;
}
项目:FMTech    文件ScheduleProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:Bakery    文件AppContentProvider.java   
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations) throws OperationApplicationException {

    writableDatabase.beginTransaction();
    try {
        final int operationsCount = operations.size();
        final ContentProviderResult[] results = new ContentProviderResult[operationsCount];
        for (int i = 0; i < operationsCount; i++) {
            results[i] = operations.get(i).apply(this,i);
        }
        writableDatabase.setTransactionSuccessful();
        return results;
    } finally {
        writableDatabase.endTransaction();
    }
}
项目:MaterialZebra    文件ItemsProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:JJCamera    文件ScheduleProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}
项目:worker    文件WorkerProvider.java   
@Override
@NonNull
public ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations)
        throws OperationApplicationException {

    final sqliteDatabase db = getopenHelper().getWritableDatabase();
    db.beginTransaction();
    try {
        final int numberOfOperations = operations.size();
        final ContentProviderResult[] results = new ContentProviderResult[numberOfOperations];
        for (int i = 0; i < numberOfOperations; i++) {
            results[i] = operations.get(i).apply(this,i);
        }
        db.setTransactionSuccessful();

        return results;
    } finally {
        db.endTransaction();
    }
}
项目:CPOrm    文件TransactionHelper.java   
public static void saveInTransaction(Context context,List<? extends CPDefaultRecord> records) throws remoteexception,OperationApplicationException {

        List<ContentProviderOperation> operations = prepareTransaction(context,records);
        ContentProviderResult[] contentProviderResults = CPOrm.applyPreparedOperations(operations);

        Map<Class,Long> referenceIds = new HashMap<>();

        for (int i = 0; i < contentProviderResults.length; i++) {

            ContentProviderResult result = contentProviderResults[i];
            CPDefaultRecord source = records.get(i);

            referenceIds.remove(source.getClass());
            if(result.uri != null && source.getId() == null && ContentUris.parseId(result.uri) != -1){

                source.setId(ContentUris.parseId(result.uri));
                referenceIds.put(source.getClass(),source.getId());
            }

            try {
                applyReferenceResults(source.getClass(),source,referenceIds);
            } catch (illegalaccessexception e) {
                CPOrmlog.e("Failed to apply back reference id's for uri " + result.uri);
            }
        }
    }
项目:dodroid    文件QuizProvider.java   
@NonNull
@Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations) throws OperationApplicationException {
    sqliteDatabase db = mQuizDBHelper.getWritableDatabase();
    mIsBatchMode = true;
    db.beginTransaction();
    try {
        final ContentProviderResult[] res = super.applyBatch(operations);
        db.setTransactionSuccessful();
        getContext().getContentResolver().notifyChange(QuizProvider.BASE_URI,null);
        return res;
    } finally {
        mIsBatchMode = false;
        db.endTransaction();
    }
}
项目:android-authenticator    文件BatchOperation.java   
public List<Uri> execute() {
    List<Uri> resultUris = new ArrayList<Uri>();

    if (mOperations.size() == 0) {
        return resultUris;
    }
    // Apply the mOperations to the content provider
    try {
        ContentProviderResult[] results = mResolver.applyBatch(ContactsContract.AUTHORITY,mOperations);
        if ((results != null) && (results.length > 0)) {
            for (int i = 0; i < results.length; i++) {
                resultUris.add(results[i].uri);
            }
        }
    } catch (final OperationApplicationException e1) {
        Log.e(TAG,"storing contact data Failed",e1);
    } catch (final remoteexception e2) {
        Log.e(TAG,e2);
    }
    mOperations.clear();
    return resultUris;
}
项目:Viz    文件VizProvider.java   
/**
 * Apply the given set of {@link ContentProviderOperation},i);
        }
        db.setTransactionSuccessful();
        return results;
    } finally {
        db.endTransaction();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。