package pl.llp.aircasting.helper; import android.view.View; import android.widget.TextView; import com.google.inject.Inject; import pl.llp.aircasting.R; import pl.llp.aircasting.model.Sensor; import pl.llp.aircasting.model.SensorManager; import pl.llp.aircasting.model.SessionManager; /** * Created with IntelliJ IDEA. * User: marcin * Date: 10/21/13 * Time: 6:54 PM * To change this template use File | Settings | File Templates. */ public class StreamViewHelper { @Inject SessionManager sessionManager; @Inject SensorManager sensorManager; @Inject ResourceHelper resourceHelper; public void updateMeasurements(Sensor sensor, View view, boolean statsVisible) { int now = (int) sessionManager.getNow(sensor); View avgView = view.findViewById(R.id.avg_pane); View peakView = view.findViewById(R.id.peak_pane); View sensorDetails = view.findViewById(R.id.sensor_details); View sessionStats = view.findViewById(R.id.session_stats); TextView nowTextView = (TextView) view.findViewById(R.id.now); TextView avgTextView = (TextView) avgView.findViewById(R.id.avg); TextView peakTextView = (TextView) peakView.findViewById(R.id.peak); if (sensorManager.isSessionBeingViewed()) { nowTextView.setBackgroundColor(resourceHelper.gray); nowTextView.setVisibility(View.GONE); sessionStats.setVisibility(View.VISIBLE); sensorDetails.setBackgroundColor(resourceHelper.gray); } else { nowTextView.setText(String.valueOf(now)); nowTextView.setVisibility(View.VISIBLE); setBackground(sensor, sensorDetails, now); setBackground(sensor, nowTextView, now); if (statsVisible) { sessionStats.setVisibility(View.VISIBLE); } else { sessionStats.setVisibility(View.GONE); } } if ((sensor.isEnabled() && sessionManager.isSessionStarted()) || sessionManager.isSessionSaved()) { int avg = (int) sessionManager.getAvg(sensor); int peak = (int) sessionManager.getPeak(sensor); avgTextView.setText(String.valueOf(avg)); peakTextView.setText(String.valueOf(peak)); setBackground(sensor, avgView, avg); setBackground(sensor, peakView, peak); } else { avgTextView.setText("--"); peakTextView.setText("--"); sensorDetails.setBackgroundColor(resourceHelper.gray); nowTextView.setBackgroundColor(resourceHelper.gray); avgView.setBackgroundColor(resourceHelper.gray); peakView.setBackgroundColor(resourceHelper.gray); } } private void setBackground(Sensor sensor, View view, double value) { view.setBackgroundColor(resourceHelper.getColorAbsolute(sensor, value)); } }