@SuppressWarnings("unchecked") private Builder(Cursor cursor) { mId = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_ID)); mTag = cursor.getString(cursor.getColumnIndex(JobStorage.COLUMN_TAG)); mStartMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_START_MS)); mEndMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_END_MS)); mBackoffMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_BACKOFF_MS)); try { mBackoffPolicy = BackoffPolicy.valueOf(cursor.getString(cursor.getColumnIndex(JobStorage.COLUMN_BACKOFF_POLICY))); } catch (Throwable t) { CAT.e(t); // https://gist.github.com/vRallev/574563f0e3fe636b19a7 mBackoffPolicy = DEFAULT_BACKOFF_POLICY; } mIntervalMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_INTERVAL_MS)); mFlexMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_FLEX_MS)); mRequirementsEnforced = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIREMENTS_ENFORCED)) > 0; mRequiresCharging = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIRES_CHARGING)) > 0; mRequiresDeviceIdle = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIRES_DEVICE_IDLE)) > 0; mRequiresBatteryNotLow = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIRES_BATTERY_NOT_LOW)) > 0; mRequiresStorageNotLow = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIRES_STORAGE_NOT_LOW)) > 0; mExact = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_EXACT)) > 0; try { mNetworkType = NetworkType.valueOf(cursor.getString(cursor.getColumnIndex(JobStorage.COLUMN_NETWORK_TYPE))); } catch (Throwable t) { CAT.e(t); // https://gist.github.com/vRallev/574563f0e3fe636b19a7 mNetworkType = DEFAULT_NETWORK_TYPE; } mExtrasXml = cursor.getString(cursor.getColumnIndex(JobStorage.COLUMN_EXTRAS)); mTransient = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_TRANSIENT)) > 0; }
@SuppressWarnings("unchecked") private Builder(Cursor cursor) { mId = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_ID)); mTag = cursor.getString(cursor.getColumnIndex(JobStorage.COLUMN_TAG)); mStartMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_START_MS)); mEndMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_END_MS)); mBackoffMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_BACKOFF_MS)); try { mBackoffPolicy = BackoffPolicy.valueOf(cursor.getString(cursor.getColumnIndex(JobStorage.COLUMN_BACKOFF_POLICY))); } catch (Throwable t) { CAT.e(t); // https://gist.github.com/vRallev/574563f0e3fe636b19a7 mBackoffPolicy = DEFAULT_BACKOFF_POLICY; } mIntervalMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_INTERVAL_MS)); mFlexMs = cursor.getLong(cursor.getColumnIndex(JobStorage.COLUMN_FLEX_MS)); mRequirementsEnforced = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIREMENTS_ENFORCED)) > 0; mRequiresCharging = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIRES_CHARGING)) > 0; mRequiresDeviceIdle = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIRES_DEVICE_IDLE)) > 0; mRequiresBatteryNotLow = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIRES_BATTERY_NOT_LOW)) > 0; mRequiresStorageNotLow = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_REQUIRES_STORAGE_NOT_LOW)) > 0; mExact = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_EXACT)) > 0; try { mNetworkType = NetworkType.valueOf(cursor.getString(cursor.getColumnIndex(JobStorage.COLUMN_NETWORK_TYPE))); } catch (Throwable t) { CAT.e(t); // https://gist.github.com/vRallev/574563f0e3fe636b19a7 mNetworkType = DEFAULT_NETWORK_TYPE; } mExtrasXml = cursor.getString(cursor.getColumnIndex(JobStorage.COLUMN_EXTRAS)); mTransient = cursor.getInt(cursor.getColumnIndex(JobStorage.COLUMN_TRANSIENT)) > 0; }