È possibile utilizzare più resolver di contenuto per gestire diverse operazioni della timeline.
List<ContentResolver> contentResolvers = new ArrayList<ContentResolver>();
MetadataNode metadata = (MetadataNode) resource.getMetadata();
if (metadata != null) {
if (metadata.containsKey(DefaultMetadataKeys.TIME_RANGES_METADATA_KEY.getValue())) {
String timeRangeType = metadata.getValue(DefaultMetadataKeys.TIME_RANGES_METADATA_KEY.getValue());
if (timeRangeType.equals(TimeRangeCollection.TIME_RANGE_TYPE_DELETE)) {
contentResolvers.add(new DeleteContentResolver());
} else if (timeRangeType.equals(TimeRangeCollection.TIME_RANGE_TYPE_REPLACE)) {
contentResolvers.add(new DeleteContentResolver());
} else if (timeRangeType.equals(TimeRangeCollection.TIME_RANGE_TYPE_MARK)) {
contentResolvers.add(new CustomAdMarkersContentResolver());
}
}
if (metadata.containsKey(DefaultMetadataKeys.AUDITUDE_METADATA_KEY.getValue())) {
contentResolvers.add(new AuditudeResolver(context));
} else if (metadata.containsKey(DefaultMetadataKeys.JSON_METADATA_KEY.getValue())) {
contentResolvers.add(new MetadataResolver());
}
}
return contentResolvers;