package com.naman14.stools.fragments;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.view.animation.LayoutAnimationController;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.ScrollView;
import android.widget.TextView;
import com.naman14.stools.R;
import com.naman14.stools.sensors.SensorAdapter;
import com.naman14.stools.sensors.SensorGraphActivity;
/**
* Created by naman on 30/01/15.
*/
public class SensorsFragment extends ListFragment implements AdapterView.OnItemLongClickListener{
public SensorsFragment(){}
private ListView mListView;
private BaseAdapter mAdapter;
@Override public void onActivityCreated(
Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(
this.getActivity(), R.anim.layout_controller_scale);
getListView().setLayoutAnimation(controller);
getListView().setOnItemLongClickListener(this);}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.fragment_sensors, container, false);
SensorManager sensorManager = (SensorManager)getActivity().getSystemService(Context.SENSOR_SERVICE);
setListAdapter(new SensorAdapter(getActivity(), 0, sensorManager.getSensorList(Sensor.TYPE_ALL)));
return v;
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
Intent intent = new Intent(getActivity(),SensorGraphActivity.class);
intent.putExtra(SensorGraphActivity.SENSORINDEX,position);
startActivity(intent);
}
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Sensor sensor = (Sensor)parent.getItemAtPosition(position);
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.detail_sensor,null);
((TextView)layout.findViewById(R.id.vendor_value)).setText(sensor.getVendor());
((TextView)layout.findViewById(R.id.power_value)).setText(sensor.getPower()+getString(R.string.unit_consumption));
((TextView)layout.findViewById(R.id.resolution_value)).setText(sensor.getResolution()+"");
((TextView)layout.findViewById(R.id.version_value)).setText(sensor.getVersion()+"");
((TextView)layout.findViewById(R.id.delay_value)).setText(sensor.getMinDelay()+getString(R.string.unit_mindelay));
((TextView)layout.findViewById(R.id.range_value)).setText(sensor.getMaximumRange()+"");
ScrollView scrollView = new ScrollView(getActivity());
scrollView.addView(layout);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(sensor.getName());
int imageResource = R.drawable.ic_sensor_unknown;
try {
imageResource = getResources().getIdentifier("drawable/ic_sensor_"+sensor.getType(), null, "com.naman14.stools");
if (imageResource==0) {
imageResource=R.drawable.ic_sensor_unknown;
}
}
catch (Exception e) {}
builder.setIcon(imageResource);
builder.setView(scrollView);
builder.create().show();
return true;
}
}