@@ -231,7 +231,7 @@ public boolean isDirty() {
231
231
* Whether the file has available data.
232
232
*/
233
233
public boolean isDataAvailable () {
234
- return data != null || getFileController ().isDataAvailable (state ) || isPinnedDataAvailable () ;
234
+ return data != null || getFileController ().isDataAvailable (state );
235
235
}
236
236
237
237
/**
@@ -244,122 +244,6 @@ public String getUrl() {
244
244
return state .url ();
245
245
}
246
246
247
- //region LDS
248
-
249
- /* package */ static File getFilesDir () {
250
- return Parse .getParseFilesDir ("files" );
251
- }
252
-
253
- private String getFilename () {
254
- return state .name ();
255
- }
256
-
257
- /**
258
- * On disk cache of the {@code ParseFile}'s data
259
- *
260
- * @return File if cached, null if not.
261
- */
262
- /* package for tests */ File getCacheFile () {
263
- return getFileController ().getCacheFile (state );
264
- }
265
-
266
- /* package for tests */ File getFilesFile () {
267
- String filename = getFilename ();
268
- return filename != null ? new File (getFilesDir (), filename ) : null ;
269
- }
270
-
271
- /* package */ boolean isPinned () {
272
- File file = getFilesFile ();
273
- return file != null && file .exists ();
274
- }
275
-
276
- private boolean isPinnedDataAvailable () {
277
- return getFilesFile ().exists ();
278
- }
279
-
280
- /* package */ void pin () throws ParseException {
281
- setPinned (true );
282
- }
283
-
284
- /* package */ void unpin () throws ParseException {
285
- setPinned (false );
286
- }
287
-
288
- /* package */ Task <Void > pinInBackground () {
289
- return setPinnedInBackground (true );
290
- }
291
-
292
- /* package */ Task <Void > unpinInBackground () {
293
- return setPinnedInBackground (false );
294
- }
295
-
296
- /* package */ void pinInBackground (ParseCallback1 <ParseException > callback ) {
297
- setPinnedInBackground (true , callback );
298
- }
299
-
300
- /* package */ void unpinInBackground (ParseCallback1 <ParseException > callback ) {
301
- setPinnedInBackground (false , callback );
302
- }
303
-
304
- private void setPinned (boolean pinned ) throws ParseException {
305
- ParseTaskUtils .wait (setPinnedInBackground (pinned ));
306
- }
307
-
308
- private void setPinnedInBackground (boolean pinned , ParseCallback1 <ParseException > callback ) {
309
- ParseTaskUtils .callbackOnMainThreadAsync (setPinnedInBackground (pinned ), callback );
310
- }
311
-
312
- private Task <Void > setPinnedInBackground (final boolean pinned ) {
313
- return taskQueue .enqueue (new Continuation <Void , Task <Void >>() {
314
- @ Override
315
- public Task <Void > then (Task <Void > task ) throws Exception {
316
- return task ;
317
- }
318
- }).continueWith (new Continuation <Void , Void >() {
319
- @ Override
320
- public Void then (Task <Void > task ) throws Exception {
321
- if (state .url () == null ) {
322
- throw new IllegalStateException ("Unable to pin file before saving" );
323
- }
324
-
325
- if ((pinned && isPinned ()) || (!pinned && !isPinned ())) {
326
- // Already pinned or unpinned
327
- return null ;
328
- }
329
-
330
- File src , dest ;
331
- if (pinned ) {
332
- src = getCacheFile ();
333
- dest = getFilesFile ();
334
- } else {
335
- src = getFilesFile ();
336
- dest = getCacheFile ();
337
- }
338
-
339
- if (dest .exists ()) {
340
- ParseFileUtils .deleteQuietly (dest );
341
- }
342
-
343
- if (pinned && data != null ) {
344
- ParseFileUtils .writeByteArrayToFile (dest , data );
345
- if (src .exists ()) {
346
- ParseFileUtils .deleteQuietly (src );
347
- }
348
- return null ;
349
- }
350
-
351
- if (src == null || !src .exists ()) {
352
- throw new IllegalStateException ("Unable to pin file before retrieving" );
353
- }
354
-
355
- ParseFileUtils .moveFile (src , dest );
356
- return null ;
357
- }
358
- }, Task .BACKGROUND_EXECUTOR );
359
- }
360
-
361
- //endregion
362
-
363
247
/**
364
248
* Saves the file to the Parse cloud synchronously.
365
249
*/
0 commit comments