CPD Results

The following document contains the results of PMD's CPD 4.2.2.

Duplications

File Line
sk/baka/ambient/activity/search/LibraryEngine.java 41
sk/baka/ambient/activity/search/MagnatuneEngine.java 42
public final class MagnatuneEngine implements ISearchEngine {

	private StaticPlaylistController controller = null;
	private SearchActivity owner = null;
	private int listViewId;

	public boolean canSearchOffline() {
		return true;
	}

	public void init(final SearchActivity owner, final int listViewId) {
		this.owner = owner;
		this.listViewId = listViewId;
	}

	public void passivate() {
		controller = null;
	}

	public List<? extends Object> performSearch(String query) throws Exception {
		// search as substring in the following categories: artist, album, track
		// name. Use the OR operator for all words present in the query.
		final StringTokenizer words = new StringTokenizer(query, " \r\t\f\n");
		if (!words.hasMoreTokens()) {
			// no words to search for? return empty list
			return Collections.emptyList();
		}
		final List<String> searchFor = new ArrayList<String>();
		for (; words.hasMoreTokens();) {
			searchFor.add(words.nextToken());
		}
		// construct the criteria map
		final EnumMap<CategoryEnum, List<String>> criteria = new EnumMap<CategoryEnum, List<String>>(
				CategoryEnum.class);
		criteria.put(CategoryEnum.Album, searchFor);
		criteria.put(CategoryEnum.Artist, searchFor);
		criteria.put(CategoryEnum.Title, searchFor);

File Line
sk/baka/ambient/activity/search/LibraryEngine.java 77
sk/baka/ambient/activity/search/MagnatuneEngine.java 80
				.singletonList(TrackOriginEnum.Magnatune.toDBString()));
		// retrieve the track list
		final Library lib = AmbientApplication.getInstance().getLibrary();
		final Cursor c = lib.getBackend().findByCriteria(criteria, true, false,
				null);
		final List<TrackMetadataBean> tracks = LibraryUtils.pollTracks(c);
		CollectionUtils.sortByAlbumOrder(tracks);
		return tracks;
	}

	@SuppressWarnings("unchecked")
	public void update(List<? extends Object> model) {
		if (controller == null) {
			controller = new StaticPlaylistController(listViewId, listViewId,
					owner, (List<TrackMetadataBean>) model, false);
		} else {
			controller.setTracks((List<TrackMetadataBean>) model);
		}
	}

	public SearchType getType() {
		return SearchType.Magnatune;

File Line
sk/baka/ambient/views/gesturelist/keypad/KeypadDpadSearch.java 44
sk/baka/ambient/views/gesturelist/keypad/KeypadSearch.java 43
	public KeypadSearch(final GesturesListView owner) {
		super(owner);
		queryWindow = new ContainedPopupWindow(owner,
				new ContainedPopupWindow.IPlaceable() {
					public int[] getCoordinates(ContainedPopupWindow popup,
							CharSequence text, TextView textView) {
						final int y = owner.getHeight()
								- (int) textView.getPaint().getTextSize();
						final int x = (owner.getWidth() - (int) textView
								.getPaint().measureText(text.toString())) / 2;
						return new int[] { x, y };
					}
				});
	}