/** * Copyright (C) 2013 - 2015 the enviroCar community * * This file is part of the enviroCar app. * * The enviroCar app is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * The enviroCar app is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * Public License for more details. * * You should have received a copy of the GNU General Public License along * with the enviroCar app. If not, see http://www.gnu.org/licenses/. */ package org.envirocar.app.view.dashboard; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.View; import android.view.ViewGroup; import com.squareup.otto.Subscribe; import org.envirocar.app.R; import org.envirocar.obd.events.SpeedUpdateEvent; import org.envirocar.app.view.preferences.Tempomat; import org.envirocar.core.injection.BaseInjectorFragment; import org.envirocar.core.logging.Logger; import butterknife.ButterKnife; import butterknife.InjectView; /** * @author dewall */ public class DashboardTempomatFragment extends BaseInjectorFragment { private static final Logger LOG = Logger.getLogger(DashboardTempomatFragment.class); @InjectView(R.id.fragment_dashboard_tempomat_view) protected Tempomat mTempomatView; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { LOG.info("onCreateView()"); setHasOptionsMenu(true); // First inflate the general dashboard view. View contentView = inflater.inflate(R.layout.fragment_dashboard, container, false); // Inject all dashboard-related views. ButterKnife.inject(this, contentView); // return the inflated content view. return contentView; } @Override public void onResume() { LOG.info("onResume()"); super.onResume(); } @Override public void onPause(){ LOG.info("onPause()"); super.onPause(); } @Override public void onDestroy() { LOG.info("onDestroy()"); super.onDestroy(); // null check before destroying. if(mTempomatView != null) { mTempomatView.destroyDrawingCache(); mTempomatView = null; } } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.menu_dashboard_tempomat, menu); super.onCreateOptionsMenu(menu, inflater); } /** * Receiver method for the speed update event. * * @param event the SpeedUpdateEvent to receive over the bus. */ @Subscribe public void onReceiveSpeedUpdateEvent(SpeedUpdateEvent event) { //LOG.debug(String.format("Received event: %s", event.toString())); if(mTempomatView != null){ mTempomatView.setSpeed(event.mSpeed); } } }