/** * Updates states of all transfer records with the specified which are "running" and "waiting" to * "pending cancel" * * @param TransferType The type of transfers to cancel * @return Number of rows updated. */ public int cancelAllWithType(TransferType type) { ContentValues values = new ContentValues(); values.put(TransferTable.COLUMN_STATE, TransferState.PENDING_CANCEL.toString()); String selection = null; String[] selectionArgs = null; if (type == TransferType.ANY) { selection = TransferTable.COLUMN_STATE + " in (?,?,?,?,?)"; selectionArgs = new String[] { TransferState.IN_PROGRESS.toString(), TransferState.RESUMED_WAITING.toString(), TransferState.WAITING.toString(), TransferState.PAUSED.toString(), TransferState.WAITING_FOR_NETWORK.toString() }; } else { selection = TransferTable.COLUMN_STATE + " in (?,?,?,?,?) and " + TransferTable.COLUMN_TYPE + "=?"; selectionArgs = new String[] { TransferState.IN_PROGRESS.toString(), TransferState.RESUMED_WAITING.toString(), TransferState.WAITING.toString(), TransferState.PAUSED.toString(), TransferState.WAITING_FOR_NETWORK.toString(), type.toString() }; } return transferDBBase.update(transferDBBase.getContentUri(), values, selection, selectionArgs); }
/** * Updates states of all transfer records which are "waiting for network" to "waiting to resume" * * @return Number of rows updated. */ public int updateNetworkConnected() { ContentValues values = new ContentValues(); values.put(TransferTable.COLUMN_STATE, TransferState.RESUMED_WAITING.toString()); return transferDBBase.update( transferDBBase.getContentUri(), values, TransferTable.COLUMN_STATE + " in (?,?)", new String[] { TransferState.PENDING_NETWORK_DISCONNECT.toString(), TransferState.WAITING_FOR_NETWORK.toString() }); }
/** * Updates states of all transfer records which are "running" and "waiting" to "paused" * * @return Number of rows updated. */ public int setAllRunningRecordsToPausedBeforeShutdownService() { ContentValues values = new ContentValues(); values.put(TransferTable.COLUMN_STATE, TransferState.PAUSED.toString()); return transferDBBase.update( transferDBBase.getContentUri(), values, TransferTable.COLUMN_STATE + " in (?,?,?,?)", new String[] { TransferState.IN_PROGRESS.toString(), TransferState.PENDING_PAUSE.toString(), TransferState.RESUMED_WAITING.toString(), TransferState.WAITING.toString() }); }