From 0746eb16a33f1985b080d147660def5de0e911a5 Mon Sep 17 00:00:00 2001 From: geraugu Date: Mon, 29 Jun 2015 22:05:15 -0300 Subject: [PATCH] iniciando os modulos de projetos e da camara --- app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java | 404 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/src/main/java/com/monitorabrasil/monitoralegislativo/util/MyValueFormatter.java | 23 +++++++++++++++++++++++ app/src/main/res/drawable/ic_done.png | Bin 0 -> 297 bytes app/src/main/res/layout/activity_camara.xml | 30 ++++++++++++++++++++++++++++++ app/src/main/res/layout/fragment_gastos_camara.xml | 26 ++++++++++++++++++++++++++ app/src/main/res/layout/fragment_politico_gastos.xml | 12 ++++++++++++ app/src/main/res/layout/fragment_politico_tabs.xml | 30 ++++++++++++++++++++++++++++++ app/src/main/res/menu/menu_camara.xml | 7 +++++++ 11 files changed, 883 insertions(+), 0 deletions(-) create mode 100644 app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java create mode 100644 app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java create mode 100644 app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java create mode 100644 app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java create mode 100644 app/src/main/java/com/monitorabrasil/monitoralegislativo/util/MyValueFormatter.java create mode 100644 app/src/main/res/drawable/ic_done.png create mode 100644 app/src/main/res/layout/activity_camara.xml create mode 100644 app/src/main/res/layout/fragment_gastos_camara.xml create mode 100644 app/src/main/res/layout/fragment_politico_gastos.xml create mode 100644 app/src/main/res/layout/fragment_politico_tabs.xml create mode 100644 app/src/main/res/menu/menu_camara.xml diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java new file mode 100644 index 0000000..6ce306a --- /dev/null +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/CamaraActivity.java @@ -0,0 +1,62 @@ +package com.monitorabrasil.monitoralegislativo; + +import android.support.v4.app.FragmentTransaction; +import android.support.v7.app.ActionBarActivity; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.Menu; +import android.view.MenuItem; + +import com.monitorabrasil.monitoralegislativo.R; +import com.monitorabrasil.monitoralegislativo.fragments.GastosCamaraFragment; + +public class CamaraActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_camara); + + GastosCamaraFragment frag = (GastosCamaraFragment) getSupportFragmentManager().findFragmentByTag("gastosCamaraFrag"); + if(frag == null) { + frag = new GastosCamaraFragment(); + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + ft.replace(R.id.rl_fragment_container, frag, "gastosCamaraFrag"); + ft.commit(); + } + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + // toolbar.setNavigationIcon(R.drawable.ic_good); + toolbar.setTitle("Despesas e Receitas"); + toolbar.setSubtitle("Ouro Branco - MG"); + + toolbar.setTitleTextColor(getResources().getColor(R.color.md_white_1000)); + toolbar.setSubtitleTextColor(getResources().getColor(R.color.md_white_1000)); + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_camara, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java new file mode 100644 index 0000000..b232698 --- /dev/null +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosCamaraFragment.java @@ -0,0 +1,404 @@ +package com.monitorabrasil.monitoralegislativo.fragments; + +import android.app.Activity; +import android.net.Uri; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ProgressBar; + +import com.crashlytics.android.Crashlytics; +import com.github.mikephil.charting.animation.Easing; +import com.github.mikephil.charting.charts.BarChart; +import com.github.mikephil.charting.components.Legend; +import com.github.mikephil.charting.components.XAxis; +import com.github.mikephil.charting.components.YAxis; +import com.github.mikephil.charting.data.BarData; +import com.github.mikephil.charting.data.BarDataSet; +import com.github.mikephil.charting.data.BarEntry; +import com.github.mikephil.charting.utils.ValueFormatter; +import com.monitorabrasil.monitoralegislativo.R; +import com.monitorabrasil.monitoralegislativo.adapters.GastoAdapter; +import com.monitorabrasil.monitoralegislativo.classes.Grafico; +import com.monitorabrasil.monitoralegislativo.util.MyValueFormatter; +import com.parse.FindCallback; +import com.parse.ParseException; +import com.parse.ParseObject; +import com.parse.ParseQuery; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link GastosCamaraFragment.OnFragmentInteractionListener} interface + * to handle interaction events. + * Use the {@link GastosCamaraFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class GastosCamaraFragment extends Fragment { + + + protected BarChart mChart; + private View mView; + private HashMap> dataset = new HashMap>(); + private HashMap valorTotal = new HashMap(); + ArrayList xVals = new ArrayList(); + ArrayList yVals1 = new ArrayList(); + private RecyclerView mRecyclerView; + private GastoAdapter mAdapter; + List myDataset=new ArrayList(); + List tipos = new ArrayList(); + int[] cores = new int[]{R.color.cor1, R.color.cor2,R.color.cor3, R.color.cor4,R.color.cor5, R.color.cor6, + R.color.cor7, R.color.cor8,R.color.cor9, R.color.cor10}; + + private ProgressBar pb; + + + + private OnFragmentInteractionListener mListener; + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment GastosCamaraFragment. + */ + // TODO: Rename and change types and number of parameters + public static GastosCamaraFragment newInstance(String param1, String param2) { + GastosCamaraFragment fragment = new GastosCamaraFragment(); + Bundle args = new Bundle(); +// args.putString(ARG_PARAM1, param1); +// args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + public GastosCamaraFragment() { + // Required empty public constructor + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { +// mParam1 = getArguments().getString(ARG_PARAM1); +// mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view =inflater.inflate(R.layout.fragment_lista_projetos, container, false); + pb = (ProgressBar) view.findViewById(R.id.progressBar); +// pb.setVisibility(View.VISIBLE); + mView=view; +// mChart = (BarChart) view.findViewById(R.id.chart1); +// mChart.setVisibility(View.GONE); +// buildGraph(); + + //tableview + mRecyclerView = (RecyclerView) view.findViewById(R.id.my_recycler_view); + + // use this setting to improve performance if you know that changes + // in content do not change the layout size of the RecyclerView + mRecyclerView.setHasFixedSize(true); + + LinearLayoutManager llm = new LinearLayoutManager(getActivity()); + llm.setOrientation(LinearLayoutManager.VERTICAL); + mRecyclerView.setLayoutManager(llm); + buscaGastos(); + return view; + } + + private ParseObject buscaGastos() { + + + ParseQuery query = ParseQuery.getQuery("DespesaCamara"); + query.setLimit(200); + //query.whereEqualTo("politico",politico); + + query.addAscendingOrder("mes_numero"); + query.findInBackground(new FindCallback() { + public void done(List gastos, ParseException e) { + + Iterator gastoIt = gastos.iterator(); + + while (gastoIt.hasNext()) { + + ParseObject g = gastoIt.next(); + String mes = g.getString("mes"); + Float novoValor = Float.valueOf(g.getString("valor")); + + String tipo = g.getString("tipo"); + if(!tipos.contains(tipo)){ + tipos.add(tipo); + } + //verifica tipo + HashMap data = dataset.get(tipo); + if(data != null){ + //verifica se tem o valor por mes + Float valorMesTipo = data.get(mes); + if(valorMesTipo != null){ + valorMesTipo = valorMesTipo +novoValor; + data.remove(mes); + data.put(mes, valorMesTipo); + }else{ + data.put(mes,novoValor); + } + + + }else{ + data = new HashMap(); + data.put(mes,novoValor); + dataset.put(tipo,data); + } + + + Float valor = valorTotal.get(mes); + if (valor != null) { + valor = valor + novoValor; + valorTotal.remove(mes); + valorTotal.put(mes, valor); + } else { + valorTotal.put(mes, novoValor); + } + if (!xVals.contains(mes)) { + xVals.add(mes); + } + + // + + + } + for (int j = 0; j < xVals.size(); j++) { + Float val = valorTotal.get(xVals.get(j)); + yVals1.add(new BarEntry(val, j)); + } + Grafico grafico = new Grafico("Todos", yVals1, xVals, R.color.cor10); + myDataset.add(grafico); + + //adicionar os outros graficos + for(int i=0; i < tipos.size();i++ ){ + HashMap temp = dataset.get(tipos.get(i)); + ArrayList x = new ArrayList(); + for ( int k=0; k < temp.size(); k++ ) { + x.add(k,""); + } + ArrayList y = new ArrayList(); + for ( String mes : temp.keySet() ) { + if(!x.contains(mes)){ + int pos = buscaPosicao(mes); + x.remove(pos); + x.add(pos, mes); + } + Float val = temp.get(mes); + y.add(new BarEntry(val, x.indexOf(mes))); + } + + + + myDataset.add(new Grafico(tipos.get(i),y,x,cores[i])); + } + + carregaList(); + pb.setVisibility(View.INVISIBLE); + + // setData(); + + } + }); + + + return null; + } + + private int buscaPosicao(String mes) { + int ret=0; + switch (mes){ + case "JAN": + ret=0; + break; + case "FEV": + ret=1; + break; + case "MAR": + ret=2; + break; + case "ABR": + ret=3; + break; + case "MAI": + ret=4; + break; + + } + return ret; + } + + public void carregaList(){ + mAdapter = new GastoAdapter(myDataset); +// mAdapter.setRecyclerViewOnClickListenerHack(this); + mRecyclerView.setAdapter(mAdapter); +// pb.setVisibility(View.INVISIBLE); + } + + + + private void buildGraph() { + +// mChart.set + + mChart.setDrawBarShadow(false); + mChart.setDrawValueAboveBar(true); + + mChart.setDescription(""); + + // if more than 60 entries are displayed in the chart, no values will be + // drawn + mChart.setMaxVisibleValueCount(60); + + // scaling can now only be done on x- and y-axis separately + mChart.setPinchZoom(false); + + // draw shadows for each bar that show the maximum value + // mChart.setDrawBarShadow(true); + + // mChart.setDrawXLabels(false); + + mChart.setDrawGridBackground(false); + // mChart.setDrawYLabels(false); + +// mTf = Typeface.createFromAsset(getAssets(), "OpenSans-Regular.ttf"); + + XAxis xAxis = mChart.getXAxis(); + xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); +// xAxis.setTypeface(mTf); + xAxis.setDrawGridLines(false); + xAxis.setSpaceBetweenLabels(2); + + ValueFormatter custom = new MyValueFormatter(); + + YAxis leftAxis = mChart.getAxisLeft(); +// leftAxis.setTypeface(mTf); + leftAxis.setLabelCount(8); + leftAxis.setValueFormatter(custom); + leftAxis.setPosition(YAxis.YAxisLabelPosition.OUTSIDE_CHART); + leftAxis.setSpaceTop(15f); + + mChart.getAxisRight().setEnabled(false); + YAxis rightAxis = mChart.getAxisRight(); + rightAxis.setDrawGridLines(false); +// rightAxis.setTypeface(mTf); + rightAxis.setLabelCount(8); + rightAxis.setValueFormatter(custom); + rightAxis.setSpaceTop(15f); + + Legend l = mChart.getLegend(); + l.setPosition(Legend.LegendPosition.BELOW_CHART_LEFT); + l.setForm(Legend.LegendForm.SQUARE); + l.setFormSize(9f); + l.setTextSize(11f); + l.setXEntrySpace(4f); + // l.setExtra(ColorTemplate.VORDIPLOM_COLORS, new String[] { "abc", + // "def", "ghj", "ikl", "mno" }); + // l.setCustom(ColorTemplate.VORDIPLOM_COLORS, new String[] { "abc", + // "def", "ghj", "ikl", "mno" }); + + + + // setting data +// mSeekBarY.setProgress(50); +// mSeekBarX.setProgress(12); +// +// mSeekBarY.setOnSeekBarChangeListener(this); +// mSeekBarX.setOnSeekBarChangeListener(this); + + // mChart.setDrawLegend(false); + + } + + private void setData() { + + + + BarDataSet set1 = new BarDataSet(yVals1, "Gastos Totais"); + set1.setBarSpacePercent(35f); + + ArrayList dataSets = new ArrayList(); + dataSets.add(set1); + try{ + set1.setColor(getActivity().getResources().getColor(R.color.colorPrimaryLight)); + + BarData data = new BarData(xVals, dataSets); + // data.setValueFormatter(new MyValueFormatter()); + data.setValueTextSize(10f); +// data.setValueTypeface(mTf); + + mChart.setData(data); + mChart.animateX(2500, Easing.EasingOption.EaseInOutQuart); + mChart.notifyDataSetChanged(); + +// pb.setVisibility(View.GONE); + mChart.setVisibility(View.VISIBLE); + }catch (Exception e){ + Crashlytics.log("GastosCamaraFragment "+e.toString()); + } + + } + + + // TODO: Rename method, update argument and hook method into UI event + public void onButtonPressed(Uri uri) { + if (mListener != null) { + mListener.onFragmentInteraction(uri); + } + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); +// try { +// mListener = (OnFragmentInteractionListener) activity; +// } catch (ClassCastException e) { +// throw new ClassCastException(activity.toString() +// + " must implement OnFragmentInteractionListener"); +// } + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + *

+ * See the Android Training lesson Communicating with Other Fragments for more information. + */ + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + public void onFragmentInteraction(Uri uri); + } + +} diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java new file mode 100644 index 0000000..d63f290 --- /dev/null +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/GastosFragment.java @@ -0,0 +1,214 @@ +package com.monitorabrasil.monitoralegislativo.fragments; + +import android.graphics.Color; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.github.mikephil.charting.animation.Easing; +import com.github.mikephil.charting.charts.LineChart; +import com.github.mikephil.charting.components.Legend; +import com.github.mikephil.charting.components.LimitLine; +import com.github.mikephil.charting.components.YAxis; +import com.github.mikephil.charting.data.Entry; +import com.github.mikephil.charting.data.LineData; +import com.github.mikephil.charting.data.LineDataSet; +import com.monitorabrasil.monitoralegislativo.R; +import com.monitorabrasil.monitoralegislativo.classes.Grafico; +import com.parse.FindCallback; +import com.parse.ParseException; +import com.parse.ParseObject; +import com.parse.ParseQuery; +import com.parse.ParseUser; + +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * Created by geral_000 on 20/06/2015. + */ +public class GastosFragment extends Fragment { + + private LineChart mChart; + private ParseObject politico; + float maximo = 0f, minimo = 0f; + View mView; + ArrayList xVals = new ArrayList(); + ArrayList yVals = new ArrayList(); + private ArrayList graficos =new ArrayList(); + + public View onCreateView(LayoutInflater inflater, + ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_politico_gastos, container, false); + + Bundle bundle = getArguments(); + politico = buscaGastos(bundle.getString("politico")) ; + + mView=view; + + return view; + } + + private void buildGraph(){ + mChart = (LineChart)mView.findViewById(R.id.chart1); + + mChart.setDrawGridBackground(false); + + + mChart.setDescription(""); + mChart.setNoDataTextDescription("You need to provide data for the chart."); + + // enable value highlighting + mChart.setHighlightEnabled(true); + + // enable touch gestures + mChart.setTouchEnabled(true); + + // enable scaling and dragging + mChart.setDragEnabled(true); + mChart.setScaleEnabled(true); + // mChart.setScaleXEnabled(true); + // mChart.setScaleYEnabled(true); + + // if disabled, scaling can be done on x- and y-axis separately + mChart.setPinchZoom(true); + + // enable/disable highlight indicators (the lines that indicate the + // highlighted Entry) + mChart.setHighlightEnabled(false); + + LimitLine ll1 = new LimitLine(130f, "Upper Limit"); + ll1.setLineWidth(4f); + ll1.enableDashedLine(10f, 10f, 0f); + ll1.setLabelPosition(LimitLine.LimitLabelPosition.POS_RIGHT); + ll1.setTextSize(10f); + + LimitLine ll2 = new LimitLine(-30f, "Lower Limit"); + ll2.setLineWidth(4f); + ll2.enableDashedLine(10f, 10f, 0f); + ll2.setLabelPosition(LimitLine.LimitLabelPosition.POS_RIGHT); + ll2.setTextSize(10f); + + YAxis leftAxis = mChart.getAxisLeft(); + leftAxis.removeAllLimitLines(); // reset all limit lines to avoid overlapping lines + //leftAxis.addLimitLine(ll1); + //leftAxis.addLimitLine(ll2); + leftAxis.setAxisMaxValue(maximo + 200); + minimo = minimo-200; + if(minimo < 0f){ + minimo=0f; + } + leftAxis.setAxisMinValue(minimo); + leftAxis.setStartAtZero(false); + //leftAxis.setYOffset(20f); + leftAxis.enableGridDashedLine(10f, 10f, 0f); + + // limit lines are drawn behind data (and not on top) + leftAxis.setDrawLimitLinesBehindData(true); + + mChart.getAxisRight().setEnabled(false); + + // add data + setData(); + +// mChart.setVisibleXRange(20); +// mChart.setVisibleYRange(20f, AxisDependency.LEFT); +// mChart.centerViewTo(20, 50, AxisDependency.LEFT); + + mChart.animateX(2500, Easing.EasingOption.EaseInOutQuart); +// mChart.invalidate(); + + // get the legend (only possible after setting data) + Legend l = mChart.getLegend(); + + // modify the legend ... + // l.setPosition(LegendPosition.LEFT_OF_CHART); + l.setForm(Legend.LegendForm.LINE); + } + + private ParseObject buscaGastos(String id) { + + ParseObject politico = buscaPolitico(id); + xVals =new ArrayList(); + yVals = new ArrayList(); + maximo = 0f; + minimo = 0f; + + ParseQuery query = ParseQuery.getQuery("Verba"); + query.whereEqualTo("politico",politico); + query.findInBackground(new FindCallback() { + public void done(List gastos, ParseException e) { + Iterator gastoIt = gastos.iterator(); + int i=0; + while (gastoIt.hasNext()) { + ParseObject g = gastoIt.next(); + float possivelMaximo = Float.valueOf(g.getString("valor")); + if(possivelMaximo > maximo ){ + maximo = possivelMaximo; + } + if(minimo > possivelMaximo || i==0){ + minimo=possivelMaximo; + } + xVals.add(g.getString("mes").substring(0,3)+" "+g.getString("ano")); + yVals.add(new Entry(possivelMaximo, i)); + i++; + } + buildGraph(); + } + }); + + return null; + } + + private ParseObject buscaPolitico(String id) { + + ParseQuery query = ParseQuery.getQuery("Politico"); + query.fromLocalDatastore(); + try { + return query.get(id); + } catch (com.parse.ParseException e) { + e.printStackTrace(); + } + return null; + } + + private void setData() { + + + + // create a dataset and give it a type + LineDataSet set1 = new LineDataSet(yVals, "Verba idenizatoria"); + set1.setFillAlpha(110); + set1.setFillColor(Color.RED); + + // set the line to be drawn like this "- - - - - -" + set1.enableDashedLine(10f, 5f, 0f); + set1.setColor(Color.BLACK); + set1.setCircleColor(Color.BLACK); + set1.setLineWidth(1f); + set1.setCircleSize(3f); + set1.setDrawCircleHole(false); + set1.setValueTextSize(9f); + set1.setFillAlpha(65); + set1.setFillColor(Color.BLACK); +// set1.setDrawFilled(true); + // set1.setShader(new LinearGradient(0, 0, 0, mChart.getHeight(), + // Color.BLACK, Color.WHITE, Shader.TileMode.MIRROR)); + + ArrayList dataSets = new ArrayList(); + dataSets.add(set1); // add the datasets + + // create a data object with the datasets + LineData data = new LineData(xVals, dataSets); + + // set data + mChart.setData(data); + } +} + diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java new file mode 100644 index 0000000..b3f4dd6 --- /dev/null +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/fragments/PoliticoFichaFragment.java @@ -0,0 +1,75 @@ +package com.monitorabrasil.monitoralegislativo.fragments; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import com.monitorabrasil.monitoralegislativo.R; +import com.parse.ParseObject; +import com.parse.ParseQuery; + +/** + * Created by geral_000 on 20/06/2015. + */ +public class PoliticoFichaFragment extends Fragment { + + + private ParseObject politico; + View mView; + public View onCreateView(LayoutInflater inflater, + ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_politico_detalhe, container, false); + mView=view; + + Bundle bundle = getArguments(); + politico = buscaPolitico(bundle.getString("politico")) ; + //nome + TextView txtNome = (TextView) view.findViewById(R.id.txtNome); + txtNome.setText(politico.get("nome").toString()); + + //telefone + TextView telefone = (TextView) view.findViewById(R.id.txtTelefone); + telefone.setText(politico.get("telefone").toString()); + //telefone + TextView txtPartido = (TextView) view.findViewById(R.id.txtPartido); + txtPartido.setText(politico.get("partido").toString()); + //email + TextView email = (TextView) view.findViewById(R.id.email); + email.setText(politico.get("email").toString()); + //facebook + TextView facebook = (TextView) view.findViewById(R.id.facebook); + facebook.setText(politico.get("facebook").toString()); + //gastos + TextView gastos = (TextView) view.findViewById(R.id.gastos); + gastos.setText(politico.get("gasto_campanha").toString()); + //bens declarados + TextView bens = (TextView) view.findViewById(R.id.bens); + bens.setText(politico.get("bens_declarados").toString()); + + return view; + } + + @Override + public void onResume() { + Log.e("DEBUG", "onResume of HomeFragment"); + super.onResume(); + } + + + private ParseObject buscaPolitico(String id) { + + ParseQuery query = ParseQuery.getQuery("Politico"); + query.fromLocalDatastore(); + try { + return query.get(id); + } catch (com.parse.ParseException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/app/src/main/java/com/monitorabrasil/monitoralegislativo/util/MyValueFormatter.java b/app/src/main/java/com/monitorabrasil/monitoralegislativo/util/MyValueFormatter.java new file mode 100644 index 0000000..bf1d32c --- /dev/null +++ b/app/src/main/java/com/monitorabrasil/monitoralegislativo/util/MyValueFormatter.java @@ -0,0 +1,23 @@ +package com.monitorabrasil.monitoralegislativo.util; + +import com.github.mikephil.charting.utils.ValueFormatter; + +import java.text.DecimalFormat; + +/** + * Created by geral_000 on 21/06/2015. + */ +public class MyValueFormatter implements ValueFormatter { + + private DecimalFormat mFormat; + + public MyValueFormatter() { + mFormat = new DecimalFormat("###,###,###,##0.0"); + } + + @Override + public String getFormattedValue(float value) { + return "R$" + mFormat.format(value) ; + } + +} diff --git a/app/src/main/res/drawable/ic_done.png b/app/src/main/res/drawable/ic_done.png new file mode 100644 index 0000000..1f4846c Binary files /dev/null and b/app/src/main/res/drawable/ic_done.png differ diff --git a/app/src/main/res/layout/activity_camara.xml b/app/src/main/res/layout/activity_camara.xml new file mode 100644 index 0000000..020e750 --- /dev/null +++ b/app/src/main/res/layout/activity_camara.xml @@ -0,0 +1,30 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_gastos_camara.xml b/app/src/main/res/layout/fragment_gastos_camara.xml new file mode 100644 index 0000000..f967dd8 --- /dev/null +++ b/app/src/main/res/layout/fragment_gastos_camara.xml @@ -0,0 +1,26 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_politico_gastos.xml b/app/src/main/res/layout/fragment_politico_gastos.xml new file mode 100644 index 0000000..61fedb5 --- /dev/null +++ b/app/src/main/res/layout/fragment_politico_gastos.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_politico_tabs.xml b/app/src/main/res/layout/fragment_politico_tabs.xml new file mode 100644 index 0000000..14be94a --- /dev/null +++ b/app/src/main/res/layout/fragment_politico_tabs.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_camara.xml b/app/src/main/res/menu/menu_camara.xml new file mode 100644 index 0000000..b8ba59f --- /dev/null +++ b/app/src/main/res/menu/menu_camara.xml @@ -0,0 +1,7 @@ +

+ + -- libgit2 0.21.2