public Long updateChannelContentProvider(ChannelInfo channel) { // Log.v( TAG, "updateChannelContentProvider : enter" ); if (null != channel) { if (Log.isLoggable(TAG, Log.VERBOSE)) { Log.v(TAG, "updateChannelContentProvider : channelInfo=" + channel.toString()); } ContentValues values = new ContentValues(); values.put(ChannelConstants.FIELD_CHAN_ID, channel.getChannelId()); values.put(ChannelConstants.FIELD_CHAN_NUM, channel.getChannelNumber()); values.put(ChannelConstants.FIELD_CALLSIGN, channel.getCallSign()); values.put(ChannelConstants.FIELD_ICON_URL, channel.getIconUrl()); values.put(ChannelConstants.FIELD_CHANNEL_NAME, channel.getChannelName()); values.put(ChannelConstants.FIELD_MPLEX_ID, channel.getMultiplexId()); values.put(ChannelConstants.FIELD_TRANSPORT_ID, channel.getTransportId()); values.put(ChannelConstants.FIELD_SERVICE_ID, channel.getServiceId()); values.put(ChannelConstants.FIELD_NETWORK_ID, channel.getNetworkId()); values.put(ChannelConstants.FIELD_ATSC_MAJOR_CHAN, channel.getAtscMajorChannel()); values.put(ChannelConstants.FIELD_ATSC_MINOR_CHAN, channel.getAtscMinorChannel()); values.put(ChannelConstants.FIELD_FORMAT, channel.getFormat()); values.put(ChannelConstants.FIELD_MODULATION, channel.getModulation()); values.put(ChannelConstants.FIELD_FREQUENCY, channel.getFrequency()); values.put(ChannelConstants.FIELD_FREQUENCY_ID, channel.getFrequencyId()); values.put(ChannelConstants.FIELD_FREQUENCY_TABLE, channel.getFrequenceTable()); values.put(ChannelConstants.FIELD_FINE_TUNE, channel.getFineTune()); values.put(ChannelConstants.FIELD_SIS_STANDARD, channel.getSiStandard()); values.put(ChannelConstants.FIELD_CHAN_FILTERS, channel.getChannelFilters()); values.put(ChannelConstants.FIELD_SOURCE_ID, channel.getSourceId()); values.put(ChannelConstants.FIELD_INPUT_ID, channel.getInputId()); values.put(ChannelConstants.FIELD_COMM_FREE, channel.getCommercialFree()); values.put(ChannelConstants.FIELD_USE_EIT, channel.isUseEit()); values.put(ChannelConstants.FIELD_VISIBLE, channel.isVisable()); values.put(ChannelConstants.FIELD_XMLTV_ID, channel.getXmltvId()); values.put(ChannelConstants.FIELD_DEFAULT_AUTH, channel.getDefaultAuth()); long id = 0; Cursor cursor = mContext .getContentResolver() .query( ChannelConstants.CONTENT_URI, null, ChannelConstants.FIELD_CHAN_ID + " = ? and " + ChannelConstants.FIELD_SOURCE_ID + " = ?", new String[] {"" + channel.getChannelId(), "" + channel.getSourceId()}, null); if (cursor.moveToFirst()) { id = cursor.getInt(cursor.getColumnIndexOrThrow(ChannelConstants._ID)); } else { Uri contentUri = mContext.getContentResolver().insert(ChannelConstants.CONTENT_URI, values); id = ContentUris.parseId(contentUri); } cursor.close(); return id; } Log.v(TAG, "updateChannelContentProvider : exit, channel info is empty"); return null; }