├── app
├── .gitignore
├── src
│ ├── main
│ │ ├── ic_launcher-web.png
│ │ ├── res
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── drawable
│ │ │ │ ├── history_emoji.xml
│ │ │ │ ├── circle.xml
│ │ │ │ ├── add.xml
│ │ │ │ ├── button.xml
│ │ │ │ ├── side_nav_bar.xml
│ │ │ │ ├── bluecircle.xml
│ │ │ │ ├── button2.xml
│ │ │ │ ├── neg.xml
│ │ │ │ ├── cup.xml
│ │ │ │ ├── home.xml
│ │ │ │ ├── plus.xml
│ │ │ │ ├── go.xml
│ │ │ │ ├── age.xml
│ │ │ │ ├── pain.xml
│ │ │ │ ├── time.xml
│ │ │ │ ├── meal.xml
│ │ │ │ ├── notifications.xml
│ │ │ │ ├── date.xml
│ │ │ │ ├── edit.xml
│ │ │ │ ├── pill.xml
│ │ │ │ ├── history.xml
│ │ │ │ ├── pw.xml
│ │ │ │ ├── user.xml
│ │ │ │ ├── temp.xml
│ │ │ │ ├── happy.xml
│ │ │ │ ├── humid.xml
│ │ │ │ ├── weather.xml
│ │ │ │ ├── lifestyle.xml
│ │ │ │ ├── moderate.xml
│ │ │ │ ├── condition.xml
│ │ │ │ ├── kindasad.xml
│ │ │ │ ├── sad.xml
│ │ │ │ ├── smoke.xml
│ │ │ │ ├── smile.xml
│ │ │ │ ├── notification.xml
│ │ │ │ ├── superhappy.xml
│ │ │ │ ├── setting.xml
│ │ │ │ ├── graph.xml
│ │ │ │ └── ic_launcher_background.xml
│ │ │ ├── values
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── drawables.xml
│ │ │ │ ├── styles.xml
│ │ │ │ └── strings.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ ├── layout
│ │ │ │ ├── spinner_item.xml
│ │ │ │ ├── fragment_youtube.xml
│ │ │ │ ├── activity_history.xml
│ │ │ │ ├── activity_yt.xml
│ │ │ │ ├── hour_row_layout.xml
│ │ │ │ ├── activity_edit.xml
│ │ │ │ ├── custom_dialogue.xml
│ │ │ │ ├── summary_dialog.xml
│ │ │ │ ├── activity_home3.xml
│ │ │ │ ├── cardview.xml
│ │ │ │ ├── activity_lifestyle.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── activity_weather.xml
│ │ │ │ ├── activity_settings.xml
│ │ │ │ ├── activity_add.xml
│ │ │ │ └── content_home3.xml
│ │ │ ├── drawable-v21
│ │ │ │ ├── ic_menu_send.xml
│ │ │ │ ├── ic_menu_slideshow.xml
│ │ │ │ ├── ic_menu_gallery.xml
│ │ │ │ ├── ic_menu_manage.xml
│ │ │ │ └── ic_menu_share.xml
│ │ │ ├── menu
│ │ │ │ ├── home.xml
│ │ │ │ ├── main_menu.xml
│ │ │ │ └── activity_home_drawer.xml
│ │ │ ├── values-v21
│ │ │ │ └── styles.xml
│ │ │ └── drawable-v24
│ │ │ │ └── ic_launcher_foreground.xml
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── hackumass
│ │ │ │ └── med
│ │ │ │ └── medapp
│ │ │ │ ├── Weather
│ │ │ │ ├── Weather.java
│ │ │ │ ├── WeatherConstants.java
│ │ │ │ ├── WeatherInterface.java
│ │ │ │ ├── WeatherRetrofitClient.java
│ │ │ │ ├── Daily.java
│ │ │ │ ├── Hourly.java
│ │ │ │ ├── Minutely.java
│ │ │ │ ├── Flags.java
│ │ │ │ ├── WeatherDetails.java
│ │ │ │ ├── WeatherActivity.java
│ │ │ │ ├── Currently.java
│ │ │ │ ├── WeatherAdaptor.java
│ │ │ │ └── Datum.java
│ │ │ │ ├── Images
│ │ │ │ ├── 44930594_2275412866070701_3486530811669250048_n.jpg
│ │ │ │ ├── 44932825_534884873652877_3961556887551344640_n.jpg
│ │ │ │ ├── 44934000_469976756857963_5233231373149405184_n.jpg
│ │ │ │ ├── 44938966_504752593348288_7995058132327858176_n.jpg
│ │ │ │ ├── 44997162_1862123343909116_5118065162296754176_n.jpg
│ │ │ │ └── 45000578_1094024380760265_5213244188786688000_n.jpg
│ │ │ │ ├── Youtube
│ │ │ │ ├── PlayerConfig.java
│ │ │ │ ├── YTActivity.java
│ │ │ │ └── YoutubeFragment.java
│ │ │ │ ├── MealActivity.java
│ │ │ │ ├── EditActivity.java
│ │ │ │ ├── Database
│ │ │ │ ├── User.java
│ │ │ │ ├── Contract.java
│ │ │ │ └── MedOpenHelper.java
│ │ │ │ ├── Medication.java
│ │ │ │ ├── History.java
│ │ │ │ ├── SettingsActivity.java
│ │ │ │ ├── LifestyleActivity.java
│ │ │ │ ├── CustomDialogClass.java
│ │ │ │ ├── MyReceiver.java
│ │ │ │ ├── HistoryActivity.java
│ │ │ │ ├── CustomDialogueClass.java
│ │ │ │ ├── MainActivity.java
│ │ │ │ ├── Home3Activity.java
│ │ │ │ └── RVAdapter.java
│ │ └── AndroidManifest.xml
│ ├── test
│ │ └── java
│ │ │ └── com
│ │ │ └── hackumass
│ │ │ └── med
│ │ │ └── medapp
│ │ │ └── ExampleUnitTest.java
│ ├── release
│ │ └── res
│ │ │ └── values
│ │ │ └── google_maps_api.xml
│ ├── androidTest
│ │ └── java
│ │ │ └── com
│ │ │ └── hackumass
│ │ │ └── med
│ │ │ └── medapp
│ │ │ └── ExampleInstrumentedTest.java
│ └── debug
│ │ └── res
│ │ └── values
│ │ └── google_maps_api.xml
├── libs
│ └── YouTubeAndroidPlayerApi.jar
├── proguard-rules.pro
├── google-services.json
└── build.gradle
├── settings.gradle
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .gitignore
├── .idea
├── vcs.xml
├── modules.xml
├── runConfigurations.xml
├── gradle.xml
└── misc.xml
├── gradle.properties
├── README.md
├── gradlew.bat
└── gradlew
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/libs/YouTubeAndroidPlayerApi.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/libs/YouTubeAndroidPlayerApi.jar
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .externalNativeBuild
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/history_emoji.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #764BA2
4 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/Weather.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Weather;
2 |
3 | /**
4 | * Created by Aryan Singh on 10/13/2018.
5 | */
6 |
7 | public class Weather {
8 | }
9 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Images/44930594_2275412866070701_3486530811669250048_n.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/java/com/hackumass/med/medapp/Images/44930594_2275412866070701_3486530811669250048_n.jpg
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Images/44932825_534884873652877_3961556887551344640_n.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/java/com/hackumass/med/medapp/Images/44932825_534884873652877_3961556887551344640_n.jpg
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Images/44934000_469976756857963_5233231373149405184_n.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/java/com/hackumass/med/medapp/Images/44934000_469976756857963_5233231373149405184_n.jpg
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Images/44938966_504752593348288_7995058132327858176_n.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/java/com/hackumass/med/medapp/Images/44938966_504752593348288_7995058132327858176_n.jpg
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Images/44997162_1862123343909116_5118065162296754176_n.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/java/com/hackumass/med/medapp/Images/44997162_1862123343909116_5118065162296754176_n.jpg
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Images/45000578_1094024380760265_5213244188786688000_n.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/singh1aryan/Med-Tracker/HEAD/app/src/main/java/com/hackumass/med/medapp/Images/45000578_1094024380760265_5213244188786688000_n.jpg
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Oct 12 22:36:23 EDT 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/WeatherConstants.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Weather;
2 |
3 | /**
4 | * Created by Aryan Singh on 10/13/2018.
5 | */
6 |
7 | public class WeatherConstants {
8 | public final static String WEATHER_API = "9ad78b8a08f39899131b8d657929446e";
9 |
10 | }
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
8 |
9 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/add.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/side_nav_bar.xml:
--------------------------------------------------------------------------------
1 |
3 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bluecircle.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
8 |
9 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/button2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/spinner_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Youtube/PlayerConfig.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Youtube;
2 |
3 | /**
4 | * Created by Aryan Singh on 10/14/2018.
5 | */
6 |
7 | public class PlayerConfig {
8 |
9 | public static final String YOUTUBE_API = "AIzaSyAiliRaiWFMGBURP4LaQHPNWxLwyealow0";
10 | public PlayerConfig(){
11 |
12 | }
13 |
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/neg.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v21/ic_menu_send.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cup.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/home.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/plus.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/home.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 | 8dp
6 | 176dp
7 | 16dp
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/go.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/age.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/main_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/MealActivity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 |
6 | public class MealActivity extends AppCompatActivity {
7 |
8 | @Override
9 | protected void onCreate(Bundle savedInstanceState) {
10 | super.onCreate(savedInstanceState);
11 | setContentView(R.layout.activity_meal);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/pain.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/time.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/EditActivity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 |
6 | public class EditActivity extends AppCompatActivity {
7 |
8 | @Override
9 | protected void onCreate(Bundle savedInstanceState) {
10 | super.onCreate(savedInstanceState);
11 | setContentView(R.layout.activity_edit);
12 | getSupportActionBar().setTitle("Edit profile");
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v21/ic_menu_slideshow.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v21/ic_menu_gallery.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/meal.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/WeatherInterface.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Weather;
2 |
3 |
4 | import retrofit2.Call;
5 | import retrofit2.http.GET;
6 | import retrofit2.http.Path;
7 |
8 | /**
9 | * Created by Aryan Singh on 7/27/2018.
10 | */
11 |
12 | public interface WeatherInterface {
13 |
14 | @GET("{api}/{latitude},{longitude}")
15 | Call getWeatherDetails(@Path("api")String api,@Path("latitude")float latitude, @Path("longitude")float longitude);
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_youtube.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/test/java/com/hackumass/med/medapp/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v21/ic_menu_manage.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/notifications.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/date.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
8 |
9 | #292b3d
10 | #0bcce6
11 | #09c6df
12 | #fafafa
13 |
14 | #585656
15 | #9c9595
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/edit.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/pill.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/history.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/pw.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/user.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/temp.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/happy.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/humid.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/weather.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/lifestyle.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Database/User.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Database;
2 |
3 | /**
4 | * Created by Aryan Singh on 10/13/2018.
5 | */
6 |
7 | public class User {
8 |
9 | public String symptoms,medications,date;
10 | public int pain;
11 | public int smoking, alcohol;
12 |
13 | public User(String symptoms, int pain, int smoking, int alcohol, String medications,String date) {
14 | this.symptoms = symptoms;
15 | this.pain = pain;
16 | this.smoking = smoking;
17 | this.alcohol = alcohol;
18 | this.medications = medications;
19 | this.date = date;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/res/values/drawables.xml:
--------------------------------------------------------------------------------
1 |
2 | - @android:drawable/ic_menu_camera
3 | - @android:drawable/ic_menu_gallery
4 | - @android:drawable/ic_menu_slideshow
5 | - @android:drawable/ic_menu_manage
6 | - @android:drawable/ic_menu_share
7 | - @android:drawable/ic_menu_send
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/moderate.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/condition.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_history.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/WeatherRetrofitClient.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Weather;
2 |
3 | import retrofit2.Retrofit;
4 | import retrofit2.converter.gson.GsonConverterFactory;
5 |
6 | /**
7 | * Created by Aryan Singh on 7/27/2018.
8 | */
9 |
10 | public class WeatherRetrofitClient {
11 |
12 | public static final String BASE_URL="https://api.darksky.net/forecast/";
13 | public static Retrofit retrofit = null;
14 |
15 | public static Retrofit getClient(){
16 | if(retrofit==null){
17 | retrofit=new Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();
18 | }
19 | return retrofit;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/kindasad.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/sad.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/smoke.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/smile.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v21/ic_menu_share.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Medication.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 |
4 | public class Medication {
5 | private String brandName;
6 | private int dosage;
7 | private int frequency;
8 | private boolean perDay;
9 | public Medication(String name, int dose, int freq, boolean day)
10 | {
11 | this.brandName=name;
12 | this.dosage=dose;
13 | this.frequency=freq;
14 | this.perDay=day;
15 | }
16 | public int getDosage() {
17 | return dosage;
18 | }
19 | public String getBrandName() {
20 | return brandName;
21 | }
22 | public boolean isPerDay() {
23 | return perDay;
24 | }
25 | public int getFrequency() {
26 | return frequency;
27 | }
28 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/notification.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/superhappy.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_yt.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
15 |
16 |
17 |
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/release/res/values/google_maps_api.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 | YOUR_KEY_HERE
20 |
21 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/hackumass/med/medapp/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumented test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() throws Exception {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("com.hackumass.med.medapp", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/History.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 | import java.util.ArrayList;
3 | public class History {
4 | private String date;
5 | //yyyy-mm-dd
6 | private int painLevel;
7 | private ArrayList symptoms;
8 | private ArrayList medications;
9 | public History(String date, int pain, ArrayList symptoms, ArrayList medications)
10 | {
11 | this.date=date;
12 | this.painLevel=pain;
13 | this.symptoms=symptoms;
14 | this.medications=medications;
15 | }
16 | public ArrayList getMedications() {
17 | return medications;
18 | }
19 | public ArrayList getSymptoms() {
20 | return symptoms;
21 | }
22 | public int getPainLevel() {
23 | return painLevel;
24 | }
25 | public String getDate() {
26 | return date;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/SettingsActivity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.content.Intent;
4 | import android.support.v7.app.AppCompatActivity;
5 | import android.os.Bundle;
6 | import android.view.View;
7 | import android.widget.TextView;
8 |
9 | public class SettingsActivity extends AppCompatActivity {
10 |
11 | TextView user,initial1;
12 | @Override
13 | protected void onCreate(Bundle savedInstanceState) {
14 | super.onCreate(savedInstanceState);
15 | setContentView(R.layout.activity_settings);
16 | getSupportActionBar().setTitle("Settings");
17 | // getActionBar().setTitle("Settings");
18 |
19 | user = findViewById(R.id.user);
20 | initial1 = findViewById(R.id.initial1);
21 |
22 | Intent i = getIntent();
23 |
24 | String a = i.getStringExtra("username");
25 | user.setText(a);
26 |
27 | initial1.setText(a.charAt(0) + "");
28 |
29 | }
30 |
31 | public void edit(View view){
32 |
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/Daily.java:
--------------------------------------------------------------------------------
1 |
2 | package com.hackumass.med.medapp.Weather;
3 |
4 | import java.util.List;
5 | //import javax.annotation.Generated;
6 | import com.google.gson.annotations.SerializedName;
7 |
8 | //@Generated("net.hexar.json2pojo")
9 | @SuppressWarnings("unused")
10 | public class Daily {
11 |
12 | @SerializedName("data")
13 | private List mData;
14 | @SerializedName("icon")
15 | private String mIcon;
16 | @SerializedName("summary")
17 | private String mSummary;
18 |
19 | public List getData() {
20 | return mData;
21 | }
22 |
23 | public void setData(List data) {
24 | mData = data;
25 | }
26 |
27 | public String getIcon() {
28 | return mIcon;
29 | }
30 |
31 | public void setIcon(String icon) {
32 | mIcon = icon;
33 | }
34 |
35 | public String getSummary() {
36 | return mSummary;
37 | }
38 |
39 | public void setSummary(String summary) {
40 | mSummary = summary;
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/Hourly.java:
--------------------------------------------------------------------------------
1 |
2 | package com.hackumass.med.medapp.Weather;
3 |
4 | import java.util.List;
5 | //import javax.annotation.Generated;
6 | import com.google.gson.annotations.SerializedName;
7 |
8 | //@Generated("net.hexar.json2pojo")
9 | @SuppressWarnings("unused")
10 | public class Hourly {
11 |
12 | @SerializedName("data")
13 | private List mData;
14 | @SerializedName("icon")
15 | private String mIcon;
16 | @SerializedName("summary")
17 | private String mSummary;
18 |
19 | public List getData() {
20 | return mData;
21 | }
22 |
23 | public void setData(List data) {
24 | mData = data;
25 | }
26 |
27 | public String getIcon() {
28 | return mIcon;
29 | }
30 |
31 | public void setIcon(String icon) {
32 | mIcon = icon;
33 | }
34 |
35 | public String getSummary() {
36 | return mSummary;
37 | }
38 |
39 | public void setSummary(String summary) {
40 | mSummary = summary;
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/Minutely.java:
--------------------------------------------------------------------------------
1 |
2 | package com.hackumass.med.medapp.Weather;
3 |
4 | import java.util.List;
5 | //import javax.annotation.Generated;
6 | import com.google.gson.annotations.SerializedName;
7 |
8 | //@Generated("net.hexar.json2pojo")
9 | @SuppressWarnings("unused")
10 | public class Minutely {
11 |
12 | @SerializedName("data")
13 | private List mData;
14 | @SerializedName("icon")
15 | private String mIcon;
16 | @SerializedName("summary")
17 | private String mSummary;
18 |
19 | public List getData() {
20 | return mData;
21 | }
22 |
23 | public void setData(List data) {
24 | mData = data;
25 | }
26 |
27 | public String getIcon() {
28 | return mIcon;
29 | }
30 |
31 | public void setIcon(String icon) {
32 | mIcon = icon;
33 | }
34 |
35 | public String getSummary() {
36 | return mSummary;
37 | }
38 |
39 | public void setSummary(String summary) {
40 | mSummary = summary;
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/debug/res/values/google_maps_api.xml:
--------------------------------------------------------------------------------
1 |
2 |
23 | YOUR_KEY_HERE
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/hour_row_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
18 |
19 |
26 |
27 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/Flags.java:
--------------------------------------------------------------------------------
1 |
2 | package com.hackumass.med.medapp.Weather;
3 |
4 | import java.util.List;
5 | //import javax.annotation.Generated;
6 | import com.google.gson.annotations.SerializedName;
7 |
8 | //@Generated("net.hexar.json2pojo")
9 | @SuppressWarnings("unused")
10 | public class Flags {
11 |
12 | @SerializedName("nearest-station")
13 | private Double mNearestStation;
14 | @SerializedName("sources")
15 | private List mSources;
16 | @SerializedName("units")
17 | private String mUnits;
18 |
19 | public Double getNearestStation() {
20 | return mNearestStation;
21 | }
22 |
23 | public void setNearestStation(Double nearestStation) {
24 | mNearestStation = nearestStation;
25 | }
26 |
27 | public List getSources() {
28 | return mSources;
29 | }
30 |
31 | public void setSources(List sources) {
32 | mSources = sources;
33 | }
34 |
35 | public String getUnits() {
36 | return mUnits;
37 | }
38 |
39 | public void setUnits(String units) {
40 | mUnits = units;
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/setting.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/graph.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Database/Contract.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Database;
2 |
3 | /**
4 | * Created by Aryan Singh on 10/13/2018.
5 | */
6 |
7 | public class Contract {
8 |
9 | public class User{
10 | // THESE ARE NAMES OF COLUMNS
11 | public static final String TABLE_NAME = "user_only";
12 | public static final String COLUMN_ID = "id";
13 | public static final String COLUMN_SMOKING = "smoking";
14 | public static final String COLUMN_ALCOHOL = "drinking";
15 | public static final String COLUMN_PAIN = "pain";
16 | public static final String COLUMN_DATE = "date";
17 | public static final String COLUMN_MEDICATIONS = "medications";
18 | public static final String COLUMN_SYMPTOMS = "conditions";
19 |
20 | }
21 |
22 | // // we put stuff here
23 | // // medicine for all symptoms
24 | // // Eg: 1 -- illness -- meds
25 | // public class SyMeds{
26 | // public static final String TABLE_NAME = "symptoms_meds";
27 | // public static final String COLUMN_ID = "id";
28 | // public static final String COLUMN_ILLNESS = "illness";
29 | // public static final String COLUMN_MEDS = "all_meds";
30 | // }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_edit.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
23 |
24 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_dialogue.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
23 |
24 |
33 |
34 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/LifestyleActivity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 | import android.view.View;
6 | import android.widget.EditText;
7 | import android.widget.RadioButton;
8 | import android.widget.RadioGroup;
9 | import android.widget.TextView;
10 |
11 | public class LifestyleActivity extends AppCompatActivity {
12 |
13 | EditText weightEditText;
14 | EditText heighEditText;
15 | RadioGroup select_sex;
16 |
17 | TextView bmi,ans;
18 |
19 | @Override
20 | protected void onCreate(Bundle savedInstanceState) {
21 | super.onCreate(savedInstanceState);
22 | setContentView(R.layout.activity_lifestyle);
23 |
24 | bmi = findViewById(R.id.bmi);
25 | ans = findViewById(R.id.ans);
26 | weightEditText = findViewById(R.id.weight);
27 | heighEditText = findViewById(R.id.height);
28 | select_sex = findViewById(R.id.select_sex);
29 |
30 | int i = select_sex.getCheckedRadioButtonId();
31 | if(i == R.id.female){
32 | bmi.setText("You are super overweight");
33 | }
34 |
35 |
36 |
37 | }
38 | public void calc(View view){
39 | double a = Double.parseDouble(weightEditText.getText().toString());
40 | double b = Double.parseDouble(heighEditText.getText().toString());
41 | b = b/100;
42 | double answer = a/(b*b);
43 | ans.setText(answer + "");
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/summary_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
19 |
25 |
26 |
36 |
41 |
42 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_home3.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
20 |
21 |
22 |
23 |
24 |
25 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/activity_home_drawer.xml:
--------------------------------------------------------------------------------
1 |
2 |
43 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
15 |
16 |
25 |
26 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/CustomDialogClass.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 |
4 | import android.app.Activity;
5 | import android.app.Dialog;
6 | import android.content.Context;
7 | import android.os.Bundle;
8 | import android.support.annotation.NonNull;
9 | import android.view.View;
10 | import android.view.Window;
11 | import android.widget.Button;
12 | import android.widget.TextView;
13 |
14 | import com.jjoe64.graphview.GraphView;
15 | import com.jjoe64.graphview.series.DataPoint;
16 | import com.jjoe64.graphview.series.LineGraphSeries;
17 |
18 | /**
19 | * Created by Aryan Singh on 10/13/2018.
20 | */
21 |
22 | public class CustomDialogClass extends Dialog implements
23 | android.view.View.OnClickListener{
24 |
25 |
26 | public Activity c;
27 | public Dialog d;
28 | public GraphView graph;
29 |
30 | public CustomDialogClass(Activity a) {
31 | super(a);
32 | // TODO Auto-generated constructor stub
33 | this.c = a;
34 | }
35 |
36 | @Override
37 | protected void onCreate(Bundle savedInstanceState) {
38 | super.onCreate(savedInstanceState);
39 | requestWindowFeature(Window.FEATURE_NO_TITLE);
40 | setContentView(R.layout.summary_dialog);
41 | TextView textView = findViewById(R.id.pthings);
42 | TextView textView1 = findViewById(R.id.nthings);
43 |
44 | textView.setText(R.string.list);
45 | textView1.setText(R.string.nlist);
46 |
47 | }
48 |
49 | @Override
50 | public void onClick(View v) {
51 | switch (v.getId()) {
52 | default:
53 | break;
54 | }
55 | dismiss();
56 | }
57 | }
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Database/MedOpenHelper.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Database;
2 |
3 | import android.content.Context;
4 | import android.database.sqlite.SQLiteDatabase;
5 | import android.database.sqlite.SQLiteOpenHelper;
6 |
7 | /**
8 | * Created by Aryan Singh on 10/13/2018.
9 | */
10 |
11 | public class MedOpenHelper extends SQLiteOpenHelper {
12 |
13 | public static final String DATABASE_NAME = "med_db";
14 | public static final int VERSION = 1;
15 |
16 | private static MedOpenHelper instance;
17 | public MedOpenHelper(Context context) {
18 | super(context, DATABASE_NAME, null, 1);
19 | }
20 |
21 | public static MedOpenHelper getInstance(Context context) {
22 | if(instance == null)
23 | instance = new MedOpenHelper(context.getApplicationContext());
24 | return instance;
25 | }
26 |
27 | @Override
28 | public void onCreate(SQLiteDatabase db) {
29 | String user_table = "CREATE TABLE " + Contract.User.TABLE_NAME + " ( " +
30 | Contract.User.COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
31 | Contract.User.COLUMN_MEDICATIONS + " TEXT, " +
32 | Contract.User.COLUMN_SYMPTOMS + " TEXT, " +
33 | Contract.User.COLUMN_PAIN + " INTEGER DEFAULT 0, " +
34 | Contract.User.COLUMN_ALCOHOL + " INTEGER DEFAULT 0, " +
35 | Contract.User.COLUMN_DATE + " TEXT, " +
36 | Contract.User.COLUMN_SMOKING + " INTEGER DEFAULT 0 " +
37 | " )";
38 |
39 | db.execSQL(user_table);
40 | }
41 |
42 | @Override
43 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
44 |
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/app/google-services.json:
--------------------------------------------------------------------------------
1 | {
2 | "project_info": {
3 | "project_number": "602096312418",
4 | "firebase_url": "https://medapp-3e197.firebaseio.com",
5 | "project_id": "medapp-3e197",
6 | "storage_bucket": "medapp-3e197.appspot.com"
7 | },
8 | "client": [
9 | {
10 | "client_info": {
11 | "mobilesdk_app_id": "1:602096312418:android:9b53154ef5443c18",
12 | "android_client_info": {
13 | "package_name": "com.hackumass.med.medapp"
14 | }
15 | },
16 | "oauth_client": [
17 | {
18 | "client_id": "602096312418-smoskp8iocshuiia0vr9mtf7d2m71pvj.apps.googleusercontent.com",
19 | "client_type": 1,
20 | "android_info": {
21 | "package_name": "com.hackumass.med.medapp",
22 | "certificate_hash": "37cf91ce2e6f31b900981bdee027dadbce40adac"
23 | }
24 | },
25 | {
26 | "client_id": "602096312418-6tu50ekmufu91b3o3uc86g2ff3i6gmbb.apps.googleusercontent.com",
27 | "client_type": 3
28 | }
29 | ],
30 | "api_key": [
31 | {
32 | "current_key": "AIzaSyDxZBL3zJA5X8PG7FUC16g_gzNv1i17PCc"
33 | }
34 | ],
35 | "services": {
36 | "analytics_service": {
37 | "status": 1
38 | },
39 | "appinvite_service": {
40 | "status": 2,
41 | "other_platform_oauth_client": [
42 | {
43 | "client_id": "602096312418-6tu50ekmufu91b3o3uc86g2ff3i6gmbb.apps.googleusercontent.com",
44 | "client_type": 3
45 | }
46 | ]
47 | },
48 | "ads_service": {
49 | "status": 2
50 | }
51 | }
52 | }
53 | ],
54 | "configuration_version": "1"
55 | }
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 27
5 | defaultConfig {
6 | applicationId "com.hackumass.med.medapp"
7 | minSdkVersion 19
8 | targetSdkVersion 27
9 | versionCode 1
10 | versionName "1.0"
11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
12 | }
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | implementation fileTree(dir: 'libs', include: ['*.jar'])
23 | implementation 'com.android.support:appcompat-v7:27.1.1'
24 | implementation 'com.android.support.constraint:constraint-layout:1.1.3'
25 | implementation 'com.android.support:support-v4:27.1.1'
26 | implementation 'com.android.support:design:27.1.1'
27 | implementation 'com.google.firebase:firebase-auth:11.0.4'
28 | implementation 'com.android.support:cardview-v7:27.+'
29 |
30 | implementation 'com.github.abumoallim:Android-Multi-Select-Dialog:v1.9'
31 |
32 | implementation 'com.squareup.picasso:picasso:2.5.2'
33 | implementation 'com.google.code.gson:gson:2.8.1'
34 | implementation 'com.squareup.retrofit2:retrofit:2.3.0'
35 | implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
36 |
37 | implementation 'com.jjoe64:graphview:4.2.2'
38 | testImplementation 'junit:junit:4.12'
39 | androidTestImplementation 'com.android.support.test:runner:1.0.2'
40 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
41 | }
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 | apply plugin: 'com.google.gms.google-services'
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Youtube/YTActivity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Youtube;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 | import android.view.View;
6 | import android.widget.Button;
7 |
8 | import com.google.android.youtube.player.YouTubeBaseActivity;
9 | import com.google.android.youtube.player.YouTubeInitializationResult;
10 | import com.google.android.youtube.player.YouTubePlayer;
11 | import com.google.android.youtube.player.YouTubePlayerView;
12 | import com.hackumass.med.medapp.R;
13 |
14 | public class YTActivity extends YouTubeBaseActivity {
15 |
16 | YouTubePlayerView youTubePlayerView;
17 | Button button;
18 | YouTubePlayer.OnInitializedListener onInitializedListener;
19 |
20 | @Override
21 | protected void onCreate(Bundle savedInstanceState) {
22 | super.onCreate(savedInstanceState);
23 | setContentView(R.layout.activity_yt);
24 |
25 | button = findViewById(R.id.button);
26 | youTubePlayerView = (YouTubePlayerView) findViewById(R.id.youTubePlayerView);
27 | onInitializedListener = new YouTubePlayer.OnInitializedListener() {
28 | @Override
29 | public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
30 |
31 | youTubePlayer.loadVideo("wb49-oV0F78");
32 | }
33 |
34 | @Override
35 | public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
36 |
37 | }
38 | };
39 |
40 | button.setOnClickListener(new View.OnClickListener() {
41 | @Override
42 | public void onClick(View v) {
43 | youTubePlayerView.initialize(PlayerConfig.YOUTUBE_API,onInitializedListener);
44 | }
45 | });
46 | }
47 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
12 |
13 |
19 |
22 |
25 |
26 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Med Tracker
2 | * Project completed during HackUMass 2018 - Completed in 24 hrs with 3 Developers
3 | * A daily health tracker where you get notified to add entries daily. Weekly graphs and summary is posted, once you enter 6 times.
4 |
5 | ## Idea
6 | * We gather information from the user on what's his/her daily routine like
7 | * A machine learning model trains a data and tests this on that data predicting the best daily practices for the User
8 | * User is notified every time they open the app and every week to enter their daily activities
9 | * There are graphs and charts which display the overall profile of the User according to the
10 |
11 | ## Android Native Features
12 | * Uses recycler views,
13 | * SQLite database - storing the Weekly data for the user - displaying in a History tab
14 | * Graphview to display the User data from the last week - using Android graphs
15 | * Libraries from AndroidMultiSelectDialogy from Abumoallim & GraphView.
16 | * Icons from [materialdesignicons.com](materialdesignicons.com)
17 |
18 | ## Additional Libraries
19 | * Tensor Flow model created with Python in Jupyter Notebook
20 | * Integrated with Machine Learning kit by Firebase
21 | * Firebase Login, Database implemented
22 |
23 |
24 | ### Screenshots
25 |
26 |
27 |

28 |

29 |

30 |

31 |

32 |

33 |
34 |
35 |
36 | MIT License 2018
37 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/WeatherDetails.java:
--------------------------------------------------------------------------------
1 |
2 | package com.hackumass.med.medapp.Weather;
3 |
4 | //import javax.annotation.Generated;
5 | import com.google.gson.annotations.SerializedName;
6 |
7 | //@Generated("net.hexar.json2pojo")
8 | @SuppressWarnings("unused")
9 | public class WeatherDetails {
10 |
11 | @SerializedName("currently")
12 | private Currently mCurrently;
13 | @SerializedName("daily")
14 | private Daily mDaily;
15 | @SerializedName("hourly")
16 | private Hourly mHourly;
17 | @SerializedName("latitude")
18 | private Double mLatitude;
19 | @SerializedName("longitude")
20 | private Double mLongitude;
21 | @SerializedName("minutely")
22 | private Minutely mMinutely;
23 | @SerializedName("offset")
24 | private Double mOffset;
25 | @SerializedName("timezone")
26 | private String mTimezone;
27 |
28 | public Currently getCurrently() {
29 | return mCurrently;
30 | }
31 |
32 | public void setCurrently(Currently currently) {
33 | mCurrently = currently;
34 | }
35 |
36 | public Daily getDaily() {
37 | return mDaily;
38 | }
39 |
40 | public void setDaily(Daily daily) {
41 | mDaily = daily;
42 | }
43 |
44 | public Hourly getHourly() {
45 | return mHourly;
46 | }
47 |
48 | public void setHourly(Hourly hourly) {
49 | mHourly = hourly;
50 | }
51 |
52 | public Double getLatitude() {
53 | return mLatitude;
54 | }
55 |
56 | public void setLatitude(Double latitude) {
57 | mLatitude = latitude;
58 | }
59 |
60 | public Double getLongitude() {
61 | return mLongitude;
62 | }
63 |
64 | public void setLongitude(Double longitude) {
65 | mLongitude = longitude;
66 | }
67 |
68 | public Minutely getMinutely() {
69 | return mMinutely;
70 | }
71 |
72 | public void setMinutely(Minutely minutely) {
73 | mMinutely = minutely;
74 | }
75 |
76 | public Double getOffset() {
77 | return mOffset;
78 | }
79 |
80 | public void setOffset(Double offset) {
81 | mOffset = offset;
82 | }
83 |
84 | public String getTimezone() {
85 | return mTimezone;
86 | }
87 |
88 | public void setTimezone(String timezone) {
89 | mTimezone = timezone;
90 | }
91 |
92 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/MyReceiver.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.app.NotificationChannel;
4 | import android.app.NotificationManager;
5 | import android.app.PendingIntent;
6 | import android.content.BroadcastReceiver;
7 | import android.content.Context;
8 | import android.content.Intent;
9 | import android.os.Build;
10 | import android.support.annotation.RequiresApi;
11 | import android.support.v4.app.NotificationCompat;
12 | import android.widget.Toast;
13 | import android.app.NotificationChannel;
14 | import android.app.NotificationManager;
15 | import android.app.PendingIntent;
16 | import android.content.BroadcastReceiver;
17 | import android.content.Context;
18 | import android.content.Intent;
19 | import android.os.Build;
20 | import android.support.annotation.RequiresApi;
21 | import android.support.v4.app.NotificationCompat;
22 | import android.widget.Toast;
23 |
24 | public class MyReceiver extends BroadcastReceiver {
25 |
26 | public static boolean CURRENT = true;
27 | @RequiresApi(api = Build.VERSION_CODES.O)
28 | @Override
29 | public void onReceive(Context context, Intent intent) {
30 |
31 | NotificationManager mNotifyMgr =
32 | (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
33 | if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
34 | NotificationChannel channel = new NotificationChannel("mychannel","Medapp",NotificationManager.IMPORTANCE_HIGH);
35 | mNotifyMgr.createNotificationChannel(channel);
36 | }
37 | NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context,"mychannel")
38 | .setSmallIcon(R.drawable.lifestyle)
39 | .setContentTitle("Health Tracker")
40 | .setContentText("Add your details for today")
41 | .setPriority(NotificationCompat.PRIORITY_DEFAULT)
42 | .setAutoCancel(true);
43 |
44 | Intent i = new Intent(context,AddActivity.class);
45 | PendingIntent pendingIntent = PendingIntent.getActivity(context,1,i,0);
46 |
47 |
48 | //mBuilder.setContentIntent(pendingIntent);
49 | mBuilder.addAction(R.drawable.add,"Add",pendingIntent);
50 | //mBuilder.setContentIntent(pendingIntent);
51 |
52 | mNotifyMgr.notify(1, mBuilder.build());
53 | Toast.makeText(context,"Add your day !!",Toast.LENGTH_LONG).show();
54 |
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
12 |
13 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
36 |
39 |
40 |
41 |
42 |
43 |
44 |
48 |
49 |
50 |
51 |
52 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/HistoryActivity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.database.Cursor;
4 | import android.database.sqlite.SQLiteDatabase;
5 | import android.support.v7.app.AppCompatActivity;
6 | import android.os.Bundle;
7 | import android.support.v7.widget.LinearLayoutManager;
8 | import android.support.v7.widget.RecyclerView;
9 | import android.view.View;
10 |
11 | import com.hackumass.med.medapp.Database.Contract;
12 | import com.hackumass.med.medapp.Database.MedOpenHelper;
13 | import com.hackumass.med.medapp.Database.User;
14 |
15 | import java.util.ArrayList;
16 | import java.util.List;
17 |
18 | public class HistoryActivity extends AppCompatActivity {
19 | RecyclerView rv;
20 | List users;
21 | RVAdapter rvAdapter;
22 | @Override
23 | protected void onCreate(Bundle savedInstanceState) {
24 | super.onCreate(savedInstanceState);
25 | setContentView(R.layout.activity_history);
26 | getSupportActionBar().setTitle("History");
27 |
28 | rv= findViewById(R.id.history_rv);
29 | users = new ArrayList<>();
30 |
31 |
32 | MedOpenHelper openHelper = MedOpenHelper.getInstance(this);
33 | SQLiteDatabase database = openHelper.getReadableDatabase();
34 |
35 | Cursor cursor = database.query(Contract.User.TABLE_NAME, null, null, null, null, null, null);
36 |
37 | while (cursor.moveToNext()) {
38 | String date = cursor.getString(cursor.getColumnIndex(Contract.User.COLUMN_DATE));
39 | String symptoms = cursor.getString(cursor.getColumnIndex(Contract.User.COLUMN_SYMPTOMS));
40 | String medications = cursor.getString(cursor.getColumnIndex(Contract.User.COLUMN_MEDICATIONS));
41 | int smoke = cursor.getInt(cursor.getColumnIndex(Contract.User.COLUMN_SMOKING));
42 | int pain = cursor.getInt(cursor.getColumnIndex(Contract.User.COLUMN_PAIN));
43 | int alcohol = cursor.getInt(cursor.getColumnIndex(Contract.User.COLUMN_ALCOHOL));
44 |
45 | long id1 = cursor.getLong(cursor.getColumnIndex(Contract.User.COLUMN_ID));
46 | if(id1>-1) {
47 | User user = new User(symptoms,pain,smoke,alcohol,medications,date);
48 | users.add(user);
49 | }
50 | }
51 |
52 | rvAdapter = new RVAdapter(this, users, new RVAdapter.ToDoClickListener() {
53 | @Override
54 | public void onToDoClick(View view, int position) {
55 |
56 | }
57 |
58 | @Override
59 | public void onToDoLongClick(View view, int position) {
60 |
61 | }
62 |
63 | @Override
64 | public void buttonClick(View view, int position) {
65 |
66 | }
67 | });
68 | rv.setAdapter(rvAdapter);
69 | rv.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/WeatherActivity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Weather;
2 |
3 | import android.os.Build;
4 | import android.support.annotation.RequiresApi;
5 | import android.support.v7.app.AppCompatActivity;
6 | import android.os.Bundle;
7 | import android.support.v7.widget.LinearLayoutManager;
8 | import android.support.v7.widget.RecyclerView;
9 | import android.view.View;
10 | import android.widget.ImageView;
11 | import android.widget.TextView;
12 |
13 | import com.hackumass.med.medapp.R;
14 |
15 | import java.util.ArrayList;
16 | import java.util.List;
17 |
18 | import retrofit2.Call;
19 | import retrofit2.Callback;
20 | import retrofit2.Response;
21 | import retrofit2.Retrofit;
22 |
23 | public class WeatherActivity extends AppCompatActivity {
24 |
25 | List hourDetailsList;
26 | WeatherAdaptor weatherAdaptor;
27 | RecyclerView hourlyRecyclerView;
28 |
29 | float latitude = 42.3732f;
30 | float longitude = 72.5199f;
31 |
32 | TextView temperature_current, range, feel, datetime,
33 | current_summary, wind, uv, visible, humidity;
34 |
35 | Retrofit retrofit = WeatherRetrofitClient.getClient();
36 | WeatherInterface weatherInterface = retrofit.create(WeatherInterface.class);
37 |
38 | @Override
39 | protected void onCreate(Bundle savedInstanceState) {
40 | super.onCreate(savedInstanceState);
41 | setContentView(R.layout.activity_weather);
42 | getSupportActionBar().setTitle("Weather");
43 |
44 | hourlyRecyclerView = findViewById(R.id.hourlyRecyclerView);
45 | current_summary = findViewById(R.id.summary);
46 |
47 | hourDetailsList =new ArrayList<>();
48 | weatherAdaptor =new
49 |
50 | WeatherAdaptor(this,hourDetailsList, new WeatherAdaptor.MoviesClickListener() {
51 | @Override
52 | public void onMovieClick (View view,int position){
53 |
54 | }
55 | });
56 | hourlyRecyclerView.setAdapter(weatherAdaptor);
57 | LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
58 | hourlyRecyclerView.setLayoutManager(linearLayoutManager);
59 |
60 | invokeCall();
61 | }
62 |
63 | public void invokeCall(){
64 |
65 | retrofit2.Call getHourly = weatherInterface.getWeatherDetails(WeatherConstants.WEATHER_API, latitude, longitude);
66 | getHourly.enqueue(new Callback() {
67 | @RequiresApi(api = Build.VERSION_CODES.O)
68 | @Override
69 | public void onResponse(Call call, Response response) {
70 | WeatherDetails weatherDetails = response.body();
71 | Hourly hourly = weatherDetails.getHourly();
72 |
73 | String su = hourly.getSummary();
74 | current_summary.setText(su);
75 | List list = hourly.getData();
76 |
77 | hourDetailsList.clear();
78 | hourDetailsList.addAll(list);
79 | weatherAdaptor.notifyDataSetChanged();
80 |
81 | }
82 |
83 | @Override
84 | public void onFailure(Call call, Throwable t) {
85 |
86 | }
87 | });
88 |
89 | }
90 |
91 |
92 | }
93 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/cardview.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
16 |
21 |
30 |
37 |
47 |
48 |
49 |
50 |
54 |
55 |
59 |
68 |
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/Currently.java:
--------------------------------------------------------------------------------
1 |
2 | package com.hackumass.med.medapp.Weather;
3 |
4 | import com.google.gson.annotations.SerializedName;
5 |
6 | //@Generated("net.hexar.json2pojo")
7 | @SuppressWarnings("unused")
8 | public class Currently {
9 |
10 | @SerializedName("apparentTemperature")
11 | private Double mApparentTemperature;
12 |
13 |
14 | @SerializedName("humidity")
15 | private Double mHumidity;
16 |
17 | @SerializedName("icon")
18 | private String mIcon;
19 |
20 | @SerializedName("ozone")
21 | private Double mOzone;
22 |
23 | @SerializedName("precipIntensity")
24 | private Double mPrecipIntensity;
25 |
26 | @SerializedName("pressure")
27 | private Double mPressure;
28 |
29 | @SerializedName("summary")
30 | private String mSummary;
31 |
32 | @SerializedName("temperature")
33 | private Double mTemperature;
34 |
35 | @SerializedName("time")
36 | private Long mTime;
37 |
38 | @SerializedName("uvIndex")
39 | private Double mUvIndex;
40 |
41 | @SerializedName("visibility")
42 | private Double mVisibility;
43 |
44 | @SerializedName("windSpeed")
45 | private Double mWindSpeed;
46 |
47 | public Double getApparentTemperature() {
48 | return mApparentTemperature;
49 | }
50 |
51 | public void setApparentTemperature(Double apparentTemperature) {
52 | mApparentTemperature = apparentTemperature;
53 | }
54 |
55 |
56 | public Double getHumidity() {
57 | return mHumidity;
58 | }
59 |
60 | public void setHumidity(Double humidity) {
61 | mHumidity = humidity;
62 | }
63 |
64 | public String getIcon() {
65 | return mIcon;
66 | }
67 |
68 | public void setIcon(String icon) {
69 | mIcon = icon;
70 | }
71 |
72 |
73 | public Double getOzone() {
74 | return mOzone;
75 | }
76 |
77 | public void setOzone(Double ozone) {
78 | mOzone = ozone;
79 | }
80 |
81 | public Double getPrecipIntensity() {
82 | return mPrecipIntensity;
83 | }
84 |
85 | public void setPrecipIntensity(Double precipIntensity) {
86 | mPrecipIntensity = precipIntensity;
87 | }
88 |
89 |
90 | public Double getPressure() {
91 | return mPressure;
92 | }
93 |
94 | public void setPressure(Double pressure) {
95 | mPressure = pressure;
96 | }
97 |
98 | public String getSummary() {
99 | return mSummary;
100 | }
101 |
102 | public void setSummary(String summary) {
103 | mSummary = summary;
104 | }
105 |
106 | public Double getTemperature() {
107 | return mTemperature;
108 | }
109 |
110 | public void setTemperature(Double temperature) {
111 | mTemperature = temperature;
112 | }
113 |
114 | public Long getTime() {
115 | return mTime;
116 | }
117 |
118 | public void setTime(Long time) {
119 | mTime = time;
120 | }
121 |
122 | public Double getUvIndex() {
123 | return mUvIndex;
124 | }
125 |
126 | public void setUvIndex(Double uvIndex) {
127 | mUvIndex = uvIndex;
128 | }
129 |
130 | public Double getVisibility() {
131 | return mVisibility;
132 | }
133 |
134 | public void setVisibility(Double visibility) {
135 | mVisibility = visibility;
136 | }
137 |
138 | public Double getWindSpeed() {
139 | return mWindSpeed;
140 | }
141 |
142 | public void setWindSpeed(Double windSpeed) {
143 | mWindSpeed = windSpeed;
144 | }
145 |
146 | }
147 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Youtube/YoutubeFragment.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Youtube;
2 |
3 | import android.app.Activity;
4 | import android.support.v4.app.Fragment;
5 | import android.net.Uri;
6 | import android.os.Bundle;
7 | import android.support.v4.app.FragmentActivity;
8 | import android.support.v4.app.FragmentTransaction;
9 | import android.util.Log;
10 | import android.view.LayoutInflater;
11 | import android.view.View;
12 | import android.view.ViewGroup;
13 | import android.widget.Toast;
14 |
15 | import com.google.android.youtube.player.YouTubeInitializationResult;
16 | import com.google.android.youtube.player.YouTubePlayer;
17 | import com.google.android.youtube.player.YouTubePlayerSupportFragment;
18 | import com.hackumass.med.medapp.R;
19 |
20 | import java.util.List;
21 |
22 | import retrofit2.Call;
23 | import retrofit2.Callback;
24 | import retrofit2.Response;
25 | import retrofit2.Retrofit;
26 |
27 | /**
28 | * Created by Aryan Singh on 10/13/2018.
29 | */
30 |
31 | public class YoutubeFragment extends Fragment {
32 | private FragmentActivity myContext;
33 |
34 | long id;
35 | private OnFragmentInteractionListener mListener;
36 |
37 | public YoutubeFragment() {
38 | // Required empty public constructor
39 | }
40 |
41 | @Override
42 | public void onAttach(Activity activity) {
43 |
44 | if (activity instanceof FragmentActivity) {
45 | myContext = (FragmentActivity) activity;
46 |
47 | }
48 |
49 | super.onAttach(activity);
50 | }
51 |
52 |
53 | public static YoutubeFragment newInstance(String param1, String param2) {
54 | YoutubeFragment fragment = new YoutubeFragment();
55 | Bundle args = new Bundle();
56 | fragment.setArguments(args);
57 | return fragment;
58 | }
59 |
60 | @Override
61 | public void onCreate(Bundle savedInstanceState) {
62 | super.onCreate(savedInstanceState);
63 |
64 |
65 | }
66 |
67 | @Override
68 | public View onCreateView(LayoutInflater inflater, ViewGroup container,
69 | Bundle savedInstanceState) {
70 | View v = inflater.inflate(R.layout.fragment_youtube, container, false);
71 | Bundle bundle = getArguments();
72 | if(bundle!=null) {
73 | id = bundle.getLong("id");
74 | }
75 |
76 |
77 | YouTubePlayerSupportFragment youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();
78 | FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
79 |
80 | transaction.add(R.id.youtube_layout, youTubePlayerFragment).commit();
81 | youTubePlayerFragment.initialize(PlayerConfig.YOUTUBE_API, new YouTubePlayer.OnInitializedListener() {
82 |
83 | @Override
84 | public void onInitializationSuccess(YouTubePlayer.Provider provider, final YouTubePlayer player, boolean wasRestored) {
85 | if (!wasRestored) {
86 | player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
87 | player.loadVideo("N2WFtXm64Rs");
88 | player.play();
89 | }
90 | }
91 |
92 |
93 | @Override
94 | public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult error) {
95 | // YouTube error
96 | String errorMessage = error.toString();
97 | Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_LONG).show();
98 | Log.d("errorMessage:", errorMessage);
99 | }
100 | });
101 |
102 |
103 |
104 | //
105 |
106 | return v;
107 | }
108 |
109 | public interface OnFragmentInteractionListener {
110 | // TODO: Update argument type and name
111 | void onFragmentInteraction(Uri uri);
112 | }
113 | }
114 |
115 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/WeatherAdaptor.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp.Weather;
2 |
3 | import android.content.Context;
4 | import android.os.Build;
5 | import android.support.annotation.NonNull;
6 | import android.support.annotation.RequiresApi;
7 | import android.support.v7.widget.RecyclerView;
8 | import android.view.LayoutInflater;
9 | import android.view.View;
10 | import android.view.ViewGroup;
11 | import android.widget.ImageView;
12 | import android.widget.TextView;
13 |
14 | import com.hackumass.med.medapp.R;
15 |
16 | import java.text.SimpleDateFormat;
17 | import java.util.Calendar;
18 | import java.util.Date;
19 | import java.util.List;
20 | import java.util.Locale;
21 |
22 | /**
23 | * Created by Aryan Singh on 7/27/2018.
24 | */
25 |
26 | public class WeatherAdaptor extends RecyclerView.Adapter{
27 |
28 | public Context context;
29 | public List list;
30 | public MoviesClickListener listener;
31 | Calendar calendar = Calendar.getInstance();
32 | //long i=11;
33 |
34 | public WeatherAdaptor(Context context, List list, MoviesClickListener listener){
35 | this.context = context;
36 | this.list = list;
37 | this.listener = listener;
38 | }
39 |
40 | @NonNull
41 | @Override
42 | public WeatherViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
43 | View itemView = LayoutInflater.from(context).inflate(R.layout.hour_row_layout,parent,false);
44 | return new WeatherViewHolder(itemView,listener);
45 | }
46 |
47 | @RequiresApi(api = Build.VERSION_CODES.O)
48 | @Override
49 | public void onBindViewHolder(@NonNull WeatherViewHolder holder, int position) {
50 | //
51 | Datum datum = list.get(position);
52 |
53 |
54 | if(datum.getTime()!=null){
55 | Calendar calendar = Calendar.getInstance();
56 | calendar.setTimeInMillis(datum.getTime());
57 |
58 | Date date = new Date(datum.getTime()*1000L);
59 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm a", Locale.getDefault());
60 | holder.time.setText(simpleDateFormat.format(date));
61 | }
62 | if(datum.getApparentTemperature()!=null){
63 | holder.temperature.setText(convertToC(datum.getApparentTemperature()) + " \u2103");
64 | }
65 | if(datum.getHumidity()!=null){
66 | Double d = datum.getHumidity()*100;
67 | int i = d.intValue();
68 | holder.humidity.setText(i + "%");
69 | }
70 | //Picasso.with(context).load(R.drawable.sun).into(holder.image);
71 | }
72 |
73 | @Override
74 | public int getItemCount() {
75 | return list.size();
76 | }
77 |
78 | public interface MoviesClickListener {
79 | void onMovieClick(View view, int position);
80 | }
81 |
82 | public static class WeatherViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
83 |
84 | TextView time,temperature,humidity;
85 | MoviesClickListener moviesClickListener;
86 |
87 | public WeatherViewHolder(View itemView, MoviesClickListener listener) {
88 | super(itemView);
89 | moviesClickListener = listener;
90 | humidity = itemView.findViewById( R.id.humidity);
91 | time = itemView.findViewById(R.id.time);
92 | temperature = itemView.findViewById(R.id.temperature);
93 | itemView.setOnClickListener(this);
94 |
95 | }
96 |
97 | @Override
98 | public void onClick(View view) {
99 | moviesClickListener.onMovieClick(view,getAdapterPosition());
100 | }
101 | }
102 |
103 | public String convertToC(double temperature){
104 | temperature = ((temperature - 32)*5)/9;
105 | String s = temperature + "";
106 | s = s.substring(0,2);
107 | return s;
108 | }
109 |
110 |
111 | }
112 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/CustomDialogueClass.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.app.Activity;
4 | import android.app.Dialog;
5 | import android.content.Context;
6 | import android.database.Cursor;
7 | import android.database.sqlite.SQLiteDatabase;
8 | import android.os.Bundle;
9 | import android.support.annotation.NonNull;
10 | import android.view.View;
11 | import android.view.Window;
12 | import android.widget.Button;
13 | import android.widget.Toast;
14 |
15 | import com.hackumass.med.medapp.Database.Contract;
16 | import com.hackumass.med.medapp.Database.MedOpenHelper;
17 | import com.hackumass.med.medapp.Database.User;
18 | import com.jjoe64.graphview.GraphView;
19 | import com.jjoe64.graphview.series.DataPoint;
20 | import com.jjoe64.graphview.series.LineGraphSeries;
21 |
22 | import java.util.ArrayList;
23 | import java.util.List;
24 |
25 | /**
26 | * Created by Aryan Singh on 10/13/2018.
27 | */
28 |
29 | public class CustomDialogueClass extends Dialog implements
30 | android.view.View.OnClickListener{
31 |
32 |
33 | public Activity c;
34 | public Dialog d;
35 | public GraphView graph;
36 |
37 | public CustomDialogueClass(Activity a) {
38 | super(a);
39 | // TODO Auto-generated constructor stub
40 | this.c = a;
41 | }
42 |
43 | @Override
44 | protected void onCreate(Bundle savedInstanceState) {
45 | super.onCreate(savedInstanceState);
46 | requestWindowFeature(Window.FEATURE_NO_TITLE);
47 | setContentView(R.layout.custom_dialogue);
48 | graph = findViewById(R.id.graph);
49 | GraphView graph = (GraphView) findViewById(R.id.graph);
50 |
51 | List users = new ArrayList<>();
52 |
53 | MedOpenHelper openHelper = MedOpenHelper.getInstance(getContext());
54 | SQLiteDatabase database = openHelper.getReadableDatabase();
55 | Cursor cursor = database.query(Contract.User.TABLE_NAME, null, null, null, null, null, null);
56 |
57 | while (cursor.moveToNext()) {
58 | String date = cursor.getString(cursor.getColumnIndex(Contract.User.COLUMN_DATE));
59 | String symptoms = cursor.getString(cursor.getColumnIndex(Contract.User.COLUMN_SYMPTOMS));
60 | String medications = cursor.getString(cursor.getColumnIndex(Contract.User.COLUMN_MEDICATIONS));
61 | int smoke = cursor.getInt(cursor.getColumnIndex(Contract.User.COLUMN_SMOKING));
62 | int pain = cursor.getInt(cursor.getColumnIndex(Contract.User.COLUMN_PAIN));
63 | int alcohol = cursor.getInt(cursor.getColumnIndex(Contract.User.COLUMN_ALCOHOL));
64 |
65 | long id1 = cursor.getLong(cursor.getColumnIndex(Contract.User.COLUMN_ID));
66 | if(id1>-1) {
67 | User user = new User(symptoms,pain,smoke,alcohol,medications,date);
68 | users.add(user);
69 | }
70 | }
71 | if(users.size() >=6){
72 | Toast.makeText(getContext(),"We have it ready for you",Toast.LENGTH_LONG).show();
73 | }
74 | else{
75 | Toast.makeText(getContext(),"Please wait for a week...",Toast.LENGTH_LONG).show();
76 | }
77 |
78 |
79 | LineGraphSeries series = new LineGraphSeries(new DataPoint[] {
80 | new DataPoint(0, 1),
81 | new DataPoint(1, 5),
82 | new DataPoint(2, 3),
83 | new DataPoint(3, 2),
84 | new DataPoint(4, 6),
85 | new DataPoint(5, 6)
86 | });
87 | graph.addSeries(series);
88 |
89 | GraphView graph1 = (GraphView) findViewById(R.id.graph1);
90 | LineGraphSeries series1 = new LineGraphSeries(new DataPoint[] {
91 | new DataPoint(0, 1),
92 | new DataPoint(1, 5),
93 | new DataPoint(2, 3),
94 | new DataPoint(3, 5),
95 | new DataPoint(4, 3),
96 | new DataPoint(5, 5),
97 | new DataPoint(6, 3)
98 | });
99 | graph1.addSeries(series1);
100 | }
101 |
102 | @Override
103 | public void onClick(View v) {
104 | switch (v.getId()) {
105 | default:
106 | break;
107 | }
108 | dismiss();
109 | }
110 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/MainActivity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.content.Intent;
4 | import android.support.annotation.NonNull;
5 | import android.support.design.widget.Snackbar;
6 | import android.support.v7.app.AppCompatActivity;
7 | import android.os.Bundle;
8 | import android.util.Log;
9 | import android.view.View;
10 | import android.widget.Button;
11 | import android.widget.EditText;
12 | import android.widget.Toast;
13 |
14 | import com.google.android.gms.tasks.OnCompleteListener;
15 | import com.google.android.gms.tasks.Task;
16 | import com.google.firebase.analytics.FirebaseAnalytics;
17 | import com.google.firebase.auth.AuthResult;
18 | import com.google.firebase.auth.FirebaseAuth;
19 | import com.google.firebase.auth.FirebaseUser;
20 |
21 | public class MainActivity extends AppCompatActivity {
22 |
23 | EditText email;
24 | EditText password;
25 |
26 | String email1;
27 | Button login,share,learn;
28 | FirebaseAuth auth;
29 | FirebaseAnalytics analytics;
30 |
31 | @Override
32 | protected void onCreate(Bundle savedInstanceState) {
33 | super.onCreate(savedInstanceState);
34 | setContentView(R.layout.activity_main);
35 |
36 | email = findViewById(R.id.email);
37 | password = findViewById(R.id.password);
38 | email1 = email.getText().toString();
39 | login = findViewById(R.id.login);
40 | share = findViewById(R.id.share);
41 | learn = findViewById(R.id.learn);
42 |
43 |
44 | auth = FirebaseAuth.getInstance();
45 | analytics = FirebaseAnalytics.getInstance(this);
46 |
47 | // FirebaseUser user = auth.getCurrentUser();
48 | // if( user != null){
49 | // afterSignin();
50 | // }
51 |
52 | share.setOnClickListener(new View.OnClickListener() {
53 | @Override
54 | public void onClick(View v) {
55 | Intent sendIntent = new Intent();
56 | sendIntent.setAction(Intent.ACTION_SEND);
57 | sendIntent.putExtra(Intent.EXTRA_TEXT,
58 | "Hey check out my app at: https://play.google.com/store/apps/details?id=com.google.android.apps.plus");
59 | sendIntent.setType("text/plain");
60 | startActivity(sendIntent);
61 | }
62 | });
63 |
64 | learn.setOnClickListener(new View.OnClickListener() {
65 | @Override
66 | public void onClick(View v) {
67 | Snackbar.make(v, "Login Please", Snackbar.LENGTH_LONG)
68 | .setAction("Action", null).show();
69 | }
70 | });
71 |
72 | login.setOnClickListener(new View.OnClickListener() {
73 | @Override
74 | public void onClick(View v) {
75 | login.setEnabled(false);
76 | String emailString = email.getEditableText().toString();
77 | String pass = password.getEditableText().toString();
78 |
79 | analytics.logEvent("signin_clicked",null);
80 |
81 | auth.signInWithEmailAndPassword(emailString,pass).addOnCompleteListener(new OnCompleteListener() {
82 | @Override
83 | public void onComplete(@NonNull Task task) {
84 | if(task.isSuccessful()){
85 | FirebaseUser user = auth.getCurrentUser();
86 | Toast.makeText(MainActivity.this,user.getEmail(),Toast.LENGTH_LONG).show();
87 | afterSignin();
88 | }else {
89 | login.setEnabled(true);
90 | Log.e("LoginActivity",task.getException().getMessage());
91 | Toast.makeText(MainActivity.this,task.getException().getMessage(),Toast.LENGTH_LONG).show();
92 | }
93 | }
94 | });
95 | }
96 | });
97 | }
98 |
99 | private void afterSignin(){
100 | Intent intent = new Intent(this,Home3Activity.class);
101 | intent.putExtra("username", email1);
102 | startActivity(intent);
103 | finish();
104 | }
105 |
106 | public void SignupAct(View view){
107 | Intent intent = new Intent(this,SignupActivity.class);
108 | startActivity(intent);
109 | finish();
110 | }
111 | }
112 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_lifestyle.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
19 |
27 |
34 |
35 |
43 |
44 |
52 |
53 |
58 |
59 |
60 |
61 |
62 |
72 |
73 |
81 |
82 |
83 |
89 |
90 |
98 |
99 |
104 |
105 |
111 |
112 |
119 |
120 |
121 |
122 |
123 |
124 |
128 |
129 |
130 |
131 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
18 |
19 |
26 |
34 |
35 |
42 |
43 |
51 |
52 |
60 |
61 |
62 |
63 |
64 |
65 |
72 |
73 |
80 |
81 |
90 |
91 |
100 |
108 |
115 |
116 |
117 |
118 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Home3Activity.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.app.AlarmManager;
4 | import android.app.PendingIntent;
5 | import android.content.Intent;
6 | import android.net.Uri;
7 | import android.support.design.widget.FloatingActionButton;
8 | import android.support.design.widget.Snackbar;
9 | import android.support.v7.app.AppCompatActivity;
10 | import android.os.Bundle;
11 | import android.support.v7.widget.Toolbar;
12 | import android.view.Menu;
13 | import android.view.MenuItem;
14 | import android.view.View;
15 | import android.widget.CompoundButton;
16 | import android.widget.LinearLayout;
17 | import android.widget.SeekBar;
18 | import android.widget.Switch;
19 | import android.widget.TextView;
20 |
21 | import com.hackumass.med.medapp.Weather.WeatherActivity;
22 | import com.jjoe64.graphview.GraphView;
23 | import com.jjoe64.graphview.series.DataPoint;
24 | import com.jjoe64.graphview.series.LineGraphSeries;
25 |
26 | import java.util.Calendar;
27 |
28 | public class Home3Activity extends AppCompatActivity {
29 |
30 | TextView name,initial;
31 | Switch notifswitch;
32 | String n = "";
33 | String email,conditions,medications;
34 | int age,sex,smoke,alcohol,pain,lifestyle;
35 |
36 | @Override
37 | protected void onCreate(Bundle savedInstanceState) {
38 | super.onCreate(savedInstanceState);
39 | setContentView(R.layout.activity_home3);
40 | Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
41 | setSupportActionBar(toolbar);
42 | getSupportActionBar().setTitle("Home");
43 |
44 | Intent i = getIntent();
45 | if(i.getBooleanExtra("from",false)){
46 | // coming from sign up
47 | email = i.getStringExtra("email");
48 | conditions = i.getStringExtra("conditions");
49 | medications = i.getStringExtra("medications");
50 | age = i.getIntExtra("age",0);
51 | sex = i.getIntExtra("sex",0);
52 | smoke = i.getIntExtra("smoke",0);
53 | alcohol = i.getIntExtra("alcohol",0);
54 | pain = i.getIntExtra("pain",0);
55 | lifestyle = i.getIntExtra("lifestyle",0);
56 | n = email;
57 |
58 | }
59 | else{//coming from sign in
60 | n = i.getStringExtra("username");
61 | }
62 |
63 | FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
64 | fab.setOnClickListener(new View.OnClickListener() {
65 | @Override
66 | public void onClick(View view) {
67 | Intent intent = new Intent(Home3Activity.this,AddActivity.class);
68 | startActivityForResult(intent,3);
69 | }
70 | });
71 |
72 | name = findViewById(R.id.name);
73 | initial = findViewById(R.id.initial);
74 | notifswitch = findViewById(R.id.notifswitch);
75 |
76 | if(n!=null) {
77 | n = n.split("@")[0];
78 | initial.setText(n.charAt(0) + "");
79 | name.setText(n);
80 | }
81 |
82 | // boolean check = notifswitch.isChecked();
83 | // if(!check){
84 | Intent intent = new Intent(Home3Activity.this, MyReceiver.class);
85 | PendingIntent pendingIntent = PendingIntent.getBroadcast(Home3Activity.this, 1, intent, 0);
86 | Calendar calendar = Calendar.getInstance();
87 | AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
88 | long time1 = calendar.getTimeInMillis();
89 | manager.set(AlarmManager.RTC_WAKEUP, time1 + 5000,pendingIntent);
90 | // }
91 | // else{
92 | //
93 | // }
94 | }
95 |
96 | @Override
97 | public boolean onCreateOptionsMenu(Menu menu) {
98 | getMenuInflater().inflate(R.menu.main_menu,menu);
99 | return super.onCreateOptionsMenu(menu);
100 | }
101 |
102 | @Override
103 | public boolean onOptionsItemSelected(MenuItem item) {
104 |
105 | if(item.getItemId() == R.id.setting){
106 | Intent intent = new Intent(this,SettingsActivity.class);
107 | intent.putExtra("username",n);
108 | startActivity(intent);
109 | }
110 |
111 | return super.onOptionsItemSelected(item);
112 | }
113 |
114 | public void painGraph(View view){
115 | CustomDialogueClass cdd=new CustomDialogueClass(this);
116 | cdd.show();
117 | }
118 | public void weather(View v){
119 | Intent intent = new Intent(Home3Activity.this, WeatherActivity.class);
120 | startActivity(intent);
121 | }
122 |
123 | public void smoking(View view){
124 | startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=_3Scx-CwALg")));
125 | }
126 | @Override
127 | protected void onActivityResult(int requestCode, int resultCode, Intent data) {
128 |
129 | if(requestCode == 3){
130 | if(resultCode == 8){
131 |
132 | }
133 | }
134 |
135 |
136 | super.onActivityResult(requestCode, resultCode, data);
137 | }
138 |
139 | public void history(View view){
140 | Intent intent = new Intent(Home3Activity.this,HistoryActivity.class);
141 | startActivity(intent);
142 | }
143 |
144 | public void summary(View view){
145 | CustomDialogClass cdd=new CustomDialogClass(this);
146 | cdd.show();
147 | }
148 |
149 | public void lifestyle(View view){
150 | Intent intent = new Intent(Home3Activity.this,LifestyleActivity.class);
151 | startActivity(intent);
152 | }
153 | }
154 |
155 |
156 |
157 |
158 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/Weather/Datum.java:
--------------------------------------------------------------------------------
1 |
2 | package com.hackumass.med.medapp.Weather;
3 |
4 | //import javax.annotation.Generated;
5 | import com.google.gson.annotations.SerializedName;
6 |
7 | //@Generated("net.hexar.json2pojo")
8 | @SuppressWarnings("unused")
9 | public class Datum {
10 |
11 | @SerializedName("apparentTemperature")
12 | private Double mApparentTemperature;
13 |
14 | @SerializedName("apparentTemperatureMax")
15 | private Double mApparentTemperatureMax;
16 |
17 | @SerializedName("apparentTemperatureMin")
18 | private Double mApparentTemperatureMin;
19 |
20 | @SerializedName("cloudCover")
21 | private Double mCloudCover;
22 |
23 | @SerializedName("dewPoint")
24 | private Double mDewPoint;
25 |
26 | @SerializedName("humidity")
27 | private Double mHumidity;
28 |
29 | @SerializedName("icon")
30 | private String mIcon;
31 |
32 | @SerializedName("precipIntensity")
33 | private Double mPrecipIntensity;
34 |
35 | @SerializedName("pressure")
36 | private Double mPressure;
37 |
38 | @SerializedName("summary")
39 | private String mSummary;
40 |
41 | @SerializedName("sunriseTime")
42 | private Long mSunriseTime;
43 |
44 | @SerializedName("sunsetTime")
45 | private Long mSunsetTime;
46 |
47 | @SerializedName("temperature")
48 | private Double mTemperature;
49 |
50 | @SerializedName("temperatureMax")
51 | private Double mTemperatureMax;
52 |
53 | @SerializedName("temperatureMin")
54 | private Double mTemperatureMin;
55 |
56 | @SerializedName("time")
57 | private Long mTime;
58 |
59 | @SerializedName("uvIndex")
60 | private Double mUvIndex;
61 |
62 | @SerializedName("visibility")
63 | private Double mVisibility;
64 |
65 | @SerializedName("windSpeed")
66 | private Double mWindSpeed;
67 |
68 | public Double getApparentTemperature() {
69 | return mApparentTemperature;
70 | }
71 |
72 | public void setApparentTemperature(Double apparentTemperature) {
73 | mApparentTemperature = apparentTemperature;
74 | }
75 |
76 |
77 |
78 | public Double getApparentTemperatureMax() {
79 | return mApparentTemperatureMax;
80 | }
81 |
82 | public void setApparentTemperatureMax(Double apparentTemperatureMax) {
83 | mApparentTemperatureMax = apparentTemperatureMax;
84 | }
85 |
86 |
87 | public Double getApparentTemperatureMin() {
88 | return mApparentTemperatureMin;
89 | }
90 |
91 | public void setApparentTemperatureMin(Double apparentTemperatureMin) {
92 | mApparentTemperatureMin = apparentTemperatureMin;
93 | }
94 |
95 |
96 |
97 | public Double getCloudCover() {
98 | return mCloudCover;
99 | }
100 |
101 | public void setCloudCover(Double cloudCover) {
102 | mCloudCover = cloudCover;
103 | }
104 |
105 | public Double getDewPoint() {
106 | return mDewPoint;
107 | }
108 |
109 | public void setDewPoint(Double dewPoint) {
110 | mDewPoint = dewPoint;
111 | }
112 |
113 | public Double getHumidity() {
114 | return mHumidity;
115 | }
116 |
117 | public void setHumidity(Double humidity) {
118 | mHumidity = humidity;
119 | }
120 |
121 | public String getIcon() {
122 | return mIcon;
123 | }
124 |
125 | public void setIcon(String icon) {
126 | mIcon = icon;
127 | }
128 |
129 | public Double getPrecipIntensity() {
130 | return mPrecipIntensity;
131 | }
132 |
133 | public void setPrecipIntensity(Double precipIntensity) {
134 | mPrecipIntensity = precipIntensity;
135 | }
136 |
137 |
138 | public Double getPressure() {
139 | return mPressure;
140 | }
141 |
142 | public void setPressure(Double pressure) {
143 | mPressure = pressure;
144 | }
145 |
146 | public String getSummary() {
147 | return mSummary;
148 | }
149 |
150 | public void setSummary(String summary) {
151 | mSummary = summary;
152 | }
153 |
154 | public Long getSunriseTime() {
155 | return mSunriseTime;
156 | }
157 |
158 | public void setSunriseTime(Long sunriseTime) {
159 | mSunriseTime = sunriseTime;
160 | }
161 |
162 | public Long getSunsetTime() {
163 | return mSunsetTime;
164 | }
165 |
166 | public void setSunsetTime(Long sunsetTime) {
167 | mSunsetTime = sunsetTime;
168 | }
169 |
170 | public Double getTemperature() {
171 | return mTemperature;
172 | }
173 |
174 | public void setTemperature(Double temperature) {
175 | mTemperature = temperature;
176 | }
177 |
178 |
179 |
180 |
181 | public Double getTemperatureMax() {
182 | return mTemperatureMax;
183 | }
184 |
185 | public void setTemperatureMax(Double temperatureMax) {
186 | mTemperatureMax = temperatureMax;
187 | }
188 |
189 |
190 | public Double getTemperatureMin() {
191 | return mTemperatureMin;
192 | }
193 |
194 | public void setTemperatureMin(Double temperatureMin) {
195 | mTemperatureMin = temperatureMin;
196 | }
197 |
198 |
199 | public Long getTime() {
200 | return mTime;
201 | }
202 |
203 | public void setTime(Long time) {
204 | mTime = time;
205 | }
206 |
207 | public Double getUvIndex() {
208 | return mUvIndex;
209 | }
210 |
211 | public void setUvIndex(Double uvIndex) {
212 | mUvIndex = uvIndex;
213 | }
214 |
215 | public Double getVisibility() {
216 | return mVisibility;
217 | }
218 |
219 | public void setVisibility(Double visibility) {
220 | mVisibility = visibility;
221 | }
222 |
223 |
224 | public Double getWindSpeed() {
225 | return mWindSpeed;
226 | }
227 |
228 | public void setWindSpeed(Double windSpeed) {
229 | mWindSpeed = windSpeed;
230 | }
231 |
232 | }
233 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hackumass/med/medapp/RVAdapter.java:
--------------------------------------------------------------------------------
1 | package com.hackumass.med.medapp;
2 |
3 | import android.content.Context;
4 | import android.support.annotation.NonNull;
5 | import android.support.v7.widget.RecyclerView;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.CheckBox;
10 | import android.widget.Filter;
11 | import android.widget.Filterable;
12 | import android.widget.ImageButton;
13 | import android.widget.ImageView;
14 | import android.widget.LinearLayout;
15 | import android.widget.TextView;
16 |
17 | import com.hackumass.med.medapp.Database.User;
18 | import com.hackumass.med.medapp.R;
19 |
20 | import java.util.ArrayList;
21 | import java.util.List;
22 |
23 | public class RVAdapter extends RecyclerView.Adapter implements Filterable {
24 |
25 | public Context context;
26 | public List toDos;
27 | public List searches;
28 | public ToDoClickListener listener;
29 | public static final String TITLE_KEY = "title";
30 | public static final String ID_KEY = "id";
31 | public static final String DESCRIPTION_KEY = "description";
32 | public static final String DATE_KEY = "date";
33 | public static final String TIME_KEY = "time";
34 | public static final String LOCATION_KEY = "location";
35 |
36 | public RVAdapter(Context context, List toDos, ToDoClickListener listener){
37 | this.context = context;
38 | this.toDos = toDos;
39 | this.listener = listener;
40 | }
41 |
42 | @NonNull
43 | @Override
44 | public ToDoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
45 | View itemView = LayoutInflater.from(context).inflate(R.layout.cardview,parent,false);
46 | return new ToDoViewHolder(itemView,listener);
47 | }
48 |
49 | @Override
50 | public void onBindViewHolder(@NonNull ToDoViewHolder holder, final int position) {
51 | User user = toDos.get(position);
52 |
53 | holder.day_medications.setText(user.medications);
54 | holder.day_symptoms.setText(user.symptoms);
55 | holder.date.setText(user.date);
56 | int pain = user.pain;
57 |
58 | if(pain == 0){
59 | holder.emoji.setImageResource(R.drawable.superhappy);
60 | }
61 | else if(pain == 1){
62 | holder.emoji.setImageResource(R.drawable.happy);
63 | }
64 | else if(pain == 2){
65 | holder.emoji.setImageResource(R.drawable.moderate);
66 | }
67 | else if(pain == 3){
68 | holder.emoji.setImageResource(R.drawable.kindasad);
69 | }
70 | else if(pain == 4){
71 | holder.emoji.setImageResource(R.drawable.sad);
72 | }
73 |
74 | }
75 |
76 | public void removeItem(int position){
77 | toDos.remove(position);
78 | notifyItemRemoved(position);
79 |
80 | }
81 | public void restoreItem(User toDo, int position){
82 | toDos.add(position,toDo);
83 | notifyItemInserted(position);
84 | }
85 |
86 | @Override
87 | public int getItemCount() {
88 | return toDos.size();
89 | }
90 |
91 | @Override
92 | public Filter getFilter() {
93 | return new Filter() {
94 | @Override
95 | protected FilterResults performFiltering(CharSequence charSequence) {
96 | String query = charSequence.toString();
97 |
98 | List filtered = new ArrayList<>();
99 |
100 | if (query.isEmpty()) {
101 | filtered = searches;
102 | } else {
103 | for (User movie : searches) {
104 | // if (movie.title.toLowerCase().contains(query.toLowerCase())) {
105 | // filtered.add(movie);
106 | // }
107 | }
108 | }
109 |
110 | FilterResults results = new FilterResults();
111 | results.count = filtered.size();
112 | results.values = filtered;
113 | return results;
114 | }
115 |
116 | @Override
117 | protected void publishResults(CharSequence charSequence, FilterResults results) {
118 | searches = (List) results.values;
119 | notifyDataSetChanged();
120 | }
121 | };
122 | }
123 |
124 | public interface ToDoClickListener {
125 | void onToDoClick(View view, int position);
126 | void onToDoLongClick(View view,int position);
127 | void buttonClick(View view,int position);
128 | }
129 |
130 | public static class ToDoViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener,View.OnLongClickListener{
131 |
132 | TextView day_medications;
133 | TextView day_symptoms;
134 | TextView date;
135 | ImageView emoji;
136 | CheckBox itemCheckbox;
137 | TextView descriptionTextView;
138 | ToDoClickListener toDoClickListener;
139 | LinearLayout viewForeground;
140 |
141 | public ToDoViewHolder(View itemView, ToDoClickListener listener) {
142 | super(itemView);
143 | toDoClickListener = listener;
144 |
145 | day_medications = itemView.findViewById(R.id.day_medications);
146 | day_symptoms = itemView.findViewById(R.id.day_symptoms);
147 | date = itemView.findViewById(R.id.date);
148 | emoji = itemView.findViewById(R.id.emoji);
149 | itemView.setOnClickListener(this);
150 |
151 | }
152 |
153 | @Override
154 | public void onClick(View view) {
155 | toDoClickListener.onToDoClick(view,getAdapterPosition());
156 | }
157 |
158 | @Override
159 | public boolean onLongClick(View v) {
160 | toDoClickListener.onToDoLongClick(v,getAdapterPosition());
161 | return true;
162 | }
163 | }
164 |
165 |
166 |
167 | }
168 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_weather.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
19 |
20 |
29 |
34 |
35 |
40 |
41 |
46 |
54 |
55 |
56 |
57 |
58 |
67 |
68 |
73 |
74 |
79 |
88 |
89 |
98 |
107 |
108 |
109 |
110 |
115 |
116 |
117 |
118 |
119 |
126 |
137 |
138 |
139 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
15 |
20 |
25 |
30 |
35 |
40 |
45 |
50 |
55 |
60 |
65 |
70 |
75 |
80 |
85 |
90 |
95 |
100 |
105 |
110 |
115 |
120 |
125 |
130 |
135 |
140 |
145 |
150 |
155 |
160 |
165 |
170 |
171 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
21 |
22 |
34 |
35 |
47 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
70 |
76 |
81 |
82 |
90 |
91 |
92 |
98 |
102 |
109 |
115 |
116 |
122 |
126 |
134 |
135 |
141 |
145 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_add.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
13 |
14 |
15 |
21 |
22 |
28 |
29 |
30 |
31 |
37 |
38 |
45 |
53 |
54 |
55 |
56 |
57 |
65 |
66 |
74 |
75 |
81 |
82 |
92 |
93 |
99 |
100 |
104 |
105 |
111 |
112 |
113 |
114 |
115 |
121 |
122 |
132 |
133 |
139 |
140 |
144 |
145 |
151 |
152 |
153 |
154 |
155 |
156 |
163 |
164 |
172 |
173 |
180 |
181 |
187 |
188 |
189 |
197 |
198 |
199 |
200 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_home3.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
16 |
20 |
33 |
34 |
45 |
46 |
47 |
48 |
54 |
60 |
65 |
66 |
74 |
75 |
76 |
83 |
88 |
96 |
97 |
104 |
109 |
117 |
118 |
119 |
120 |
126 |
132 |
137 |
138 |
146 |
147 |
148 |
149 |
156 |
161 |
169 |
170 |
171 |
178 |
183 |
191 |
192 |
193 |
194 |
195 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | MedApp
3 | HomeActivity
4 |
5 | Open navigation drawer
6 | Close navigation drawer
7 |
8 | Settings
9 | Map
10 |
11 | Home3Activity
12 |
13 |
14 | - Klonopin
15 | - Caffeine
16 | - Curcumin
17 | - Ibuprofen
18 | - Midodrine
19 | - Propranolol
20 | - Adderall
21 | - Modafinil
22 | - Neurontin
23 | - Valdoxan
24 | - Prozac
25 | - Coffee
26 | - Lamictal
27 | - Cymbalta
28 | - Sertraline
29 | - Oxycodone
30 | - Tylenol
31 | - Hydroxychloroquine
32 | - Folic acid
33 | - Omeprazole
34 | - Humira
35 | - Florinef
36 | - Magnesium
37 | - Calcium
38 | - Tramadol
39 | - Imuran
40 | - Norco
41 | - Vitamin d
42 | - Synthroid
43 | - Ranitidine
44 | - Venlafaxine
45 | - Ondansetron
46 | - Amitriptyline
47 | - Gabapentin
48 | - CoQ10
49 | - Prednisone
50 | - Lexapro
51 | - Duloxetine
52 | - Seroquel
53 | - Probiotic
54 | - Metoprolol
55 | - Prilosec
56 | - Vitamin b12
57 | - Vitamin D3
58 | - Fish oil
59 | - Baclofen
60 | - Effexor
61 | - Levothyroxine
62 | - Wellbutrin
63 | - Ligament Restore
64 | - Lyrica
65 | - Clonazepam
66 | - Codeine
67 | - Lamotrigine
68 | - Naproxen
69 | - Allopurinol
70 | - Azathioprine
71 | - Spironolactone
72 | - Aspirin
73 | - gluten free diet
74 | - Keppra
75 | - Metformin
76 | - Budesonide
77 | - Panadol
78 | - Aleve
79 | - Ativan
80 | - Vyvanse
81 | - Albuterol
82 | - Iron
83 | - Coenzyme q-10
84 | - Zoloft
85 | - Fluoxetine
86 | - Marijuana
87 | - Savella
88 | - Nap
89 | - Diazepam
90 | - Water
91 | - Plaquenil
92 | - Xanax
93 | - Benadryl
94 | - Vitamins
95 | - Stretching
96 | - Vicodin
97 | - massage
98 | - Flexeril
99 | - Topamax
100 | - Multivitamin
101 | - Cleaning
102 | - Citalopram
103 | - Acetaminophen
104 | - Vitamin C
105 | - Armodafinil
106 | - excedrin migraine
107 | - Swimming
108 | - Compression Stockings
109 | - Salt tablets
110 | - Alprazolam
111 | - Escitalopram
112 | - Melatonin
113 | - Pentasa
114 | - CBD
115 | - Fludrocortisone
116 | - Hydrocortisone
117 | - Turmeric
118 | - Medication
119 | - Prednisolone
120 | - Meloxicam
121 | - Cyclobenzaprine
122 | - Topiramate
123 | - Morphine
124 | - salofalk
125 | - Walking
126 | - Sulfasalazine
127 | - Progesterone
128 | - Ritalin
129 | - Wore arch supports all day
130 | - cocodamol
131 | - Bupropion
132 | - Ginger
133 | - Sumatriptan
134 | - Naltrexone
135 | - heating pads
136 | - Liothyronine
137 | - Pregabalin
138 | - Paracetamol
139 | - Flonase
140 | - Probiotics
141 | - Pristiq
142 | - Zyrtec
143 | - Zantac
144 | - Triiodothyronine
145 | - THC
146 | - Zanaflex
147 | - Vitamin b complex
148 | - Nycopro Probiotic
149 | - Miralax
150 | - birth control
151 | - N-acetyl cysteine
152 | - Nystatin
153 | - Aromatherapy
154 | - physical therapy
155 | - Essential oils
156 | - Zinc
157 | - Exercise--walking
158 | - Therapy
159 | - Methylphenidate
160 | - Inderal
161 | - Low-FODMAP diet
162 | - colofac mr
163 | - Hemorrhoid Cream
164 | - Imodium
165 | - Biking
166 | - Mirtazapine
167 | - Contraceptive pill
168 | - Ventolin
169 | - Promethazine
170 | - Cellcept
171 | - Singulair
172 | - Tizanidine
173 | - Lansoprazole
174 | - Nortriptyline
175 | - Hydroxyzine
176 | - Fexofenadine
177 | - Dicyclomine
178 | - Methotrexate
179 | - Lithium
180 | - Buscopan
181 | - Cyclizine
182 | - Vitamin a
183 | - digestive enzyme
184 | - Cannabis
185 | - Diclofenac
186 | - Buspirone
187 | - Glutamine
188 | - Advil
189 | - Celebrex
190 | - Hydrocodone
191 | - omega-3
192 | - Multi-vitamin
193 | - Loratadine
194 | - Tums
195 | - Nabilone
196 | - Concerta
197 | - L-methylfolate
198 | - Echinacea preparation
199 | - Medical Marijuana
200 | - Effexor XR
201 | - Tramacet
202 | - Tumeric
203 | - Desloratadine
204 | - LDN
205 | - Methocarbamol
206 | - Ferrous fumarate
207 | - trazadone
208 | - Pain Medicine
209 | - heat pack
210 | - Imovane
211 | - Paracetamol with codeine
212 | - Mindfulness meditation
213 | - Iron Supplement
214 | - Colace
215 | - Dexilant
216 | - Gatorade
217 | - mesalamine enema
218 | - arcoxia
219 | - small frequent meals
220 | - Wake up slowly
221 | - rescue remedy night
222 | - Day Nurse
223 | - Evening Formula
224 | - Morning Formula
225 | - Sulfurzyme
226 | - Omegagize
227 | - Morphine bomb
228 | - HCL
229 | - Estradiol
230 | - neurostimulator implant
231 | - SAD Light Box
232 | - N-Acelcysteine
233 | - itires
234 | - Ocella
235 | - Modulen
236 | - Cabergoline
237 | - moxa
238 | - lax
239 | - mid day lax
240 | - capryl
241 | - bifido maximus
242 |
243 |
244 | - Ulcerative colitis
245 | - Crohn\'s disease
246 | - Generalized anxiety disorder
247 | - Depression
248 | - Endometriosis
249 | - Migraine
250 | - Ehlers-Danlos syndrome
251 | - Chronic Migraines
252 | - Fibromyalgia
253 | - Irritable bowel syndrome
254 | - Lyme disease
255 | - POTS
256 | - Back pain
257 | - Rheumatoid arthritis
258 | - Hypothyroidism
259 | - Insomnia
260 | - Allergies
261 | - Chronic fatigue syndrome
262 | - Headaches
263 | - Idiopathic hypersomnia
264 | - Anxiety
265 | - joint pain
266 | - Fatigue
267 | - Arthritis
268 | - IBS
269 | - Asthma
270 | - Dysautonomia
271 | - GERD
272 | - Lupus
273 | - Postural Orthostatic Tachycardia Syndrome
274 | - Chronic Pain
275 |
276 |
277 | - week
278 | - day
279 |
280 |
281 | - Nausea
282 | - Anxiety
283 | - Fatigue
284 | - Depression
285 | - Stomach cramps
286 | - Diarrhea
287 | - Stomach Pain
288 | - Dizziness
289 | - Migraine
290 | - Abdominal pain
291 | - Constipation
292 | - Headache
293 | - Neck pain
294 | - Weakness
295 | - Fatigue and tiredness
296 | - Back pain
297 | - Insomnia
298 | - Muscle pain
299 | - Shoulder pain
300 | - Bloating
301 | - Dull
302 | - Sore throat
303 | - Shortness of breath
304 | - Chest pain
305 | - Irritability
306 | - Brain fog
307 | - Knee pain
308 | - Wrist pain
309 | - Hip pain
310 | - Joint pain
311 | - Vomiting
312 | - Chronic pain
313 | - Hand pain
314 | - Foot pain
315 | - Difficulty concentrating
316 | - Lower Back Pain
317 | - Leg pain
318 |
319 |
320 |
321 | Good Sleep\n
322 | Nutrition\n
323 | Excercise\n
324 |
325 |
326 |
327 | Caffeine\n
328 | Bad weather\n
329 | Sore throat\n
330 |
331 |
332 |
333 | Caffeine\n
334 | Bad weather\n
335 | Sore throat\n
336 |
337 | Main2Activity
338 |
339 |
340 |
--------------------------------------------------------------------------------