public PersistentOfflineMutationObject processNextMutationObject() { Log.v(TAG,"Thread:[" + Thread.currentThread().getId() +"]:In processNextMutationObject"); PersistentOfflineMutationObject mutationRequestObject = getFirstInQueue(); if ( mutationRequestObject != null ) { // kick off originalMutation here through the custom network invoker networkInvoker.executeRequest(mutationRequestObject); } return mutationRequestObject; }
void updateQueueHandler(AppSyncOfflineMutationInterceptor.QueueUpdateHandler queueHandler) { this.queueHandler = queueHandler; networkInvoker.updateQueueHandler(queueHandler); }
public PersistentOfflineMutationManager(AppSyncMutationSqlCacheOperations mutationSqlCacheOperations, AppSyncCustomNetworkInvoker networkInvoker) { Log.v(TAG,"Thread:[" + Thread.currentThread().getId() +"]:In Constructor"); this.mutationSqlCacheOperations = mutationSqlCacheOperations; this.networkInvoker = networkInvoker; //Get all the previously persisted mutations and house them in the persistentOfflineMutationObjectList and persistentOfflineMutationObjectMap Log.v(TAG,"Thread:[" + Thread.currentThread().getId() +"]:Priming the pump - Fetching all the queued mutations from the persistent store"); persistentOfflineMutationObjectList = fetchPersistentMutationsList(); persistentOfflineMutationObjectMap = new HashMap<>(); for (PersistentOfflineMutationObject object: persistentOfflineMutationObjectList) { persistentOfflineMutationObjectMap.put(object.recordIdentifier, object); } timedOutMutations = new HashSet<PersistentOfflineMutationObject>(); networkInvoker.setPersistentOfflineMutationManager(this); Log.v(TAG, "Thread:[" + Thread.currentThread().getId() +"]:Exiting the constructor. There are [" + persistentOfflineMutationObjectList.size() + "] mutations in the persistent queue"); }
public AppSyncCustomNetworkInvoker(@Nonnull HttpUrl serverUrl, @Nonnull Call.Factory httpCallFactory, @Nonnull ScalarTypeAdapters scalarTypeAdapters, @Nullable PersistentMutationsCallback mutationsCallback, @Nullable S3ObjectManager s3ObjectManager) { this.serverUrl = checkNotNull(serverUrl, "serverUrl == null"); this.httpCallFactory = checkNotNull(httpCallFactory, "httpCallFactory == null"); this.scalarTypeAdapters = checkNotNull(scalarTypeAdapters, "scalarTypeAdapters == null"); this.persistentMutationsCallback = mutationsCallback; this.dispatcher = defaultDispatcher(); this.s3ObjectManager = s3ObjectManager; }
new AppSyncCustomNetworkInvoker(HttpUrl.parse(builder.mServerUrl), okHttpClient, new ScalarTypeAdapters(builder.customTypeAdapters),