protected IntList addMetadata(ArrayList<MetaData> metadata){
  if (keepEmbed)   return super.addMetadata(metadata);
  IntList metaDataIndices=null;
  if ((metadata != null) && (metadata.size() > 0)) {
    metaDataIndices=new IntList(metadata.size());
    for (    MetaData metaData : metadata) {
      String id=metaData.id;
      if (!id.equals(StandardDefs.MD_EMBED)) {
        Value[] values=metaData.values;
        int metaDataIndex=addMetadataInfo(id,values);
        metaDataIndices.add(metaDataIndex);
      }
    }
  }
  return metaDataIndices;
}

protected IntList addMetadata ( ArrayList < MetaData > metadata ) { if ( keepEmbed ) return super . addMetadata ( metadata ) ; IntList metaDataIndices = null ; if ( ( metadata != null ) && ( metadata . size ( ) > 0 ) ) { metaDataIndices = new IntList ( metadata . size ( ) ) ; for ( MetaData metaData : metadata ) { String id = metaData . id ; if ( ! id . equals ( StandardDefs . MD_EMBED ) ) { Value [ ] values = metaData . values ; int metaDataIndex = addMetadataInfo ( id , values ) ; metaDataIndices . add ( metaDataIndex ) ; } } } return metaDataIndices ; }
overrides actionblockemitter ' s addmetadata ( ) to add support for filtering out embed metadata , because it can contain system paths . see sdk - 25385 . in the future , we might want to go further to filter out all metadata that is only necessary at compile time for libraries or at runtime for applications . we already handle non - debug applications in postlink .
