/** * Sets the objects on the {@link RenderManager} to the given values, creating (or disabling) the * {@link RenderManager} if necessary. */ private <E> void setSources( ArrayList<E> sources, EnumSet<UpdateType> updateType, Class<E> clazz, AtomicSection atomic) { @SuppressWarnings("unchecked") RenderManager<E> manager = (RenderManager<E>) renderMap.get(clazz); if (sources == null || sources.isEmpty()) { if (manager != null) { // TODO(brent): we should really just disable this layer, but in a // manner that it will automatically be reenabled when appropriate. Blog.d(this, " " + clazz.getSimpleName()); manager.queueObjects(Collections.<E>emptyList(), updateType, atomic); } return; } if (manager == null) { manager = createRenderManager(clazz, atomic); renderMap.put(clazz, manager); } // Blog.d(this, " " + clazz.getSimpleName() + " " + sources.size()); manager.queueObjects(sources, updateType, atomic); }
private void readSourceFile(String sourceFilename) { Log.d(TAG, "Loading Proto File: " + sourceFilename + "..."); InputStream in = null; try { in = assetManager.open(sourceFilename, AssetManager.ACCESS_BUFFER); AstronomicalSourcesProto.Builder builder = AstronomicalSourcesProto.newBuilder(); builder.mergeFrom(in); for (AstronomicalSourceProto proto : builder.build().getSourceList()) { fileSources.add(new ProtobufAstronomicalSource(proto, getResources())); } Log.d(TAG, "Found: " + fileSources.size() + " sources"); String s = String.format( "Finished Loading: %s | Found %s sourcs.\n", sourceFilename, fileSources.size()); Blog.d(this, s); refreshSources(EnumSet.of(UpdateType.Reset)); } catch (IOException e) { Log.e(TAG, "Unable to open " + sourceFilename); } finally { Closeables.closeQuietly(in); } }