/** * Find the DigestView that contains a certain digest * * @param digest the digest the DigestView should contain. * @return the DigestView containing the digest. {@null} if the digest is not found. */ private DigestView findDigestView(Digest digest) { DigestView digestUi = searchUi.getFirst(); while (digestUi != null) { if (digestUis.get(digestUi).equals(digest)) { return digestUi; } digestUi = searchUi.getNext(digestUi); } return null; }
private void selectWaveUri(String waveId) { // Log.info("Trying to select waveId " + waveId); DigestView digestUi = searchUi.getFirst(); while (digestUi != null) { Digest digest = digestUis.get(digestUi); WaveId iteraWaveId = digest.getWaveId(); // Log.info("Comparing to waveId " + iteraWaveId); if (iteraWaveId.equals(WaveId.deserialise(waveId))) { setSelected(digestUi); return; } digestUi = searchUi.getNext(digestUi); } setSelected(null); }
private void renderDigests() { isRenderingInProgress = true; // Preserve selection on re-rendering. WaveId toSelect = selected != null ? digestUis.get(selected).getWaveId() : null; searchUi.clearDigests(); digestUis.clear(); setSelected(null); for (int i = 0, size = search.getMinimumTotal(); i < size; i++) { Digest digest = search.getDigest(i); if (digest == null) { continue; } DigestView digestUi = searchUi.insertBefore(null, digest); digestUis.put(digestUi, digest); if (digest.getWaveId().equals(toSelect)) { setSelected(digestUi); } } isRenderingInProgress = false; }
/** Invokes the wave-select action on the currently selected digest. */ private void openSelected() { actionHandler.onWaveSelected(digestUis.get(selected).getWaveId()); }