Skip to content
This repository was archived by the owner on Apr 20, 2019. It is now read-only.

saving current status, pace cacl completed #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions src/main/java/nyc/c4q/ListActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,20 @@

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.util.Log;
import android.widget.Button;
import android.widget.ListView;

import java.util.Arrays;


public class ListActivity extends Activity {

public ListView list;
ListActivityAdapter adapter;

Button nameBtn;
Button colorBtn;

public static final Person[] PEOPLE = {
new Person("Hannah", "Abbott", House.Hufflepuff),
Expand Down Expand Up @@ -42,12 +48,29 @@ public class ListActivity extends Activity {
new Person("Ron", "Weasley", House.Gryffindor)
};


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);

sortAlphabetically(PEOPLE);

adapter = new ListActivityAdapter(this, R.layout.listitem_member, PEOPLE);
list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
}

public static void sortAlphabetically (Person [] people ){

Arrays.sort(people);
for(int i = 0; i < people.length; i++){

String log = "First Name: " + people[i].firstName + "Last Name: " + people[i].lastName + "House: " + people[i].house;

Log.d("APLHA ORDER PPL: ", log );
}

}

}
59 changes: 59 additions & 0 deletions src/main/java/nyc/c4q/ListActivityAdapter.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package nyc.c4q;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

/**
* Created by c4q-rosmary on 8/30/15.
*/
public class ListActivityAdapter extends ArrayAdapter<Person> {

Context context;
int layoutResourceId;
//ArrayList<Person> data;
Person [] data;


public ListActivityAdapter(Context context, int layoutResourceId, Person [] data) {
super(context, layoutResourceId, data);
this.context = context;
this.layoutResourceId = layoutResourceId;
this.data = data;
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
PersonHolder holder = null;

if(row == null){
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);

holder = new PersonHolder();
holder.mHouse = (TextView) row.findViewById(R.id.text_house);
holder.mName = (TextView) row.findViewById(R.id.text_name);

row.setTag(holder);
} else {
holder = (PersonHolder) row.getTag();
}

Person currentPerson = data[position];
holder.mHouse.setText(currentPerson.house.toString());
holder.mName.setText(currentPerson.firstName + " " + currentPerson.lastName);

return row;
}

public static class PersonHolder {
TextView mHouse;
TextView mName;
}
}
55 changes: 55 additions & 0 deletions src/main/java/nyc/c4q/PaceCalcFragment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package nyc.c4q;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;

/**
* Created by c4q-rosmary on 8/30/15.
*/
public class PaceCalcFragment extends Fragment {

static EditText distanceEt;
static EditText timeMinEt;
static EditText timeSecEt;
static EditText paceMinEt;
static EditText paceSecEt;

Button calculateBtn;

View paceCalcView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{

// Inflate the layout for this fragment
paceCalcView = inflater.inflate(R.layout.fragment_pace_calculator, container, false);

initializeViews();


return paceCalcView;
}


public void initializeViews () {
distanceEt = (EditText) paceCalcView.findViewById(R.id.input_distance);

timeMinEt = (EditText) paceCalcView.findViewById(R.id.input_time_min);
timeSecEt = (EditText) paceCalcView.findViewById(R.id.input_time_sec);

paceMinEt = (EditText) paceCalcView.findViewById(R.id.input_pace_min);
paceSecEt = (EditText) paceCalcView.findViewById(R.id.input_pace_sec);

calculateBtn = (Button) paceCalcView.findViewById(R.id.button_calculate);
}



}
118 changes: 117 additions & 1 deletion src/main/java/nyc/c4q/PaceCalculatorActivity.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,130 @@
package nyc.c4q;

import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;

public class PaceCalculatorActivity extends FragmentActivity {

PaceCalcFragment firstFrag;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pace_calculator);

// Check that the activity is using the layout version with the fragment_container FrameLayout
if(findViewById(R.id.activity_pace_calculator) != null)
{
// if we are being restored from a previous state, then we dont need to do anything and should
// return or else we could end up with overlapping fragments.
if(savedInstanceState != null)
return;

// Create an instance of editorFrag
firstFrag = new PaceCalcFragment();

// add fragment to the fragment container layout
getFragmentManager().beginTransaction().add(R.id.activity_pace_calculator, firstFrag).commit();
}

}

public void button_calculate_onClick (View view) {

String timeMinString = PaceCalcFragment.timeMinEt.getText().toString();
String timeSecString = PaceCalcFragment.timeSecEt.getText().toString();

String paceMinString = PaceCalcFragment.paceMinEt.getText().toString();
String paceSecString = PaceCalcFragment.paceSecEt.getText().toString();

String distanceString = PaceCalcFragment.distanceEt.getText().toString();

double timeSec;
double paceSec;
double distance;

if(timeMinString.equals("") && timeSecString.equals("") && paceMinString.equals("") && paceSecString.equals("") && distanceString.equals("")){

PaceCalcFragment.timeMinEt.setText("");
PaceCalcFragment.timeSecEt.setText("");
PaceCalcFragment.paceMinEt.setText("");
PaceCalcFragment.paceSecEt.setText("");
PaceCalcFragment.distanceEt.setText("");

}else if(containsLetters(distanceString) || containsLetters(paceSecString) || containsLetters(paceMinString) || containsLetters(timeSecString) || containsLetters(timeMinString)){

PaceCalcFragment.timeMinEt.setText("");
PaceCalcFragment.timeSecEt.setText("");
PaceCalcFragment.paceMinEt.setText("");
PaceCalcFragment.paceSecEt.setText("");
PaceCalcFragment.distanceEt.setText("");

}else if(distanceString.equals("")){

timeSec = ((Integer.parseInt(timeMinString)*60)+Integer.parseInt(timeSecString));
paceSec = ((Integer.parseInt(paceMinString)*60)+Integer.parseInt(paceSecString));

double distanceResult = timeSec/paceSec;
PaceCalcFragment.distanceEt.setText(distanceResult + "");

}else if(timeMinString.equals("") & timeSecString.equals("")){

paceSec = ((Integer.parseInt(paceMinString)*60)+Integer.parseInt(paceSecString));
distance = Double.parseDouble(distanceString);

double timeResultSec = (paceSec * distance);
double resultSecToMin = (timeResultSec/60);

String [] arr = String.valueOf(resultSecToMin).split("\\.");

int timeMinResult = Integer.parseInt(arr[0]);//whole number
int timeSecResult = Integer.parseInt(arr[1].substring(0,1));// first decimal only

PaceCalcFragment.timeMinEt.setText(timeMinResult + "");
PaceCalcFragment.timeSecEt.setText(timeSecResult + "0");

}else if(paceMinString.equals("") & paceSecString.equals("")){

//I believe there is an error in the test04.
// time 23 min and 22 sec(1402 sec) / distance 3.1 should equal 7 min 53 sec (452.25806 sec)

timeSec = ((Integer.parseInt(timeMinString)*60)+Integer.parseInt(timeSecString));
distance = Double.parseDouble(distanceString);

double paceResultSec = (timeSec/distance);
double resultSecToMin = (paceResultSec/60);

String [] arr = String.valueOf(resultSecToMin).split("\\.");

int paceMinResult = Integer.parseInt(arr[0]);//whole number
int paceSecResult = Integer.parseInt(arr[1].substring(0,2));//first two decimals only

PaceCalcFragment.paceMinEt.setText(paceMinResult + "");
PaceCalcFragment.paceSecEt.setText(paceSecResult + "");

}

}

public boolean containsLetters (String value){

String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

for(int i = 0; i < alphabet.length(); i++){

String currentChar = String.valueOf(alphabet.charAt(i));

if(value.contains(currentChar)){
return true;
}

}

return false;
}




}
1 change: 1 addition & 0 deletions src/main/res/layout/activity_pace_calculator.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@
android:layout_height="match_parent"
tools:context="nyc.c4q.PaceCalculatorActivity"
/>