/** * @param aSourceFile * @param aTargetFile * @return conflict reason */ private String getConflictReason(File aSourceFile, File aTargetFile) { try { if (aSourceFile.isDirectory()) { return null; } long check = aSourceFile.lastModified() - aTargetFile.lastModified(); if (check == 0) { return null; } check = aSourceFile.length() - aTargetFile.length(); if (check != 0) { return "length=" + aSourceFile.length() + ":" + aTargetFile.length(); } if (!compareAll("mp3", getFileExtn(aSourceFile), getFileExtn(aTargetFile))) { return null; } Mp3Tag sourceTag = null; Mp3Tag targetTag = null; try { sourceTag = ID3Util.readTag(aSourceFile); targetTag = ID3Util.readTag(aTargetFile); } catch (AppException error) { error.printStackTrace(); return null; } if (!AppUtil.compare(sourceTag.language, targetTag.language)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } if (!AppUtil.compare(sourceTag.genre, targetTag.genre)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } if (!AppUtil.compare(sourceTag.album, targetTag.album)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } if (!AppUtil.compare(sourceTag.year, targetTag.year)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } if (!AppUtil.compare(sourceTag.composer, targetTag.composer)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } if (!AppUtil.compare(sourceTag.albumArtist, targetTag.albumArtist)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } if (!AppUtil.compare(sourceTag.artist, targetTag.artist)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } if (!AppUtil.compare(sourceTag.trackNbr, targetTag.trackNbr)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } if (!AppUtil.compare(sourceTag.title, targetTag.title)) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } Artwork sourceArtwork = sourceTag.artwork; Artwork targetArtwork = targetTag.artwork; if (sourceArtwork != null && targetArtwork != null) { if (sourceArtwork.getBinaryData().length != targetArtwork.getBinaryData().length) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } } else if (sourceArtwork != null || targetArtwork != null) { return "id3lang=" + sourceTag.language + ":" + targetTag.language; } } catch (Exception error) { System.err.println(aSourceFile + "##" + aTargetFile); error.printStackTrace(); } return null; }