// Copyright 2008 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.android.stardroid.layers;
import com.google.android.stardroid.R;
import com.google.android.stardroid.control.AstronomerModel;
import com.google.android.stardroid.provider.ephemeris.Planet;
import com.google.android.stardroid.provider.ephemeris.PlanetSource;
import com.google.android.stardroid.source.AstronomicalSource;
import android.content.SharedPreferences;
import android.content.res.Resources;
import java.util.ArrayList;
/**
* An implementation of the {@link Layer} interface for displaying planets in
* the Renderer.
*
* @author John Taylor
* @author Brent Bryan
*/
public class PlanetsLayer extends AbstractSourceLayer {
private final SharedPreferences preferences;
private final AstronomerModel model;
public PlanetsLayer(AstronomerModel model, Resources resources, SharedPreferences preferences) {
super(resources, true);
this.preferences = preferences;
this.model = model;
}
@Override
protected void initializeAstroSources(ArrayList<AstronomicalSource> sources) {
for (Planet planet : Planet.values()) {
sources.add(new PlanetSource(planet, getResources(), model, preferences));
}
}
// TODO(brent): Remove this.
@Override
public String getPreferenceId() {
return "source_provider.3";
}
@Override
public int getLayerId() {
// TODO(brent): refactor these to a common location.
return -103;
}
@Override
protected int getLayerNameId() {
return R.string.show_planets_pref; // TODO(johntaylor): rename the string id.
}
}