package com.openvehicles.OVMS.ui.settings; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.openvehicles.OVMS.R; import com.openvehicles.OVMS.entities.CarData; import com.openvehicles.OVMS.ui.BaseFragment; import com.openvehicles.OVMS.ui.utils.Ui; import com.openvehicles.OVMS.utils.CarsStorage; public class CarInfoFragment extends BaseFragment { private CarData mCarData; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_car_info, null); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); SherlockFragmentActivity activity = getSherlockActivity(); activity.getSupportActionBar().setIcon(R.drawable.ic_action_about); activity.setTitle(R.string.lb_vehicle_info); int editPosition = getArguments().getInt("position", -1); if (editPosition >= 0) { mCarData = CarsStorage.get().getStoredCars().get(editPosition); } if (mCarData != null) approveCarData(); } private void approveCarData() { View rootView = getView(); Context context = rootView.getContext(); Ui.setValue(rootView, R.id.txt_vehicle_id, mCarData.sel_vehicleid); Ui.setValue(rootView, R.id.txt_win, mCarData.car_vin); Ui.setValue(rootView, R.id.txt_type, mCarData.car_type); Ui.setValue(rootView, R.id.txt_server, mCarData.server_firmware); Ui.setValue(rootView, R.id.txt_car, mCarData.car_firmware); Ui.setValue(rootView, R.id.txt_gsm, mCarData.car_gsm_signal); Ui.setValue(rootView, R.id.txt_cac, String.format("%.2f",mCarData.car_CAC)); Ui.setValue(rootView, R.id.txt_12v_info, String.format("%.1fV (%s)", mCarData.car_12vline_voltage, mCarData.car_charging_12v ? "charging" : (mCarData.car_12vline_ref <= 1.5) ? String.format("calmdown, %d min left", 15 - (int)(mCarData.car_12vline_ref*10)) : String.format("ref=%.1fV", mCarData.car_12vline_ref))); ImageView iv = (ImageView)rootView.findViewById(R.id.img_signal_rssi); iv.setImageResource(Ui.getDrawableIdentifier(context, "signal_strength_" + mCarData.car_gsm_bars)); try { PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); Ui.setValue(rootView, R.id.txt_app, String.format("%s (%s)", pi.versionName, pi.versionCode)); } catch (NameNotFoundException e) { } } @Override public void update(CarData pCarData) { mCarData = pCarData; approveCarData(); } }