diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f31a5ad
--- /dev/null
+++ b/README.md
@@ -0,0 +1,107 @@
+# MyHealthApp
+
+Devasri Warrier: 1001536613 devasri.warrier@mavs.uta.edu, 214-529-6269
+Implementation 1: Personal Information:
+ -Add Personal Information
+ -View Personal Information saved in the DB
+ -Update Personal Information
+ -Respective functions in DatabaseHelper file to store into DB
+
+Implementation 2: Monitoring System: On time Medication: -positive affirmation
+ Late Medication: -NOK texted notice, -user texted reminder, -Doctor + Pharm. email prepopulated message and emails pre-filled (if logged into email app
+ and android permissions allowed)
+ -User can add a self notification message
+ -Medication Tracker of dosage + days left to complete medication
+
+ Implementation 3: Home Screen:
+ -Set up 2 layouts on home screen
+ -Made back buttons for navigation through app
+
+Missing functionality: -not pulling data from DB of Personal Info. to text/email in monitoring system. Did not have time to finish implementation but harded coded works for email/texts -Medication tracker is only able to pull the 1st medication entered, not any respective medications added thereafter
+-No notifications of missed medication. Only a self notify for a user to enter their own Notif to put in notification bar
+
+Resources:
+https://www.youtube.com/watch?v=tTbd1Mfi-Sk
+https://www.youtube.com/watch?v=cp2rL3sAFmI&list=PLS1QulWo1RIaRdy16cOzBO5Jr6kEagA07 (playlist videos 1-5)
+https://www.youtube.com/watch?v=oLngUva-Ves
+https://www.codota.com/code/java/classes/android.app.DatePickerDialog //in code, works, but not combined with implementations to basically useless
+
+Jason Shamayev: 1001627879
+Implementations:
+Login/Registration:
+ -User can register
+ -User can log in
+ -"Forgot password"
+ -"reset password" (security questions)
+ -Necessary validations if values not entered correctly
+ -Respective functions in DatabaseHelper file to store into DB
+Medication:
+ -User can add medication
+ -User can view list of all medications entered
+ -Necessary validations if values not entered correctly
+ -Respective functions in DatabaseHelper file to store into DB
+Settings:
+ -Log out
+ -Change Password
+Home Screen:
+ -Set up the for home screen
+ -Made back buttons for navigation through app
+Resources:
+https://www.youtube.com/watch?v=d5jfNSFu45U
+https://developer.android.com/studio/write
+
+Saugat K: 1001644419, saugat.karki@mavs.uta.edu, 8174375349
+Implementations:
+Search:
+-Missing functionality: Search function works only for vital signs and username. Reason: As we used SQL lite, every one made a seperate table to store data. So,
+ everyone had a separate numeric user ID to identify each user. So, I couldn't figure out a way to do extraction of data from their table for a specific user
+ as each table had a seperate type of unique ID to idenitify each user.
+ The reason search works for Vital Signs is because while creating table for storing vital signs, I just used the usernames of users as a unique
+ ID. So, I could later match the current user's username with the username on the table and extract the required data. Since there can't be two users with same username
+ in our app, the search funcionality works perfectly with vital signs.
+
+-Users can search for their username by typing "username" in the search field.
+-Users can type any vital signs names(cholesterol, heart rate, blood pressure, glucose) in the search field.
+-If the Vital Signs data has been previously added or updated, users can search for any of the vital Signs. If not, a message will be printed asking user to initialize
+ vital signs.
+-All inputs are case insensitive.
+
+Vital Signs:
+-Enter Vital Signs (glucose, cholesterol, blood pressure, heart rate)
+-Necessary validations if not entered correctly
+-Review information regarding vital signs
+-Submit vital signs
+-Update vital signs
+
+Resources:
+https://www.youtube.com/watch?v=KUq5wf3Mh0c&list=PLS1QulWo1RIaRdy16cOzBO5Jr6kEagA07&index=4
+https://www.youtube.com/watch?v=NhrD_fokd7g
+
+Cesar Rea: 1001643491
+Cesar.rea2@mavs.uta.edu
+Contact phone number: 2143257031
+
+
+Missing Functionality:
+-When going into the New Food Section of Diet, the app will not count the calories
+and start from zero when back to main page of diet
+
+-New Food Names entered will not be added to the database, so it will not shown again
+
+Implementations:
+Diet:
+-Enter amount of servings
+-User can pick food choice from spinner
+-User can press on New Food to add custom food.
+-User press on next to display current total of calories
+-User press on done
+
+Communications:
+-Users can enter phone number
+-Users can enter SMS
+-User can press on Message or Call
+
+Resources:
+https://www.youtube.com/watch?v=KUq5wf3Mh0c&list=PLS1QulWo1RIaRdy16cOzBO5Jr6kEagA07&index=4
+https://www.youtube.com/watch?v=4HkTrSkYAQ4
+https://www.youtube.com/watch?v=pajvuBZc2WA
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d86db00..d69cc4e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,21 +4,41 @@
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
= Build.VERSION_CODES.M) {
+ if (checkSelfPermission(CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
+ ActivityCompat.requestPermissions(CommunicationsActivity.this, new String[]{Manifest.permission.CALL_PHONE}, 101);
+ return;
+ }
+ }
+ Intent callIntent = new Intent(Intent.ACTION_CALL);
+ callIntent.setData(Uri.parse("tel:" + editTextNumber.getText().toString()));
+ startActivity(callIntent);
+ }
+}
+
+
+
+
+
diff --git a/app/src/main/java/com/example/loginregistration/DatabaseHelper.java b/app/src/main/java/com/example/loginregistration/DatabaseHelper.java
index 148e912..6730dac 100644
--- a/app/src/main/java/com/example/loginregistration/DatabaseHelper.java
+++ b/app/src/main/java/com/example/loginregistration/DatabaseHelper.java
@@ -27,11 +27,11 @@ public class DatabaseHelper extends SQLiteOpenHelper {
public static final String COL_8 = "Security_Question";
public static final String COL_9 = "Security_Answer";
public static final String MEDICATION = "medication";
- public static final String COL_10 = "Medication_ID";
- public static final String COL_11 = "Medication_Name";
- public static final String COL_12 = "Time_To_Take";
- public static final String COL_13 = "How_Much";
- public static final String COL_14 = "How_Long";
+ public static final String COL_10 = "ID"; //0
+ public static final String COL_11 = "Medication_Name"; //1
+ public static final String COL_12 = "Time_To_Take"; //2
+ public static final String COL_13 = "How_Much"; //3
+ public static final String COL_14 = "How_Long"; //4
public static final String COL_15 = "User_ID";
public static final String TABLE_NAME_PERSONAL_INFO = "personalInfo"; // TODO: Devasri
public static final String COL_16 = "ID"; //all columns in DB
@@ -47,6 +47,14 @@ public class DatabaseHelper extends SQLiteOpenHelper {
public static final String COL_26 = "KIN_EMAIL";
public static final String COL_27 = "VISIT_DATE";
public static final String COL_28 = "User_ID";
+ public static final String TABLE_VITAL_SIGNS = "vitalsigns";
+ public static final String COL_35 = "USERID";
+ public static final String COL_31 = "CHOLESTEROL";
+ public static final String COL_32 = "SYSTOLIC";
+ public static final String COL_33 = "GLUCOSE";
+ public static final String COL_34 = "HEART_RATE";
+ public static final String COL_36 = "DIASTOLIC";
+
protected static String currentUser = "";
protected static int currentUserID = -1;
protected static String currentUserEmail = "";
@@ -58,15 +66,20 @@ public DatabaseHelper(@Nullable Context context) {
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("CREATE TABLE registeruser (ID INTEGER PRIMARY KEY AUTOINCREMENT, Username TEXT UNIQUE, Password TEXT, Name TEXT, Email TEXT, Address TEXT, Phone TEXT, Security_Question TEXT, Security_Answer TEXT)");
- sqLiteDatabase.execSQL("CREATE TABLE medication (Medication_ID INTEGER PRIMARY KEY AUTOINCREMENT, Medication_Name TEXT, Time_To_Take TEXT, How_Much TEXT, How_Long TEXT, User_ID INTEGER, FOREIGN KEY(User_ID) REFERENCES registeruser(ID) )");
+ sqLiteDatabase.execSQL("CREATE TABLE medication (ID INTEGER PRIMARY KEY AUTOINCREMENT, Medication_Name TEXT, Time_To_Take TEXT, How_Much TEXT, How_Long TEXT, User_ID INTEGER, USERNAME TEXT, FOREIGN KEY(User_ID) REFERENCES registeruser(ID) )");
sqLiteDatabase.execSQL("CREATE TABLE personalInfo (ID INTEGER PRIMARY KEY AUTOINCREMENT, WEIGHT INT, HEIGHT INT, AGE INT, GENDER TEXT, DOCTOR_NAME TEXT, DOCTOR_EMAIL TEXT, PHARM_NAME TEXT, PHARM_EMAIL TEXT, KIN_NAME TEXT, KIN_EMAIL TEXT, VISIT_DATE TEXT, User_ID INTEGER, FOREIGN KEY(USER_ID) REFERENCES registeruser(ID))");
+ sqLiteDatabase.execSQL("CREATE TABLE vitalsigns (ID INTEGER PRIMARY KEY AUTOINCREMENT, CHOLESTEROL INT, SYSTOLIC INT,DIASTOLIC INT, GLUCOSE INT, HEART_RATE INT,USERNAME TEXT)");
+
}
+
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + USER_INFO);
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + MEDICATION);
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME_PERSONAL_INFO);
+ sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_VITAL_SIGNS);
+
onCreate(sqLiteDatabase);
}
@@ -120,7 +133,7 @@ public boolean checkUserEmailExists(String username, String email){
return count > 0;
}
- public boolean addMedication(String medName, String timeToTake, String howMuch, String howLong) {
+ public boolean addMedication(String username, String medName, String timeToTake, String howMuch, String howLong) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
@@ -129,6 +142,7 @@ public boolean addMedication(String medName, String timeToTake, String howMuch,
contentValues.put(COL_13, howMuch);
contentValues.put(COL_14, howLong);
contentValues.put(COL_15, currentUserID);
+ contentValues.put(COL_2,username);
long res = db.insert(MEDICATION, null, contentValues);
db.close();
@@ -243,6 +257,7 @@ public boolean addPersonalInfo(String weight, String height, String age, String
public Cursor viewPersonalInfo() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor result = db.rawQuery("select * from " + TABLE_NAME_PERSONAL_INFO, null);
+ result.moveToFirst();
return result;
}
public boolean updatePersonalInfo(String weight, String height, String age, String gender, String docname, String docemail, String pharmname, String pharmemail, String kinname, String kinemail, String visitdate) {
@@ -276,4 +291,105 @@ public boolean updatePersonalInfo(String weight, String height, String age, Stri
db.update(TABLE_NAME_PERSONAL_INFO, contentValues, "User_ID = ?", new String[] {String.valueOf(currentUserID)} );
return true;
}
+
+ public Cursor checkMedicationExist(String username)
+ {
+ SQLiteDatabase db = this.getReadableDatabase();
+ String [] columns = {COL_11,COL_13,COL_14}; //name, how much, how long
+ String selection = COL_2+ "=?";
+ String[] loggedIn = {username};
+ //cursor.moveToFirst();
+ // currentUserID = cursor.getInt(0);
+
+ Cursor result = db.query("medication",columns,"USERNAME = ?",loggedIn,null,null,null);
+ return result;
+
+ }
+
+ public boolean addVitalSigns(String username,String heartRate,String cholesterol,String glucose, String bloodPressure,String DiastolicbloodPressure) {
+
+ SQLiteDatabase db = this.getWritableDatabase();
+
+ ContentValues contentValues = new ContentValues();
+
+ contentValues.put(COL_31, cholesterol);
+ contentValues.put(COL_32, bloodPressure);
+ contentValues.put(COL_36, DiastolicbloodPressure);
+
+ contentValues.put(COL_33, glucose);
+ contentValues.put(COL_34, heartRate);
+ contentValues.put(COL_2,username);
+
+ long result = db.insert("vitalsigns", null, contentValues);
+ if (result == -1)
+ return false;
+ else
+ return true;
+ }
+
+ public boolean updateVitalSigns(String username,String cholesterol,String bloodPressure,String glucose,String heartRate,String DiastolicbloodPressure)
+ {
+ SQLiteDatabase db = this.getWritableDatabase();
+ ContentValues contentValues = new ContentValues();
+ contentValues.put(COL_31,cholesterol);
+ contentValues.put(COL_32,bloodPressure);
+ contentValues.put(COL_36,DiastolicbloodPressure);
+
+ contentValues.put(COL_33,glucose);
+ contentValues.put(COL_34,heartRate);
+
+ db.update("vitalsigns",contentValues,"USERNAME = ?",new String[]{username});
+ return true;
+
+ }
+
+
+ public Cursor checkVitalSignsExist(String username)
+ {
+ SQLiteDatabase db = this.getReadableDatabase();
+ String [] columns = {COL_31,COL_32,COL_33,COL_34,COL_36};
+ String selection = COL_2+ "=?";
+ String[] loggedIn = {username};
+
+ Cursor result = db.query("vitalsigns",columns,"USERNAME = ?",loggedIn,null,null,null);
+ return result;
+
+ }
+ public Cursor checkPersonalInfo( ) {
+ SQLiteDatabase read = this.getReadableDatabase();
+ String[] columns = {COL_1};//,COL_18,COL_19,COL_20,COL_21,COL_22,COL_23,COL_24,COL_25,COL_26,COL_27};
+ String selection = COL_2 + "=?";
+ String[] loggedIn = {currentUser};
+ //int id = getIntent().getIntExtra();
+ //Log.d("User:",loggedIn[0]);
+ Cursor cursor = read.query(USER_INFO,columns,selection,loggedIn,null,null,null);
+
+ // cursor.moveToFirst();
+ // currentUserID = cursor.getInt(0);
+ // cursor.close();
+ return cursor;
+ }
+
+ public boolean updateWeightInfo(String weight) {
+ SQLiteDatabase db = this.getWritableDatabase();
+ ContentValues contentValues = new ContentValues();
+ SQLiteDatabase read = getReadableDatabase();
+ String[] columns = {COL_1};
+ String selection = COL_2 + "=?";
+ String[] loggedIn = {currentUser};
+ //int id = getIntent().getIntExtra();
+ //Log.d("User:",loggedIn[0]);
+ Cursor cursor = read.query(USER_INFO,columns,selection,loggedIn,null,null,null);
+
+ cursor.moveToFirst();
+ currentUserID = cursor.getInt(0);
+
+ //contentValues.put("ID", id);
+ contentValues.put("WEIGHT", weight);
+ contentValues.put("User_ID", currentUserID);
+ cursor.close();
+ db.update(TABLE_NAME_PERSONAL_INFO, contentValues, "User_ID = ?", new String[] {String.valueOf(currentUserID)} );
+ return true;
+ }
+
}
diff --git a/app/src/main/java/com/example/loginregistration/DietActivity.java b/app/src/main/java/com/example/loginregistration/DietActivity.java
new file mode 100644
index 0000000..08cfe78
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/DietActivity.java
@@ -0,0 +1,152 @@
+package com.example.loginregistration;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+
+import android.widget.AdapterView;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.Spinner;
+import android.widget.TextView;
+import android.widget.Toast;
+
+
+import java.util.ArrayList;
+
+import static java.lang.Integer.getInteger;
+
+
+public class DietActivity extends AppCompatActivity {
+ private ArrayList mFoodList;
+ private FoodAdapter mAdapter;
+
+ int calorie_counter;
+ int food_cal;
+
+
+
+ Button dButtonConfirm;
+ Button dButtonContinue;
+ ImageView dImageViewBack;
+ TextView dTextViewNew;
+ TextView dTextViewWeight;
+ EditText dEditServe;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_diet);
+
+ initList();
+ Spinner spinnerFoods = (findViewById(R.id.choice));
+ mAdapter = new FoodAdapter(this,mFoodList);
+ spinnerFoods.setAdapter(mAdapter);
+ spinnerFoods.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView> parent, View view, int position, long id) {
+ FoodItem clickedItem = (FoodItem) parent.getItemAtPosition(position);
+ String clickedFoodName = clickedItem.getFoodName();
+ food_cal = clickedItem.getFoodCal();
+ Toast.makeText(DietActivity.this, clickedFoodName + " selected", Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView> parent) {
+
+ }
+
+ });
+
+ dTextViewNew = (TextView)findViewById(R.id.food_here);
+ dTextViewNew.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent NewerIntent = new Intent(DietActivity.this,NewFoodActivity.class);
+ startActivity(NewerIntent);
+
+ }
+ });
+
+ dTextViewWeight = (TextView)findViewById(R.id.weight_change);
+ dTextViewWeight.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent NewerIntent = new Intent(DietActivity.this,WeightActivity.class);
+ startActivity(NewerIntent);
+
+ }
+ });
+
+ dImageViewBack = (ImageView)findViewById(R.id.imageView_backButtonDiet);
+ dImageViewBack.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent DietToHomeIntent = new Intent(DietActivity.this, HomeActivity.class);
+ startActivity(DietToHomeIntent);
+ }
+ });
+
+ dEditServe = (EditText)findViewById(R.id.serving);
+ dButtonConfirm = (Button) findViewById(R.id.Next);
+ dButtonConfirm.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ int amount = Integer.parseInt( dEditServe.getText().toString() );
+
+ int new_value = food_cal*amount;
+ calorie_counter+=new_value;
+ String again = Integer.toString(new_value);
+
+ Toast.makeText(DietActivity.this, new_value + " Added Calories", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ dButtonContinue = (Button) findViewById(R.id.confirm);
+ dButtonContinue.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ String result = Integer.toString(calorie_counter);
+
+ Toast.makeText(DietActivity.this, result + " Calories Consumed", Toast.LENGTH_LONG).show();
+ }
+ });
+
+ }
+
+ private void initList() {
+ mFoodList = new ArrayList<>();
+ mFoodList.add(new FoodItem("Pick", R.drawable.pick, 0));
+ mFoodList.add(new FoodItem("Fish", R.drawable.fish,366));
+ mFoodList.add(new FoodItem("Steak", R.drawable.steak,679));
+ mFoodList.add(new FoodItem("Eggs", R.drawable.eggs,78));
+ mFoodList.add(new FoodItem("Salad", R.drawable.salad,417));
+ mFoodList.add(new FoodItem("Pizza", R.drawable.pizza,2269));
+ mFoodList.add(new FoodItem("Bread", R.drawable.bread,79));
+ mFoodList.add(new FoodItem("Soup", R.drawable.soup,85));
+ mFoodList.add(new FoodItem("Rice", R.drawable.rice,206));
+ mFoodList.add(new FoodItem("Sushi", R.drawable.sushi,250));
+ mFoodList.add(new FoodItem("Ravioli", R.drawable.ravioli,187));
+ mFoodList.add(new FoodItem("Hot Dog", R.drawable.hotdog,151));
+ mFoodList.add(new FoodItem("Twinkies", R.drawable.twinkies,270));
+ mFoodList.add(new FoodItem("Cornbread", R.drawable.cornbread,198));
+ mFoodList.add(new FoodItem("Chips", R.drawable.chips,1217));
+ mFoodList.add(new FoodItem("Beans", R.drawable.beans,670));
+ mFoodList.add(new FoodItem("Popcorn", R.drawable.popcorn,380));
+ mFoodList.add(new FoodItem("Waffles", R.drawable.waffles,218));
+ mFoodList.add(new FoodItem("Pancakes", R.drawable.pancakes,175));
+ mFoodList.add(new FoodItem("Wings", R.drawable.wings,203));
+ mFoodList.add(new FoodItem("Ribs", R.drawable.ribs,1015));
+ mFoodList.add(new FoodItem("BLT", R.drawable.blt,344));
+ mFoodList.add(new FoodItem("Pie", R.drawable.pie,296));
+ mFoodList.add(new FoodItem("Cookies", R.drawable.cookie,78));
+ mFoodList.add(new FoodItem("Nachos", R.drawable.nachos,346));
+ mFoodList.add(new FoodItem("Sandwich", R.drawable.sandwich,266));
+ mFoodList.add(new FoodItem("Hamburger", R.drawable.hamburger,354));
+ }
+
+}
diff --git a/app/src/main/java/com/example/loginregistration/FoodAdapter.java b/app/src/main/java/com/example/loginregistration/FoodAdapter.java
new file mode 100644
index 0000000..c639fd5
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/FoodAdapter.java
@@ -0,0 +1,53 @@
+package com.example.loginregistration;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import java.util.ArrayList;
+
+public class FoodAdapter extends ArrayAdapter {
+
+ public FoodAdapter(Context context, ArrayListfoodlist){
+ super(context, 0,foodlist);
+ }
+
+ @NonNull
+ @Override
+ public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+ return initView(position, convertView, parent);
+ }
+
+ @Override
+ public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+ return initView(position,convertView,parent);
+ }
+
+ private View initView(int position, View convertView, ViewGroup parent){
+ if(convertView==null){
+ convertView = LayoutInflater.from(getContext()).inflate(
+ R.layout.food_spinner_row, parent, false
+ );
+ }
+
+ ImageView imageViewFood = convertView.findViewById(R.id.image_view_food);
+ TextView textViewName = convertView.findViewById(R.id.text_view_name);
+
+ FoodItem currentItem =getItem(position);
+
+ if(currentItem!=null) {
+ imageViewFood.setImageResource(currentItem.getFoodImage());
+ textViewName.setText(currentItem.getFoodName());
+ }
+
+ return convertView;
+ }
+}
diff --git a/app/src/main/java/com/example/loginregistration/FoodItem.java b/app/src/main/java/com/example/loginregistration/FoodItem.java
new file mode 100644
index 0000000..79cbb07
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/FoodItem.java
@@ -0,0 +1,23 @@
+package com.example.loginregistration;
+
+public class FoodItem {
+ private String mFoodName;
+ private int mFoodImage;
+ private int mFoodCal;
+
+ public FoodItem(String FoodName, int FoodImage, int FoodCal) {
+ mFoodName = FoodName;
+ mFoodImage = FoodImage;
+ mFoodCal = FoodCal;
+ }
+ public String getFoodName() {
+ return mFoodName;
+ }
+ public int getFoodImage() {
+ return mFoodImage;
+ }
+
+ public int getFoodCal() {
+ return mFoodCal;
+ }
+}
diff --git a/app/src/main/java/com/example/loginregistration/HomeActivity.java b/app/src/main/java/com/example/loginregistration/HomeActivity.java
index d5e6601..f2d1bc2 100644
--- a/app/src/main/java/com/example/loginregistration/HomeActivity.java
+++ b/app/src/main/java/com/example/loginregistration/HomeActivity.java
@@ -25,8 +25,16 @@ protected void onCreate(Bundle savedInstanceState) {
ImageButton mButtonPersonalInfo = (ImageButton) findViewById(R.id.imageButton_PersonalInfo);
ImageButton mButtonMedication = (ImageButton) findViewById(R.id.imageButton_Medicine);
ImageButton mButtonSettings = (ImageButton) findViewById(R.id.imageButton_Settings);
+
+ ImageButton mButtonVitalSigns = (ImageButton) findViewById(R.id.imageButton_vitalSigns);
+ ImageButton mButtonSearch = (ImageButton) findViewById(R.id.imageButton_search);
+
ImageButton mButtonMonitoringSystem = (ImageButton) findViewById(R.id.imageButton_MonitoringSystem);
+ ImageButton mButtonDiet = (ImageButton) findViewById(R.id.imageButton_Diet);
+ ImageButton mButtonComm = (ImageButton) findViewById(R.id.imageButton_Communication);
+
+
mButtonMedication.setOnClickListener(view -> {
Intent medicationIntent = new Intent(HomeActivity.this, ViewMedicationActivity.class);
startActivity(medicationIntent);
@@ -42,9 +50,44 @@ protected void onCreate(Bundle savedInstanceState) {
startActivity(SettingsIntent);
});
- mButtonMonitoringSystem.setOnClickListener(view -> {
+ mButtonVitalSigns.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent vitalSignsIntent = new Intent(HomeActivity.this, VitalSigns.class);
+ startActivity(vitalSignsIntent);
+ }
+ });
+ mButtonSearch.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent searchIntent = new Intent(HomeActivity.this, Search.class);
+ startActivity(searchIntent);
+ }
+ });
+
+
+ mButtonMonitoringSystem.setOnClickListener(v -> {
Intent monitoringSystemIntent = new Intent(HomeActivity.this, MonitoringSystemActivity.class);
startActivity(monitoringSystemIntent);
+
+ });
+
+ mButtonDiet.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View view){
+ Intent dietInfoIntent = new Intent(HomeActivity.this, DietActivity.class);
+ startActivity(dietInfoIntent);
+ }
+
+ });
+
+ mButtonComm.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View view){
+ Intent comInfoIntent = new Intent(HomeActivity.this, CommunicationsActivity.class);
+ startActivity(comInfoIntent);
+ }
+
});
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/example/loginregistration/MedicationActivity.java b/app/src/main/java/com/example/loginregistration/MedicationActivity.java
index c19bdfd..499cea7 100644
--- a/app/src/main/java/com/example/loginregistration/MedicationActivity.java
+++ b/app/src/main/java/com/example/loginregistration/MedicationActivity.java
@@ -76,7 +76,9 @@ protected void onCreate(Bundle savedInstanceState) {
} else if (TextUtils.isEmpty(howLong)) {
mTextHowLong.setError("Length of time needed to take medication is required!");
} else {
- boolean val = db.addMedication(med, timeToTake, dosage, howLong);
+ //boolean val = db.addMedication(med, timeToTake, dosage, howLong);
+ boolean val = db.addMedication(db.currentUser.toString(),String.valueOf(med),String.valueOf(timeToTake),String.valueOf(dosage),String.valueOf(howLong));
+
if (val) {
Toast.makeText(MedicationActivity.this, "Medication Information Saved", Toast.LENGTH_SHORT).show();
diff --git a/app/src/main/java/com/example/loginregistration/MonitoringSystemActivity.java b/app/src/main/java/com/example/loginregistration/MonitoringSystemActivity.java
index 5113bb3..2dd17f6 100644
--- a/app/src/main/java/com/example/loginregistration/MonitoringSystemActivity.java
+++ b/app/src/main/java/com/example/loginregistration/MonitoringSystemActivity.java
@@ -41,6 +41,7 @@ public class MonitoringSystemActivity extends AppCompatActivity {
EditText mEditTextmessage;
Button mButtonMedSend;
Button btnSetNotification;
+ Button mButtonTrackMed;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -55,6 +56,11 @@ protected void onCreate(Bundle savedInstanceState) {
startActivity(MonViewToHome);
});
+ Button mButtonTrackMed = (Button) findViewById(R.id.mButtonTrackMed);
+ mButtonTrackMed.setOnClickListener(view -> {
+ Intent MonotoTrackerActivity = new Intent( MonitoringSystemActivity.this, TrackerActivity.class);
+ startActivity(MonotoTrackerActivity);
+ });
Button btnSetNotification = (Button) findViewById(R.id.btnSetNotification);
btnSetNotification.setOnClickListener(view -> {
diff --git a/app/src/main/java/com/example/loginregistration/NewFoodActivity.java b/app/src/main/java/com/example/loginregistration/NewFoodActivity.java
new file mode 100644
index 0000000..af7ef7a
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/NewFoodActivity.java
@@ -0,0 +1,69 @@
+package com.example.loginregistration;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import static java.lang.Integer.getInteger;
+
+public class NewFoodActivity extends AppCompatActivity {
+
+ Button dButtonConfirm;
+ EditText dEditServe;
+ EditText dEditCal;
+ EditText dEditName;
+ ImageView dImageViewBack;
+
+ int calorie_counter;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_new_food);
+
+ Intent mIntent = getIntent();
+ calorie_counter = mIntent.getIntExtra("Calorie_ID",0);
+
+ dEditServe = (EditText) findViewById(R.id.serving2);
+ dEditCal = (EditText) findViewById(R.id.Calories);
+ dEditName = (EditText) findViewById(R.id.Undisc);
+
+ dButtonConfirm = (Button)findViewById(R.id.button2);
+
+ dButtonConfirm.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ int amount = Integer.parseInt( dEditServe.getText().toString() );
+ int cal = Integer.parseInt( dEditCal.getText().toString() );
+
+
+ int new_value = cal*amount;
+ calorie_counter+=new_value;
+ String again = Integer.toString(new_value);
+
+ Toast.makeText(NewFoodActivity.this, again + " Calories", Toast.LENGTH_SHORT).show();
+
+ Intent LoginIntent = new Intent(NewFoodActivity.this, DietActivity.class);
+ startActivity(LoginIntent);
+ }
+ });
+
+ dImageViewBack = (ImageView)findViewById(R.id.imageView_backButtonDiet);
+ dImageViewBack.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent NewToDietIntent = new Intent(NewFoodActivity.this, DietActivity.class);
+ startActivity(NewToDietIntent);
+ }
+ });
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/loginregistration/NotifClass.java b/app/src/main/java/com/example/loginregistration/NotifClass.java
new file mode 100644
index 0000000..59d2a68
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/NotifClass.java
@@ -0,0 +1,35 @@
+package com.example.loginregistration;
+
+import android.app.Application;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.os.Build;
+
+public class NotifClass extends Application {
+ public static final String CHANNEL_1_ID = "channel1";
+ public static final String CHANNEL_2_ID = "channel2";
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ createNotificationChannels();
+ }
+ private void createNotificationChannels() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ NotificationChannel channel1 = new NotificationChannel(
+ CHANNEL_1_ID,
+ "Channel 1",
+ NotificationManager.IMPORTANCE_HIGH
+ );
+ channel1.setDescription("This is Channel 1");
+ NotificationChannel channel2 = new NotificationChannel(
+ CHANNEL_2_ID,
+ "Channel 2",
+ NotificationManager.IMPORTANCE_LOW
+ );
+ channel2.setDescription("This is Channel 2");
+ NotificationManager manager = getSystemService(NotificationManager.class);
+ manager.createNotificationChannel(channel1);
+ manager.createNotificationChannel(channel2);
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/loginregistration/NotificationActivity.java b/app/src/main/java/com/example/loginregistration/NotificationActivity.java
index 581dfa3..a6db948 100644
--- a/app/src/main/java/com/example/loginregistration/NotificationActivity.java
+++ b/app/src/main/java/com/example/loginregistration/NotificationActivity.java
@@ -1,6 +1,7 @@
package com.example.loginregistration;
import android.app.DatePickerDialog;
+import android.app.Notification;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
@@ -10,23 +11,38 @@
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TimePicker;
+
+import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.app.NotificationCompat;
+import androidx.core.app.NotificationManagerCompat;
+
+import static com.example.loginregistration.NotifClass.CHANNEL_1_ID;
+//import static com.codinginflow.notificationsexample.App.CHANNEL_2_ID;
+
import java.util.Calendar;
+import static com.example.loginregistration.NotifClass.CHANNEL_1_ID;
+
public class NotificationActivity extends AppCompatActivity implements View.OnClickListener {
Button btnDatePicker, btnTimePicker, btnNotify, mBackNotification;
- EditText txtDate, txtTime, eTitle, etContent;
+ EditText txtDate, txtTime;
+ private EditText eTitle, etContent;
private int mYear, mMonth, mDay, mHour, mMinute;
- ////DatePickerDialog dpd;
- //TimePickerDialog tpd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notification);
+ ActionBar actionBar = getSupportActionBar();
+ actionBar.hide();
+ NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
- Button btnNotify = (Button)findViewById(R.id.btnNotify);
+ eTitle = findViewById(R.id.eTitle);
+ etContent = findViewById(R.id.etContent);
+
+ btnNotify = (Button)findViewById(R.id.btnNotify);
btnTimePicker=(Button)findViewById(R.id.btn_time);
txtTime=(EditText)findViewById(R.id.in_time);
@@ -37,9 +53,29 @@ protected void onCreate(Bundle savedInstanceState) {
});
//btnDatePicker.setOnClickListener(this);
btnTimePicker.setOnClickListener(this);
+ }
- }
+public void sendOnChannel1(View v) {
+ btnNotify.setOnClickListener(
+ new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ String title = eTitle.getText().toString();
+ String message = etContent.getText().toString();
+ Notification notification = new NotificationCompat.Builder(NotificationActivity.this, CHANNEL_1_ID)
+ .setSmallIcon(R.drawable.ic_android_black_24dp)
+ .setContentTitle(title)
+ .setContentText(message)
+ .setPriority(NotificationCompat.PRIORITY_HIGH)
+ .setCategory(NotificationCompat.CATEGORY_MESSAGE)
+ .build();
+ NotificationManagerCompat notificationManager = NotificationManagerCompat.from(NotificationActivity.this);;
+ notificationManager.notify(1, notification);
+ }
+ }
+ );
+}
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/example/loginregistration/ReviewInformation.java b/app/src/main/java/com/example/loginregistration/ReviewInformation.java
new file mode 100644
index 0000000..b281ec6
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/ReviewInformation.java
@@ -0,0 +1,126 @@
+package com.example.loginregistration;
+
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.database.Cursor;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+public class ReviewInformation extends AppCompatActivity {
+
+ DatabaseHelper myDb;
+
+ TextView tv1;
+ TextView tv2;
+ TextView tv3;
+ TextView tv4,tv5;
+
+ int printHeartRate;
+ int cholestrol;
+ int glucoseLevel;
+ int bloodPressure;
+ int diastolic;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_review_information);
+ ActionBar actionBar = getSupportActionBar();
+ actionBar.hide();
+
+
+
+ ImageView reviewB = (ImageView) findViewById(R.id.reviewBack);
+ reviewB.setOnClickListener(view -> {
+ finish();
+ });
+
+
+ myDb = new DatabaseHelper(this);
+
+
+
+ tv1 = findViewById(R.id.textView);
+ tv2 = findViewById(R.id.textView2);
+ tv3 = findViewById(R.id.textView3);
+ tv4 = findViewById(R.id.textView4);
+ tv5 = findViewById(R.id.textView5);
+
+ printHeartRate = getIntent().getExtras().getInt("value1");
+ tv1.setText("Heart Rate: "+String.valueOf(printHeartRate));
+
+ cholestrol = getIntent().getExtras().getInt("value2");
+ tv2.setText("Cholestrol: "+String.valueOf(cholestrol));
+
+ glucoseLevel = getIntent().getExtras().getInt("value3");
+ tv3.setText("Glucose Level: "+String.valueOf(glucoseLevel));
+
+ bloodPressure = getIntent().getExtras().getInt("value4");
+ tv4.setText("Systolic BP: "+String.valueOf(bloodPressure));
+
+ diastolic= getIntent().getExtras().getInt("value5");
+ tv5.setText(" Diastolic BP: "+String.valueOf(diastolic));
+
+ Button makeChanges = (Button)findViewById(R.id.button3);
+ makeChanges.setOnClickListener(new View.OnClickListener()
+ {
+ @Override
+ public void onClick(View v)
+ {
+ finish();
+ }
+ });
+ Button submit = (Button)findViewById(R.id.button2);
+ submit.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ Cursor data = myDb.checkVitalSignsExist(myDb.currentUser.toString()); ////
+ if(data.getCount()==0) {
+ addSigns();
+ }
+ else {
+ updateSigns();
+ }
+ data.close();
+ Intent mainIntent = new Intent(ReviewInformation.this, HomeActivity.class);
+ startActivity(mainIntent);
+
+ }
+ });
+
+
+
+
+ }
+
+ public void addSigns()
+ {
+ boolean insertTrue = myDb.addVitalSigns(myDb.currentUser.toString(),String.valueOf(printHeartRate),String.valueOf(cholestrol),String.valueOf(glucoseLevel),String.valueOf(bloodPressure),String.valueOf(diastolic));
+ // boolean insertTrue = myDb.addVitalSigns("12","13","14","15");
+ if(insertTrue==true)
+ {
+ Toast.makeText(ReviewInformation.this,"Data Inserted!",Toast.LENGTH_LONG).show();
+ }
+ else
+ Toast.makeText(ReviewInformation.this,"Data not Inserted!",Toast.LENGTH_LONG).show();
+
+ }
+
+ public void updateSigns()
+ {
+ boolean insertTrue = myDb.updateVitalSigns(myDb.currentUser.toString(),String.valueOf(printHeartRate),String.valueOf(cholestrol),String.valueOf(glucoseLevel),String.valueOf(bloodPressure),String.valueOf(diastolic));
+ if(insertTrue==true)
+ {
+ Toast.makeText(ReviewInformation.this,"Data updated!",Toast.LENGTH_LONG).show();
+ }
+ else
+ Toast.makeText(ReviewInformation.this,"Data not updated!",Toast.LENGTH_LONG).show();
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/loginregistration/Search.java b/app/src/main/java/com/example/loginregistration/Search.java
new file mode 100644
index 0000000..16f0ccc
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/Search.java
@@ -0,0 +1,156 @@
+package com.example.loginregistration;
+
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.Toast;
+
+public class Search extends AppCompatActivity {
+ DatabaseHelper myDb;
+ ImageButton searchButton;
+ EditText searchWord;
+ String key;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_search);
+ ActionBar actionBar = getSupportActionBar();
+ actionBar.hide();
+
+ ImageView mImage = (ImageView) findViewById(R.id.mImageViewBack);
+ mImage.setOnClickListener(view -> {
+ Intent PersonalViewToHome = new Intent( Search.this, HomeActivity.class);
+ startActivity(PersonalViewToHome);
+ });
+
+
+ myDb = new DatabaseHelper(this);
+
+ searchButton = (ImageButton) findViewById(R.id.imageButtonSearch);
+
+
+ searchButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ searchWord = (EditText) findViewById(R.id.keyword);
+ key = searchWord.getText().toString();
+
+ String vsign = "";
+ StringBuffer buffer = new StringBuffer();
+
+
+ Cursor cur = myDb.checkVitalSignsExist(myDb.currentUser.toString());
+
+ if (("username".toLowerCase()).equals(key.toLowerCase().trim()))
+ {
+
+ vsign = "Username: " + myDb.currentUser.toString();
+
+ Intent resultIntent = new Intent(Search.this, SearchResults.class);
+ resultIntent.putExtra("resultvalue", vsign);
+ startActivity(resultIntent);
+ }
+
+
+ else if (cur.getCount() == 0) {
+ int i=0;
+
+ if (("Cholesterol".toLowerCase()).equals(key.toLowerCase().trim()))
+ {
+ i=1;
+ }
+ else if (("Heart rate".toLowerCase()).equals(key.toLowerCase().trim()))
+ {
+ i=1;
+ }
+ else if (("Blood Pressure".toLowerCase()).equals(key.toLowerCase().trim()))
+ {
+ i=1;
+ }
+ else if (("Glucose".toLowerCase()).equals(key.toLowerCase().trim()))
+ {
+ i=1;
+ }
+
+ if(i==1)
+ Toast.makeText(Search.this, "Please initialize vital sign values before using search function", Toast.LENGTH_LONG).show();
+ else
+ {
+ Toast.makeText(Search.this, "Input didn't match any data :(", Toast.LENGTH_LONG).show();
+ }
+
+ }
+ else
+ {
+
+ cur.moveToNext();
+
+
+
+ if (("Cholesterol".toLowerCase()).equals(key.toLowerCase().trim())) {
+ vsign = "Cholestrol: " + cur.getString(0) + "(cal)";
+
+ } else if (("Heart rate".toLowerCase()).equals(key.toLowerCase().trim())) {
+ vsign = "Heart rate: " + cur.getString(4) + "(bpm)";
+
+ } else if (("Blood Pressure".toLowerCase()).equals(key.toLowerCase().trim())) {
+ vsign = "Systolic Blood Pressure: " + cur.getString(1) + "(mmHg)" + "\n" + "Diastolic Blood Pressure: " + cur.getString(2) + "(mmHg)";
+ } else if (("Glucose".toLowerCase()).equals(key.toLowerCase().trim())) {
+ vsign = "Glucose: " + cur.getString(3) + "(mg/dL)";
+
+ } else if (("username".toLowerCase()).equals(key.toLowerCase().trim())) {
+ vsign = "Username: " + myDb.currentUser.toString();
+
+ }
+
+ else {
+ Toast.makeText(Search.this, "Input didn't match any data :(", Toast.LENGTH_LONG).show();
+ }
+
+ if (vsign.length() > 0) {
+ Intent resultIntent = new Intent(Search.this, SearchResults.class);
+ resultIntent.putExtra("resultvalue", vsign);
+
+ startActivity(resultIntent);
+ }
+ }
+ }
+
+ });
+
+
+
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/example/loginregistration/SearchResults.java b/app/src/main/java/com/example/loginregistration/SearchResults.java
new file mode 100644
index 0000000..3fd27f3
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/SearchResults.java
@@ -0,0 +1,53 @@
+package com.example.loginregistration;
+
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+public class SearchResults extends AppCompatActivity {
+ TextView resl;
+ String resultValue;
+ Button searchButton,doneSearching;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_search_results);
+ ActionBar actionBar = getSupportActionBar();
+ actionBar.hide();
+
+ ImageView mImg = (ImageView) findViewById(R.id.mBack);
+ mImg.setOnClickListener(view -> {
+ finish();
+ });
+
+
+
+ resl = (TextView)findViewById(R.id.result);
+ resultValue = getIntent().getExtras().getString("resultvalue");
+ resl.setText(resultValue);
+
+ searchButton = findViewById(R.id.button4);
+ searchButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ doneSearching = findViewById(R.id.button5);
+ doneSearching.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent homeIntent = new Intent(SearchResults.this, HomeActivity.class);
+ startActivity(homeIntent);
+ }
+ });
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/loginregistration/TrackerActivity.java b/app/src/main/java/com/example/loginregistration/TrackerActivity.java
new file mode 100644
index 0000000..e2f21ac
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/TrackerActivity.java
@@ -0,0 +1,94 @@
+package com.example.loginregistration;
+
+
+import androidx.appcompat.app.ActionBar;
+ import androidx.appcompat.app.AppCompatActivity;
+
+ import android.content.Intent;
+ import android.database.Cursor;
+ import android.database.sqlite.SQLiteDatabase;
+ import android.os.Bundle;
+ import android.view.View;
+ import android.widget.Button;
+ import android.widget.EditText;
+ import android.widget.ImageButton;
+ import android.widget.ImageView;
+ import android.widget.Toast;
+
+public class TrackerActivity extends AppCompatActivity {
+ DatabaseHelper myDb;
+ ImageButton searchButton;
+ EditText searchWord;
+ String key;
+ String medname;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_tracker);
+ ActionBar actionBar = getSupportActionBar();
+ actionBar.hide();
+
+ ImageView mImage = (ImageView) findViewById(R.id.mImageViewBack);
+ mImage.setOnClickListener(view -> {
+ Intent PersonalViewToHome = new Intent( TrackerActivity.this, HomeActivity.class);
+ startActivity(PersonalViewToHome);
+ });
+
+
+ myDb = new DatabaseHelper(this);
+
+ searchButton = (ImageButton) findViewById(R.id.imageButtonSearch);
+
+
+ searchButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ searchWord = (EditText) findViewById(R.id.keyword);
+ key = searchWord.getText().toString();
+
+ String vsign = "";
+ String dose = "";
+ String days = "";
+ StringBuffer buffer = new StringBuffer();
+ Cursor cur = myDb.checkMedicationExist(myDb.currentUser.toString());
+
+ if (cur.getCount() == 0) {
+ int i=0;
+ if(i==1)
+ Toast.makeText(TrackerActivity.this, "Please initialize vital sign values before using search function", Toast.LENGTH_LONG).show();
+ else
+ {
+ Toast.makeText(TrackerActivity.this, "Input didn't match any data :(", Toast.LENGTH_LONG).show();
+ }
+
+ }
+ else
+ {
+
+ cur.moveToNext();
+ medname = cur.getString(0);
+
+ if (medname.equals(key.trim())) {
+ vsign = "Medication: " + cur.getString(0) + "\n" + "Dosage: " + cur.getString(1) + "\n" + "Days: " + cur.getString(2) + "\n";
+ ////dose = "Dosage: " + cur.getString(1) + "\n";
+ //days = "Days: " + cur.getString(2) + "\n";
+ }
+ else {
+ Toast.makeText(TrackerActivity.this, "Input didn't match any data :(", Toast.LENGTH_LONG).show();
+ }
+
+ if (vsign.length() > 0) {
+ Intent resultIntent = new Intent(TrackerActivity.this, TrackerResultActivity.class);
+ resultIntent.putExtra("resultvalue", vsign);
+
+ startActivity(resultIntent);
+ }
+ }
+ }
+
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/loginregistration/TrackerResultActivity.java b/app/src/main/java/com/example/loginregistration/TrackerResultActivity.java
new file mode 100644
index 0000000..56476c7
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/TrackerResultActivity.java
@@ -0,0 +1,43 @@
+package com.example.loginregistration;
+
+ import androidx.appcompat.app.ActionBar;
+ import androidx.appcompat.app.AppCompatActivity;
+ import android.content.Intent;
+ import android.os.Bundle;
+ import android.view.View;
+ import android.widget.Button;
+ import android.widget.ImageView;
+ import android.widget.TextView;
+
+public class TrackerResultActivity extends AppCompatActivity {
+ TextView resl;
+ String resultValue;
+ Button donebtn;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_tracker_result);
+ ActionBar actionBar = getSupportActionBar();
+ actionBar.hide();
+
+ ImageView mImg = (ImageView) findViewById(R.id.mBack);
+ mImg.setOnClickListener(view -> {
+ finish();
+ });
+
+ resl = (TextView)findViewById(R.id.result);
+ resultValue = getIntent().getExtras().getString("resultvalue");
+ resl.setText(resultValue);
+
+ donebtn = findViewById(R.id.donebtn);
+ donebtn.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent homeIntent = new Intent(TrackerResultActivity.this, HomeActivity.class);
+ startActivity(homeIntent);
+ }
+ });
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/loginregistration/VitalSigns.java b/app/src/main/java/com/example/loginregistration/VitalSigns.java
new file mode 100644
index 0000000..5b3fc11
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/VitalSigns.java
@@ -0,0 +1,126 @@
+package com.example.loginregistration;
+
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.app.AppCompatActivity;
+
+
+import android.content.Context;
+import android.content.Intent;
+import android.database.Cursor;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+public class VitalSigns extends AppCompatActivity {
+ DatabaseHelper myDb;
+
+ EditText e1,e2,e3,e4,e5;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_vital_signs);
+ ActionBar actionBar = getSupportActionBar();
+ actionBar.hide();
+
+ ImageView backB = (ImageView) findViewById(R.id.vitalBack);
+ backB.setOnClickListener(view -> {
+ Intent PersonalViewToHome = new Intent( VitalSigns.this, HomeActivity.class);
+ startActivity(PersonalViewToHome);
+ });
+
+
+ myDb = new DatabaseHelper(this);
+
+
+
+ e1 = findViewById(R.id.reading1);
+ e2 = findViewById(R.id.reading2);
+ e3 = findViewById(R.id.reading3);
+ e4 = findViewById(R.id.reading4);
+ e4.setHint("Systolic");
+ e5 = findViewById(R.id.reading4b);
+ e5.setHint("Diastolic");
+ Button next = findViewById(R.id.button);
+
+ Context context = getApplicationContext();
+ int duration = Toast.LENGTH_SHORT;
+
+ next.setOnClickListener(new View.OnClickListener()
+ {
+ @Override
+ public void onClick(View v)
+ {
+
+ openActivity();
+ }
+ });
+
+
+
+
+
+
+
+ }
+ public void openActivity() {
+ final EditText firstReading = findViewById(R.id.reading1);
+ final EditText secondReading = findViewById(R.id.reading2);
+ final EditText thirdReading = findViewById(R.id.reading3);
+ final EditText fourthReading = findViewById(R.id.reading4);
+ final EditText fifthReading = findViewById(R.id.reading4b);
+
+
+ if ((firstReading.length() == 0) || (secondReading.length() == 0) || (thirdReading.length() == 0) || (fourthReading.length() == 0) || (fifthReading.length() == 0))
+ Toast.makeText(VitalSigns.this, "Please fill in all the required fields correctly!", Toast.LENGTH_LONG).show();
+ else {
+
+
+ int heartRate = Integer.parseInt(firstReading.getText().toString());
+ int cholestrol = Integer.parseInt(secondReading.getText().toString());
+ int glucoseLevel = Integer.parseInt(thirdReading.getText().toString());
+ int bloodPressure = Integer.parseInt(fourthReading.getText().toString());
+ int diastolic = Integer.parseInt(fifthReading.getText().toString());
+
+ if((heartRate<1)||(heartRate>220))
+ Toast.makeText(VitalSigns.this, "Heart Rate is out of range!", Toast.LENGTH_LONG).show();
+ else if((bloodPressure<1)||(bloodPressure>200))
+ {
+ Toast.makeText(VitalSigns.this, "Systolic Blood Pressure is out of range!", Toast.LENGTH_LONG).show();
+
+ }
+
+ else if((diastolic<1)||(diastolic>350))
+ {
+ Toast.makeText(VitalSigns.this, "Diastolic Blood Pressure is out of range!", Toast.LENGTH_LONG).show();
+
+ }
+ else if((glucoseLevel<1)||(glucoseLevel>1500))
+ {
+ Toast.makeText(VitalSigns.this, "Glucose level is out of range!", Toast.LENGTH_LONG).show();
+ }
+ else if((cholestrol<1)||(cholestrol>1500))
+ {
+ Toast.makeText(VitalSigns.this, "Cholesterol is out of range!", Toast.LENGTH_LONG).show();
+
+ }
+ else {
+ Intent downloadIntent = new Intent(this, ReviewInformation.class);
+ downloadIntent.putExtra("value1", heartRate);
+ downloadIntent.putExtra("value2", cholestrol);
+ downloadIntent.putExtra("value3", glucoseLevel);
+ downloadIntent.putExtra("value4", bloodPressure);
+ downloadIntent.putExtra("value5", diastolic);
+
+ startActivity(downloadIntent);
+ }
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/loginregistration/WeightActivity.java b/app/src/main/java/com/example/loginregistration/WeightActivity.java
new file mode 100644
index 0000000..9359bab
--- /dev/null
+++ b/app/src/main/java/com/example/loginregistration/WeightActivity.java
@@ -0,0 +1,48 @@
+package com.example.loginregistration;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+public class WeightActivity extends AppCompatActivity {
+ DatabaseHelper myDb;
+
+ EditText mTextWeight;
+ Button mButtonUpdateWeightInfo;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_weight);
+
+ myDb = new DatabaseHelper(this);
+
+ mTextWeight = (EditText)findViewById(R.id.mTextWeight);
+ mButtonUpdateWeightInfo = (Button) findViewById(R.id.mButtonUpdatePersonalInfo);
+
+ UpdateWeightData();
+ }
+
+ public void UpdateWeightData() {
+ mButtonUpdateWeightInfo.setOnClickListener(
+ new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ boolean isUpdate = myDb.updateWeightInfo(mTextWeight.getText().toString());
+
+ if(isUpdate) {
+ Toast.makeText(WeightActivity.this, "Data Updated", Toast.LENGTH_LONG).show();
+ }
+ else {
+ Toast.makeText(WeightActivity.this, "Not Updated", Toast.LENGTH_LONG).show();
+
+ }
+ }
+ }
+ );
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-hdpi/commu.PNG b/app/src/main/res/drawable-hdpi/commu.PNG
new file mode 100644
index 0000000..f6490ae
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/commu.PNG differ
diff --git a/app/src/main/res/drawable-hdpi/diet.PNG b/app/src/main/res/drawable-hdpi/diet.PNG
new file mode 100644
index 0000000..bf6ed84
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/diet.PNG differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_name.png b/app/src/main/res/drawable-hdpi/ic_action_name.png
new file mode 100644
index 0000000..ecb475a
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_name.png differ
diff --git a/app/src/main/res/drawable-hdpi/search.png b/app/src/main/res/drawable-hdpi/search.png
new file mode 100644
index 0000000..3d78c7d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/search.png differ
diff --git a/app/src/main/res/drawable-hdpi/vitalsigns.png b/app/src/main/res/drawable-hdpi/vitalsigns.png
new file mode 100644
index 0000000..0869946
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/vitalsigns.png differ
diff --git a/app/src/main/res/drawable-mdpi/apple.png b/app/src/main/res/drawable-mdpi/apple.png
new file mode 100644
index 0000000..505027b
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/apple.png differ
diff --git a/app/src/main/res/drawable-mdpi/commu.PNG b/app/src/main/res/drawable-mdpi/commu.PNG
new file mode 100644
index 0000000..f6490ae
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/commu.PNG differ
diff --git a/app/src/main/res/drawable-mdpi/diet.PNG b/app/src/main/res/drawable-mdpi/diet.PNG
new file mode 100644
index 0000000..bf6ed84
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/diet.PNG differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_name.png b/app/src/main/res/drawable-mdpi/ic_action_name.png
new file mode 100644
index 0000000..fd1bd33
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_name.png differ
diff --git a/app/src/main/res/drawable-mdpi/search.png b/app/src/main/res/drawable-mdpi/search.png
new file mode 100644
index 0000000..3d78c7d
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/search.png differ
diff --git a/app/src/main/res/drawable-mdpi/vitalsigns.png b/app/src/main/res/drawable-mdpi/vitalsigns.png
new file mode 100644
index 0000000..0869946
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/vitalsigns.png differ
diff --git a/app/src/main/res/drawable-xhdpi/apple.png b/app/src/main/res/drawable-xhdpi/apple.png
new file mode 100644
index 0000000..505027b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/apple.png differ
diff --git a/app/src/main/res/drawable-xhdpi/commu.PNG b/app/src/main/res/drawable-xhdpi/commu.PNG
new file mode 100644
index 0000000..f6490ae
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/commu.PNG differ
diff --git a/app/src/main/res/drawable-xhdpi/diet.PNG b/app/src/main/res/drawable-xhdpi/diet.PNG
new file mode 100644
index 0000000..bf6ed84
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/diet.PNG differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_name.png b/app/src/main/res/drawable-xhdpi/ic_action_name.png
new file mode 100644
index 0000000..4d89c21
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_name.png differ
diff --git a/app/src/main/res/drawable-xhdpi/search.png b/app/src/main/res/drawable-xhdpi/search.png
new file mode 100644
index 0000000..3d78c7d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/search.png differ
diff --git a/app/src/main/res/drawable-xhdpi/vitalsigns.png b/app/src/main/res/drawable-xhdpi/vitalsigns.png
new file mode 100644
index 0000000..0869946
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/vitalsigns.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/apple.png b/app/src/main/res/drawable-xxhdpi/apple.png
new file mode 100644
index 0000000..505027b
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/apple.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/commu.PNG b/app/src/main/res/drawable-xxhdpi/commu.PNG
new file mode 100644
index 0000000..f6490ae
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/commu.PNG differ
diff --git a/app/src/main/res/drawable-xxhdpi/diet.PNG b/app/src/main/res/drawable-xxhdpi/diet.PNG
new file mode 100644
index 0000000..bf6ed84
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/diet.PNG differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_name.png b/app/src/main/res/drawable-xxhdpi/ic_action_name.png
new file mode 100644
index 0000000..ac9848a
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_name.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/search.png b/app/src/main/res/drawable-xxhdpi/search.png
new file mode 100644
index 0000000..3d78c7d
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/search.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/vitalsigns.png b/app/src/main/res/drawable-xxhdpi/vitalsigns.png
new file mode 100644
index 0000000..0869946
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/vitalsigns.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/apple.png b/app/src/main/res/drawable-xxxhdpi/apple.png
new file mode 100644
index 0000000..505027b
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/apple.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/commu.PNG b/app/src/main/res/drawable-xxxhdpi/commu.PNG
new file mode 100644
index 0000000..f6490ae
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/commu.PNG differ
diff --git a/app/src/main/res/drawable-xxxhdpi/diet.PNG b/app/src/main/res/drawable-xxxhdpi/diet.PNG
new file mode 100644
index 0000000..bf6ed84
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/diet.PNG differ
diff --git a/app/src/main/res/drawable-xxxhdpi/search.png b/app/src/main/res/drawable-xxxhdpi/search.png
new file mode 100644
index 0000000..3d78c7d
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/search.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/vitalsigns.png b/app/src/main/res/drawable-xxxhdpi/vitalsigns.png
new file mode 100644
index 0000000..0869946
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/vitalsigns.png differ
diff --git a/app/src/main/res/drawable/apple.png b/app/src/main/res/drawable/apple.png
new file mode 100644
index 0000000..505027b
Binary files /dev/null and b/app/src/main/res/drawable/apple.png differ
diff --git a/app/src/main/res/drawable/beans.jpg b/app/src/main/res/drawable/beans.jpg
new file mode 100644
index 0000000..c0e9b8b
Binary files /dev/null and b/app/src/main/res/drawable/beans.jpg differ
diff --git a/app/src/main/res/drawable/blt.jpg b/app/src/main/res/drawable/blt.jpg
new file mode 100644
index 0000000..8d741cf
Binary files /dev/null and b/app/src/main/res/drawable/blt.jpg differ
diff --git a/app/src/main/res/drawable/bread.jpg b/app/src/main/res/drawable/bread.jpg
new file mode 100644
index 0000000..e6078fa
Binary files /dev/null and b/app/src/main/res/drawable/bread.jpg differ
diff --git a/app/src/main/res/drawable/chips.jpg b/app/src/main/res/drawable/chips.jpg
new file mode 100644
index 0000000..6cb86c1
Binary files /dev/null and b/app/src/main/res/drawable/chips.jpg differ
diff --git a/app/src/main/res/drawable/comm.PNG b/app/src/main/res/drawable/comm.PNG
new file mode 100644
index 0000000..53d74f5
Binary files /dev/null and b/app/src/main/res/drawable/comm.PNG differ
diff --git a/app/src/main/res/drawable/commu.PNG b/app/src/main/res/drawable/commu.PNG
new file mode 100644
index 0000000..f6490ae
Binary files /dev/null and b/app/src/main/res/drawable/commu.PNG differ
diff --git a/app/src/main/res/drawable/cookie.jpg b/app/src/main/res/drawable/cookie.jpg
new file mode 100644
index 0000000..e5b361c
Binary files /dev/null and b/app/src/main/res/drawable/cookie.jpg differ
diff --git a/app/src/main/res/drawable/cornbread.jpg b/app/src/main/res/drawable/cornbread.jpg
new file mode 100644
index 0000000..5068c81
Binary files /dev/null and b/app/src/main/res/drawable/cornbread.jpg differ
diff --git a/app/src/main/res/drawable/diet.PNG b/app/src/main/res/drawable/diet.PNG
new file mode 100644
index 0000000..bf6ed84
Binary files /dev/null and b/app/src/main/res/drawable/diet.PNG differ
diff --git a/app/src/main/res/drawable/eggs.jpg b/app/src/main/res/drawable/eggs.jpg
new file mode 100644
index 0000000..6c14cbf
Binary files /dev/null and b/app/src/main/res/drawable/eggs.jpg differ
diff --git a/app/src/main/res/drawable/fish.jpg b/app/src/main/res/drawable/fish.jpg
new file mode 100644
index 0000000..6326bd7
Binary files /dev/null and b/app/src/main/res/drawable/fish.jpg differ
diff --git a/app/src/main/res/drawable/hamburger.jpg b/app/src/main/res/drawable/hamburger.jpg
new file mode 100644
index 0000000..91bc397
Binary files /dev/null and b/app/src/main/res/drawable/hamburger.jpg differ
diff --git a/app/src/main/res/drawable/hotdog.jpg b/app/src/main/res/drawable/hotdog.jpg
new file mode 100644
index 0000000..b67d1c0
Binary files /dev/null and b/app/src/main/res/drawable/hotdog.jpg differ
diff --git a/app/src/main/res/drawable/ic_android_black_24dp.xml b/app/src/main/res/drawable/ic_android_black_24dp.xml
new file mode 100644
index 0000000..0df8cff
--- /dev/null
+++ b/app/src/main/res/drawable/ic_android_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/nachos.jpg b/app/src/main/res/drawable/nachos.jpg
new file mode 100644
index 0000000..212771e
Binary files /dev/null and b/app/src/main/res/drawable/nachos.jpg differ
diff --git a/app/src/main/res/drawable/pancakes.jpg b/app/src/main/res/drawable/pancakes.jpg
new file mode 100644
index 0000000..5aabb0c
Binary files /dev/null and b/app/src/main/res/drawable/pancakes.jpg differ
diff --git a/app/src/main/res/drawable/phone.png b/app/src/main/res/drawable/phone.png
new file mode 100644
index 0000000..00a9f00
Binary files /dev/null and b/app/src/main/res/drawable/phone.png differ
diff --git a/app/src/main/res/drawable/pick.png b/app/src/main/res/drawable/pick.png
new file mode 100644
index 0000000..7045104
Binary files /dev/null and b/app/src/main/res/drawable/pick.png differ
diff --git a/app/src/main/res/drawable/pie.jpg b/app/src/main/res/drawable/pie.jpg
new file mode 100644
index 0000000..23f884e
Binary files /dev/null and b/app/src/main/res/drawable/pie.jpg differ
diff --git a/app/src/main/res/drawable/pizza.jpg b/app/src/main/res/drawable/pizza.jpg
new file mode 100644
index 0000000..d4d0fc4
Binary files /dev/null and b/app/src/main/res/drawable/pizza.jpg differ
diff --git a/app/src/main/res/drawable/popcorn.jpg b/app/src/main/res/drawable/popcorn.jpg
new file mode 100644
index 0000000..2648d96
Binary files /dev/null and b/app/src/main/res/drawable/popcorn.jpg differ
diff --git a/app/src/main/res/drawable/ravioli.jpg b/app/src/main/res/drawable/ravioli.jpg
new file mode 100644
index 0000000..2be519f
Binary files /dev/null and b/app/src/main/res/drawable/ravioli.jpg differ
diff --git a/app/src/main/res/drawable/ribs.jpg b/app/src/main/res/drawable/ribs.jpg
new file mode 100644
index 0000000..80123d5
Binary files /dev/null and b/app/src/main/res/drawable/ribs.jpg differ
diff --git a/app/src/main/res/drawable/rice.jpg b/app/src/main/res/drawable/rice.jpg
new file mode 100644
index 0000000..c01d1ed
Binary files /dev/null and b/app/src/main/res/drawable/rice.jpg differ
diff --git a/app/src/main/res/drawable/salad.jpg b/app/src/main/res/drawable/salad.jpg
new file mode 100644
index 0000000..24a3c0d
Binary files /dev/null and b/app/src/main/res/drawable/salad.jpg differ
diff --git a/app/src/main/res/drawable/sandwich.jpg b/app/src/main/res/drawable/sandwich.jpg
new file mode 100644
index 0000000..c7c3ab8
Binary files /dev/null and b/app/src/main/res/drawable/sandwich.jpg differ
diff --git a/app/src/main/res/drawable/soup.jpg b/app/src/main/res/drawable/soup.jpg
new file mode 100644
index 0000000..2c9ee86
Binary files /dev/null and b/app/src/main/res/drawable/soup.jpg differ
diff --git a/app/src/main/res/drawable/steak.jpg b/app/src/main/res/drawable/steak.jpg
new file mode 100644
index 0000000..9255b79
Binary files /dev/null and b/app/src/main/res/drawable/steak.jpg differ
diff --git a/app/src/main/res/drawable/sushi.jpg b/app/src/main/res/drawable/sushi.jpg
new file mode 100644
index 0000000..242e1ba
Binary files /dev/null and b/app/src/main/res/drawable/sushi.jpg differ
diff --git a/app/src/main/res/drawable/twinkies.jpg b/app/src/main/res/drawable/twinkies.jpg
new file mode 100644
index 0000000..988d877
Binary files /dev/null and b/app/src/main/res/drawable/twinkies.jpg differ
diff --git a/app/src/main/res/drawable/waffles.jpg b/app/src/main/res/drawable/waffles.jpg
new file mode 100644
index 0000000..2686660
Binary files /dev/null and b/app/src/main/res/drawable/waffles.jpg differ
diff --git a/app/src/main/res/drawable/wifi.png b/app/src/main/res/drawable/wifi.png
new file mode 100644
index 0000000..07904bb
Binary files /dev/null and b/app/src/main/res/drawable/wifi.png differ
diff --git a/app/src/main/res/drawable/wings.jpg b/app/src/main/res/drawable/wings.jpg
new file mode 100644
index 0000000..cb83aef
Binary files /dev/null and b/app/src/main/res/drawable/wings.jpg differ
diff --git a/app/src/main/res/layout/activity_communications.xml b/app/src/main/res/layout/activity_communications.xml
new file mode 100644
index 0000000..3ffe0dc
--- /dev/null
+++ b/app/src/main/res/layout/activity_communications.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_diet.xml b/app/src/main/res/layout/activity_diet.xml
new file mode 100644
index 0000000..0925a9b
--- /dev/null
+++ b/app/src/main/res/layout/activity_diet.xml
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index f8dcb99..d547eb0 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -112,6 +112,20 @@
android:layout_height="100dp"
android:contentDescription="@string/settingsHome"
app:srcCompat="@android:drawable/ic_menu_manage" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_monitoring_system.xml b/app/src/main/res/layout/activity_monitoring_system.xml
index 5296483..6759a81 100644
--- a/app/src/main/res/layout/activity_monitoring_system.xml
+++ b/app/src/main/res/layout/activity_monitoring_system.xml
@@ -111,5 +111,17 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_new_food.xml b/app/src/main/res/layout/activity_new_food.xml
new file mode 100644
index 0000000..e4fbc46
--- /dev/null
+++ b/app/src/main/res/layout/activity_new_food.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_notification.xml b/app/src/main/res/layout/activity_notification.xml
index e3fceb3..ef8d7d9 100644
--- a/app/src/main/res/layout/activity_notification.xml
+++ b/app/src/main/res/layout/activity_notification.xml
@@ -41,6 +41,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SELECT TIME"
+ app:backgroundTint="#FF5722"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.446"
@@ -55,7 +56,7 @@
android:layout_marginTop="72dp"
android:ems="10"
android:inputType="textPersonName"
- android:text="MyHealthAppNotification"
+ android:text="Write yourself a reminder!"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
@@ -79,7 +80,9 @@
android:id="@+id/btnNotify"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Schedule"
+ android:onClick="sendOnChannel1"
+ android:text="Set Notification"
+ app:backgroundTint="#FF5722"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/activity_personal_info.xml b/app/src/main/res/layout/activity_personal_info.xml
index 5d8976e..f2d613d 100644
--- a/app/src/main/res/layout/activity_personal_info.xml
+++ b/app/src/main/res/layout/activity_personal_info.xml
@@ -16,8 +16,8 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml
new file mode 100644
index 0000000..2d32e77
--- /dev/null
+++ b/app/src/main/res/layout/activity_search.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_search_results.xml b/app/src/main/res/layout/activity_search_results.xml
new file mode 100644
index 0000000..c0a789c
--- /dev/null
+++ b/app/src/main/res/layout/activity_search_results.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tracker.xml b/app/src/main/res/layout/activity_tracker.xml
new file mode 100644
index 0000000..9804512
--- /dev/null
+++ b/app/src/main/res/layout/activity_tracker.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tracker_result.xml b/app/src/main/res/layout/activity_tracker_result.xml
new file mode 100644
index 0000000..91b9a9b
--- /dev/null
+++ b/app/src/main/res/layout/activity_tracker_result.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_vital_signs.xml b/app/src/main/res/layout/activity_vital_signs.xml
new file mode 100644
index 0000000..94bf9e7
--- /dev/null
+++ b/app/src/main/res/layout/activity_vital_signs.xml
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_weight.xml b/app/src/main/res/layout/activity_weight.xml
new file mode 100644
index 0000000..ee81e5c
--- /dev/null
+++ b/app/src/main/res/layout/activity_weight.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/food_spinner_row.xml b/app/src/main/res/layout/food_spinner_row.xml
new file mode 100644
index 0000000..9be3762
--- /dev/null
+++ b/app/src/main/res/layout/food_spinner_row.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b1335bb..d327d5d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -184,5 +184,31 @@
Confirm New Password
Change Password
Register New User
+ Search Results
+ Vital Signs
+ Search
+ Search
Enter time in Military (XX:XX)
+ Done
+ Existing Foods:
+ Input New Food
+ diet_logo
+ Next
+ Diet and Weight Management
+ phone
+ Communications
+ Diet
+ Communications
+ Diet
+ Send SMS
+ Phone Number
+ Message
+ Call
+ Eggs
+ 100
+ New Foods Here
+ Serving(s)
+ Calories
+ Change Weight
+ MEDICATION TRACKER
\ No newline at end of file