diff --git a/.idea/modules.xml b/.idea/modules.xml index abc31fc679bb491e423c03e7bd677ff03ed00d98..223896e347e46d8dfc55407a6dddd77831a8af77 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,8 +2,9 @@ <project version="4"> <component name="ProjectModuleManager"> <modules> - <module fileurl="file://$PROJECT_DIR$/android.iml" filepath="$PROJECT_DIR$/android.iml" /> + <module fileurl="file://F:\informatika\pbd\fitness\android.iml" filepath="F:\informatika\pbd\fitness\android.iml" /> <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> + <module fileurl="file://$PROJECT_DIR$/fitness.iml" filepath="$PROJECT_DIR$/fitness.iml" /> </modules> </component> </project> \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 9597d516cc8b7ab7a9c5a771b05657f60bdd936d..d335be3ca746f8c7e54b5bb72825e8cf56372efa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,6 +40,7 @@ dependencies { compile 'com.android.support:design:26.1.0' compile 'com.firebaseui:firebase-ui:0.6.0' + compile 'com.firebase:firebase-client-android:2.5.2' } apply plugin: 'com.google.gms.google-services' diff --git a/app/google-services.json b/app/google-services.json index b82dd4404638156cd5daec4df7d9dde44ddf37f2..a4f5db10ca55956e7eb83c3fc17b6af1d441f4f0 100644 --- a/app/google-services.json +++ b/app/google-services.json @@ -1,109 +1,21 @@ { "project_info": { - "project_number": "145946844862", - "firebase_url": "https://chatroom-ca444.firebaseio.com", - "project_id": "chatroom-ca444", - "storage_bucket": "chatroom-ca444.appspot.com" + "project_number": "47436114658", + "firebase_url": "https://chatroom-9f21a.firebaseio.com", + "project_id": "chatroom-9f21a", + "storage_bucket": "chatroom-9f21a.appspot.com" }, "client": [ { "client_info": { - "mobilesdk_app_id": "1:145946844862:android:d6ce396209c6cfd3", - "android_client_info": { - "package_name": "com.example.heil.chatroom" - } - }, - "oauth_client": [ - { - "client_id": "145946844862-k70e5blk1gvu645eb455umqnnfb9kp0o.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.example.heil.chatroom", - "certificate_hash": "115e06ed0d4d6219898c05cef50eb935401113dc" - } - }, - { - "client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyBlESSrC8NqbRvIHRn4DSCfps5TctNLGjE" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 2, - "other_platform_oauth_client": [ - { - "client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com", - "client_type": 3 - } - ] - }, - "ads_service": { - "status": 2 - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:145946844862:android:5626d847803be314", - "android_client_info": { - "package_name": "com.example.heil.bismillah" - } - }, - "oauth_client": [ - { - "client_id": "145946844862-n22r33mdmtvpi5230r9druv5qvn425g4.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.example.heil.bismillah", - "certificate_hash": "115e06ed0d4d6219898c05cef50eb935401113dc" - } - }, - { - "client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyBlESSrC8NqbRvIHRn4DSCfps5TctNLGjE" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 2, - "other_platform_oauth_client": [ - { - "client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com", - "client_type": 3 - } - ] - }, - "ads_service": { - "status": 2 - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:145946844862:android:35ec7a00c3481d94", + "mobilesdk_app_id": "1:47436114658:android:35ec7a00c3481d94", "android_client_info": { "package_name": "com.example.leo.fitnessdiy" } }, "oauth_client": [ { - "client_id": "145946844862-oshjav6a4mq4760hnt0m1940gkhdnrri.apps.googleusercontent.com", + "client_id": "47436114658-rqa1vg0ujgrigjr06v5bq9mh602b4d8v.apps.googleusercontent.com", "client_type": 1, "android_info": { "package_name": "com.example.leo.fitnessdiy", @@ -111,13 +23,13 @@ } }, { - "client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com", + "client_id": "47436114658-nbvl0jljj7m3ghkf2j3uf8nutqft1k17.apps.googleusercontent.com", "client_type": 3 } ], "api_key": [ { - "current_key": "AIzaSyBlESSrC8NqbRvIHRn4DSCfps5TctNLGjE" + "current_key": "AIzaSyByNyWfdtliAQrLe1-yytroe_S_JIvhS00" } ], "services": { @@ -128,7 +40,7 @@ "status": 2, "other_platform_oauth_client": [ { - "client_id": "145946844862-jbf75ke4cnv8t0a7dgriq7tr2dos6n60.apps.googleusercontent.com", + "client_id": "47436114658-nbvl0jljj7m3ghkf2j3uf8nutqft1k17.apps.googleusercontent.com", "client_type": 3 } ] diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0e576b99e30248188704eb8e685f8813a8ca7a2a..bfabb151d20282e3b0fb0c9c9e7fbfc02b2cecc0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,6 +9,9 @@ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> + <uses-feature + android:name="android.hardware.sensor.proximity" + android:required="true" /> <!-- The ACCESS_COARSE/FINE_LOCATION permissions are not required to use Google Maps Android API v2, but you must specify either coarse or fine @@ -57,7 +60,8 @@ <activity android:name=".JoggingActivity" android:label="@string/title_activity_jogging" /> - <activity android:name=".SettingActivity"></activity> + <activity android:name=".SettingActivity" /> + <activity android:name=".SensorActivity"></activity> </application> </manifest> \ No newline at end of file diff --git a/app/src/main/java/com/example/leo/fitnessdiy/Adapter/RecyclerViewAdapter.java b/app/src/main/java/com/example/leo/fitnessdiy/Adapter/RecyclerViewAdapter.java index d6eaf16c7a2703c7bd0af5c7bcbd550093e55a21..12f9cbf92af641f656d7c6cb025b4a7826d3a664 100644 --- a/app/src/main/java/com/example/leo/fitnessdiy/Adapter/RecyclerViewAdapter.java +++ b/app/src/main/java/com/example/leo/fitnessdiy/Adapter/RecyclerViewAdapter.java @@ -8,7 +8,6 @@ import android.view.ViewGroup; import android.widget.TextView; import com.example.leo.fitnessdiy.R; -import com.example.leo.fitnessdiy.model.History; import java.util.List; @@ -16,54 +15,54 @@ import java.util.List; * Created by Leo on 16/02/2018. */ -public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.HistoryViewHolder> { - private List<History> histories; +//public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.HistoryViewHolder> { +// private List<History> histories; +// +// public RecyclerViewAdapter(List<History> h) { +// this.histories = h; +// } +// @Override +// public HistoryViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { +// View view = LayoutInflater.from(parent.getContext()) +// .inflate(R.layout.card, parent, false); +// +// HistoryViewHolder hvh = new HistoryViewHolder(view); +// +// return hvh; +// } +// +// @Override +// public void onBindViewHolder(HistoryViewHolder holder, int position) { +// holder.sportName.setText(histories.get(position).getSport_name()); +// holder.sportDate.setText(histories.get(position).getSport_date()); +// holder.sportStart.setText(histories.get(position).getSport_start()); +// holder.sportEnd.setText(histories.get(position).getSport_end()); +// } +// +// @Override +// public int getItemCount() { +// return histories.size(); +// } +// +// @Override +// public void onAttachedToRecyclerView(RecyclerView recyclerView) { +// super.onAttachedToRecyclerView(recyclerView); +// } +// +// public static class HistoryViewHolder extends RecyclerView.ViewHolder { +// TextView sportName; +// TextView sportDate; +// TextView sportStart; +// TextView sportEnd; +// +// public HistoryViewHolder(View itemView) { +// super(itemView); +// +// sportName = (TextView) itemView.findViewById(R.id.sport_name); +// sportDate = (TextView) itemView.findViewById(R.id.sport_date); +// sportStart = (TextView) itemView.findViewById(R.id.sport_start); +// sportEnd = (TextView) itemView.findViewById(R.id.sport_end); +// } +// } - public RecyclerViewAdapter(List<History> h) { - this.histories = h; - } - @Override - public HistoryViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View view = LayoutInflater.from(parent.getContext()) - .inflate(R.layout.card, parent, false); - - HistoryViewHolder hvh = new HistoryViewHolder(view); - - return hvh; - } - - @Override - public void onBindViewHolder(HistoryViewHolder holder, int position) { - holder.sportName.setText(histories.get(position).getSport_name()); - holder.sportDate.setText(histories.get(position).getSport_date()); - holder.sportStart.setText(histories.get(position).getSport_start()); - holder.sportEnd.setText(histories.get(position).getSport_end()); - } - - @Override - public int getItemCount() { - return histories.size(); - } - - @Override - public void onAttachedToRecyclerView(RecyclerView recyclerView) { - super.onAttachedToRecyclerView(recyclerView); - } - - public static class HistoryViewHolder extends RecyclerView.ViewHolder { - TextView sportName; - TextView sportDate; - TextView sportStart; - TextView sportEnd; - - public HistoryViewHolder(View itemView) { - super(itemView); - - sportName = (TextView) itemView.findViewById(R.id.sport_name); - sportDate = (TextView) itemView.findViewById(R.id.sport_date); - sportStart = (TextView) itemView.findViewById(R.id.sport_start); - sportEnd = (TextView) itemView.findViewById(R.id.sport_end); - } - } - -} +//} diff --git a/app/src/main/java/com/example/leo/fitnessdiy/ChatActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/ChatActivity.java index 58ec25dfed95ea1f6185b45f1edc2161f738c1b1..605cfd55adf79478f13d55aacc858ae2e3d28aab 100644 --- a/app/src/main/java/com/example/leo/fitnessdiy/ChatActivity.java +++ b/app/src/main/java/com/example/leo/fitnessdiy/ChatActivity.java @@ -2,6 +2,7 @@ package com.example.leo.fitnessdiy; import android.content.Intent; import android.content.SharedPreferences; +import android.os.AsyncTask; import android.support.annotation.NonNull; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; @@ -15,6 +16,7 @@ import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; +import com.firebase.client.authentication.Constants; import com.firebase.ui.auth.AuthUI; import com.firebase.ui.database.FirebaseListAdapter; import com.google.android.gms.tasks.OnCompleteListener; @@ -22,13 +24,22 @@ import com.google.android.gms.tasks.Task; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.database.FirebaseDatabase; +import org.json.JSONObject; + import java.util.Date; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + /** * Created by Heil on 2/18/2018. */ public class ChatActivity extends AppCompatActivity { + private static String LEGACY_SERVER_KEY = "AIzaSyAe9-zGwsfRuRw_rA9fp6NmY2v_En5Yv0M"; private static final int SIGN_IN_REQUEST_CODE = 1; private FirebaseListAdapter<ChatMessage> adapter; diff --git a/app/src/main/java/com/example/leo/fitnessdiy/ChatMessage.java b/app/src/main/java/com/example/leo/fitnessdiy/ChatMessage.java index 5225c8bf6a44f88efe75e04b543dcd9697389e77..ea5d16322e57ecacd374b955a03219bce8ae190c 100644 --- a/app/src/main/java/com/example/leo/fitnessdiy/ChatMessage.java +++ b/app/src/main/java/com/example/leo/fitnessdiy/ChatMessage.java @@ -14,11 +14,13 @@ import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; +import com.firebase.client.Firebase; import com.firebase.ui.auth.AuthUI; import com.firebase.ui.database.FirebaseListAdapter; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.FirebaseDatabase; import java.util.Date; diff --git a/app/src/main/java/com/example/leo/fitnessdiy/HIstoryActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/HIstoryActivity.java index 4c314cf31a331b5929b115ab6a96a98e6988783a..cfb5b6f7d83cf448cc602c0a2953eba59595d4d3 100644 --- a/app/src/main/java/com/example/leo/fitnessdiy/HIstoryActivity.java +++ b/app/src/main/java/com/example/leo/fitnessdiy/HIstoryActivity.java @@ -10,10 +10,11 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.widget.TextView; -import com.example.leo.fitnessdiy.Adapter.RecyclerViewAdapter; import com.example.leo.fitnessdiy.Utilities.NetworkUtils; import com.example.leo.fitnessdiy.model.History; import com.example.leo.fitnessdiy.model.Jogging; +import com.example.leo.fitnessdiy.model.PushUp; +import com.example.leo.fitnessdiy.model.SitUp; import com.example.leo.fitnessdiy.routes.api; @@ -22,6 +23,7 @@ import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; +import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -30,49 +32,46 @@ import java.util.List; public class HIstoryActivity extends AppCompatActivity { public static final String TAG = HIstoryActivity.class.getSimpleName(); private RecyclerView mRecyclerView; - private List<History> histories; + private List<Jogging> joggingHistory; + private List<PushUp> pushupHistory; + private List<SitUp> situpHistory; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_history); - if (android.os.Build.VERSION.SDK_INT > 9) { - StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); - StrictMode.setThreadPolicy(policy); - } - - String fetchResults = null; - try { - -// fetchResults = "[{\"id\":\"1\",\"id_user\":\"1\",\"sport_name\":\"jogging\",\"sport_date\":\"2018-02-14\",\"sport_time_start\":\"09:00:00\",\"sport_time_end\":\"11:00:00\",\"created_at\":null,\"updated_at\":null},{\"id\":\"2\",\"id_user\":\"1\",\"sport_name\":\"jogging\",\"sport_date\":\"2018-02-15\",\"sport_time_start\":\"09:00:00\",\"sport_time_end\":\"11:00:00\",\"created_at\":null,\"updated_at\":null},{\"id\":\"3\",\"id_user\":\"1\",\"sport_name\":\"plank\",\"sport_date\":\"2018-02-16\",\"sport_time_start\":\"09:00:00\",\"sport_time_end\":\"09:45:00\",\"created_at\":null,\"updated_at\":null},{\"id\":\"4\",\"id_user\":\"1\",\"sport_name\":\"push-up\",\"sport_date\":\"2018-02-16\",\"sport_time_start\":\"10:00:00\",\"sport_time_end\":\"10:30:00\",\"created_at\":null,\"updated_at\":null}]"; - fetchResults = NetworkUtils.getResponseFromHttpUrl(new URL(api.HISTORY_URL + "1")); - initializeData(fetchResults); - } catch (IOException e) { - e.printStackTrace(); - } - - mRecyclerView = (RecyclerView) findViewById(R.id.rv_history); - - LinearLayoutManager layoutManager = new LinearLayoutManager(this); - - mRecyclerView.setLayoutManager(layoutManager); - mRecyclerView.setHasFixedSize(true); - RecyclerViewAdapter rv = new RecyclerViewAdapter(histories); - mRecyclerView.setAdapter(rv); +// mRecyclerView = (RecyclerView) findViewById(R.id.rv_history); +// +// LinearLayoutManager layoutManager = new LinearLayoutManager(this); +// +// mRecyclerView.setLayoutManager(layoutManager); +// mRecyclerView.setHasFixedSize(true); +// RecyclerViewAdapter rv = new RecyclerViewAdapter(histories); +// mRecyclerView.setAdapter(rv); } - public void initializeData(String data) { - this.histories = new ArrayList<>(); + public void getJoggingData() { try { - JSONArray parser = new JSONArray(data); - for (int i = 0; i < parser.length(); i++) { - JSONObject json = parser.getJSONObject(i); - histories.add(new History(json.getString("sport_name"), - json.getString("sport_date"), - json.getString("sport_time_start"), - json.getString("sport_time_end"))); + String response = NetworkUtils.getResponseFromHttpUrl( + new URL(api.JOGGING_HISTORY_URL + "1") + ); + JSONArray jsonArray = new JSONArray(response); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + joggingHistory.add(new Jogging( + jsonObject.getString("jogging_date"), + jsonObject.getString("jogging_time_start"), + jsonObject.getString("jogging_time_end"), + (float) jsonObject.getDouble("jogging_distance"), + jsonObject.getString("starting_point"), + jsonObject.getString("end_point") + )); } + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/example/leo/fitnessdiy/HomeActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/HomeActivity.java index 2c237eeda8b856f37755f74e1d20d8cabb0969fe..f5cd9b9bc9850476e86d44e48be3f7923c51add3 100644 --- a/app/src/main/java/com/example/leo/fitnessdiy/HomeActivity.java +++ b/app/src/main/java/com/example/leo/fitnessdiy/HomeActivity.java @@ -2,6 +2,10 @@ package com.example.leo.fitnessdiy; import android.content.Intent; import android.content.SharedPreferences; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; import android.net.Uri; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; @@ -14,6 +18,7 @@ import android.view.View; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; +import android.widget.Toast; public class HomeActivity extends AppCompatActivity implements ExerciseFragment.OnFragmentInteractionListener, @@ -22,6 +27,12 @@ public class HomeActivity extends AppCompatActivity private FloatingActionButton chatButton; + // Sensor variable declaration + private SensorManager sensorManager; + private Sensor proximitySensor; + private SensorEventListener proximitySensorListener; + + private final String LOG_TAG = "BACKGROUND"; @Override public void onFragmentInteraction(Uri uri) { @@ -56,6 +67,30 @@ public class HomeActivity extends AppCompatActivity mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE); int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme); getWindow().getDecorView().setBackground(getResources().getDrawable(background)); + + // Proximity Sensor + sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); + proximitySensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); + + if (proximitySensor == null) { + Toast.makeText(this, "Proximity sensor is not available !", Toast.LENGTH_LONG).show(); + finish(); + } + + proximitySensorListener = new SensorEventListener() { + @Override + public void onSensorChanged(SensorEvent sensorEvent) { + if (sensorEvent.values[0] < proximitySensor.getMaximumRange()) { + Intent i = new Intent(getApplicationContext(), ChatActivity.class); + startActivity(i); + } + } + + @Override + public void onAccuracyChanged(Sensor sensor, int i) { + } + }; + } public void openHistory(View view) { @@ -96,5 +131,18 @@ public class HomeActivity extends AppCompatActivity startActivity(i); } + @Override + protected void onResume() { + super.onResume(); + sensorManager.registerListener(proximitySensorListener, proximitySensor, + 2 * 1000 * 1000); + } + + @Override + protected void onPause() { + super.onPause(); + sensorManager.unregisterListener(proximitySensorListener); + } + } diff --git a/app/src/main/java/com/example/leo/fitnessdiy/JoggingActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/JoggingActivity.java index 03507928c368003c89ed48d24be52627ffcb1ad1..5ade481ec5d14cce8d75864d6d587049733b6880 100644 --- a/app/src/main/java/com/example/leo/fitnessdiy/JoggingActivity.java +++ b/app/src/main/java/com/example/leo/fitnessdiy/JoggingActivity.java @@ -59,6 +59,7 @@ import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; +import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.text.SimpleDateFormat; @@ -111,10 +112,7 @@ public class JoggingActivity extends FragmentActivity implements OnMapReadyCallb @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (android.os.Build.VERSION.SDK_INT > 9) { - StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); - StrictMode.setThreadPolicy(policy); - } + // save instance state if (savedInstanceState != null) { mLastKnownLocation = savedInstanceState.getParcelable(KEY_LOCATION); @@ -454,7 +452,7 @@ public class JoggingActivity extends FragmentActivity implements OnMapReadyCallb } public void stopJogging(View view) { - infoJoggingEnd.setText("\n" + getCurrentLocation()); + infoJoggingEnd.setText(getCurrentLocation()); mButton.setText("START"); mButton.setOnClickListener(new View.OnClickListener() { @Override @@ -477,32 +475,31 @@ public class JoggingActivity extends FragmentActivity implements OnMapReadyCallb ); // TODO : id_user sesuai id user yang login int id_user = 1; + String url = api.newJoggingHistory( + id_user, + jogging.getDate(), + jogging.getStart(), + jogging.getEnd(), + jogging.getDistance(), + jogging.getStartingPoint(), + jogging.getEndPoint() + ); + Log.d(TAG, url); try { - String url = api.newJoggingHistory( - id_user, - jogging.getDate(), - jogging.getStart(), - jogging.getEnd(), - jogging.getDistance(), - jogging.getStartingPoint(), - jogging.getEndPoint() - ); - Log.d(TAG, url); String response = NetworkUtils.getResponseFromHttpUrl( new URL(url) ); - JSONObject jsonObject = new JSONObject(response); - if (jsonObject.getString("error") == null) { - Log.d(TAG, "Inserting new record successful"); - } else { - Log.e(TAG, jsonObject.getString("error")); - } + Log.d(TAG, response); +// JSONObject jsonObject = new JSONObject(response); +// if (jsonObject.getString("error") == null) { +// Log.d(TAG, "Inserting new record successful"); +// } else { +// Log.e(TAG, jsonObject.getString("error")); +// } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); - } catch (JSONException e) { - e.printStackTrace(); } } diff --git a/app/src/main/java/com/example/leo/fitnessdiy/PlankActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/PlankActivity.java index ee601a947d021a256ae62214f85108794e146e05..96b5ae0399db087115758eccbd496ce4f5da8166 100644 --- a/app/src/main/java/com/example/leo/fitnessdiy/PlankActivity.java +++ b/app/src/main/java/com/example/leo/fitnessdiy/PlankActivity.java @@ -11,7 +11,6 @@ import android.view.View; import android.widget.TextView; import com.example.leo.fitnessdiy.Utilities.NetworkUtils; -import com.example.leo.fitnessdiy.model.History; import com.example.leo.fitnessdiy.model.Users; import com.example.leo.fitnessdiy.routes.api; diff --git a/app/src/main/java/com/example/leo/fitnessdiy/SensorActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/SensorActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..d2d6b23ddeb00321d7185f394d6f4c37fced8803 --- /dev/null +++ b/app/src/main/java/com/example/leo/fitnessdiy/SensorActivity.java @@ -0,0 +1,58 @@ +package com.example.leo.fitnessdiy; + +import android.content.Intent; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.widget.Toast; + +public class SensorActivity extends AppCompatActivity { + + private SensorManager sensorManager; + private Sensor proximitySensor; + private SensorEventListener proximitySensorListener; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); + proximitySensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); + + if (proximitySensor == null) { + Toast.makeText(this, "Proximity sensor is not available !", Toast.LENGTH_LONG).show(); + finish(); + } + + proximitySensorListener = new SensorEventListener() { + @Override + public void onSensorChanged(SensorEvent sensorEvent) { + if (sensorEvent.values[0] < proximitySensor.getMaximumRange()) { + Intent i = new Intent(getApplicationContext(), ChatActivity.class); + startActivity(i); + } + } + + @Override + public void onAccuracyChanged(Sensor sensor, int i) { + } + }; + + } + + @Override + protected void onResume() { + super.onResume(); + sensorManager.registerListener(proximitySensorListener, proximitySensor, + 2 * 1000 * 1000); + } + + @Override + protected void onPause() { + super.onPause(); + sensorManager.unregisterListener(proximitySensorListener); + } +} diff --git a/app/src/main/java/com/example/leo/fitnessdiy/model/Plank.java b/app/src/main/java/com/example/leo/fitnessdiy/model/Plank.java new file mode 100644 index 0000000000000000000000000000000000000000..0e5ca6d49a648967e49745c8d453b692107c5a37 --- /dev/null +++ b/app/src/main/java/com/example/leo/fitnessdiy/model/Plank.java @@ -0,0 +1,51 @@ +package com.example.leo.fitnessdiy.model; + +/** + * Created by Leo on 22/02/2018. + */ + +public class Plank { + private String date; + private String start; + private String end; + private int duration; + + public Plank(String date, String start, String end, int duration) { + this.date = date; + this.start = start; + this.end = end; + this.duration = duration; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + public String getEnd() { + return end; + } + + public void setEnd(String end) { + this.end = end; + } + + public int getDuration() { + return duration; + } + + public void setDuration(int duration) { + this.duration = duration; + } +} diff --git a/app/src/main/java/com/example/leo/fitnessdiy/model/PushUp.java b/app/src/main/java/com/example/leo/fitnessdiy/model/PushUp.java new file mode 100644 index 0000000000000000000000000000000000000000..4475511cc74037588f1aba534ef7aec3fedf41ab --- /dev/null +++ b/app/src/main/java/com/example/leo/fitnessdiy/model/PushUp.java @@ -0,0 +1,51 @@ +package com.example.leo.fitnessdiy.model; + +/** + * Created by Leo on 22/02/2018. + */ + +public class PushUp { + private String date; + private String start; + private String end; + private String frequency; + + public PushUp(String date, String start, String end, String frequency) { + this.date = date; + this.start = start; + this.end = end; + this.frequency = frequency; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + public String getEnd() { + return end; + } + + public void setEnd(String end) { + this.end = end; + } + + public String getFrequency() { + return frequency; + } + + public void setFrequency(String frequency) { + this.frequency = frequency; + } +} diff --git a/app/src/main/java/com/example/leo/fitnessdiy/model/SitUp.java b/app/src/main/java/com/example/leo/fitnessdiy/model/SitUp.java new file mode 100644 index 0000000000000000000000000000000000000000..8974abb425794b40fb88936d5de013b994afa979 --- /dev/null +++ b/app/src/main/java/com/example/leo/fitnessdiy/model/SitUp.java @@ -0,0 +1,62 @@ +package com.example.leo.fitnessdiy.model; + +import com.example.leo.fitnessdiy.Utilities.NetworkUtils; +import com.example.leo.fitnessdiy.routes.api; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +/** + * Created by Leo on 22/02/2018. + */ + +public class SitUp { + private String date; + private String start; + private String end; + private String frequency; + + public SitUp(String date, String start, String end, String frequency) { + this.date = date; + this.start = start; + this.end = end; + this.frequency = frequency; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + public String getEnd() { + return end; + } + + public void setEnd(String end) { + this.end = end; + } + + public String getFrequency() { + return frequency; + } + + public void setFrequency(String frequency) { + this.frequency = frequency; + } +} diff --git a/app/src/main/java/com/example/leo/fitnessdiy/routes/api.java b/app/src/main/java/com/example/leo/fitnessdiy/routes/api.java index 3a8cd6acd997e402f742b87564b7809d1b2d1b7e..8da80def697ef55d74a180e72dbaa2b6a0a6e828 100644 --- a/app/src/main/java/com/example/leo/fitnessdiy/routes/api.java +++ b/app/src/main/java/com/example/leo/fitnessdiy/routes/api.java @@ -20,4 +20,10 @@ public class api { "&date="+date+"&start="+start+"&end="+end+"&distance="+distance+"&spoint="+ sPoint+"&epoint=" + ePoint; } + + public static final String JOGGING_HISTORY_URL = BASE_URL + "jogging_history.php?user="; + + public static final String PUSHUP_HISTORY_URL = BASE_URL + "pushup_history.php?user="; + + public static final String SITUP_HISTORY_URL = BASE_URL + "situp_history.php?user="; } diff --git a/app/src/main/res/layout/activity_history.xml b/app/src/main/res/layout/activity_history.xml index b982d3c6ef1f2bdae574d6de7f81da931d124b5d..609d7034a5828ab3f77867703ecab31ce9e849a9 100644 --- a/app/src/main/res/layout/activity_history.xml +++ b/app/src/main/res/layout/activity_history.xml @@ -6,8 +6,14 @@ android:layout_height="match_parent" xmlns:card_view="http://schemas.android.com/tools" tools:context="com.example.leo.fitnessdiy.HIstoryActivity" + android:padding="16dp" android:orientation="vertical"> + <android.support.v7.widget.CardView + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + </android.support.v7.widget.CardView> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" diff --git a/app/src/main/res/layout/activity_sensor.xml b/app/src/main/res/layout/activity_sensor.xml new file mode 100644 index 0000000000000000000000000000000000000000..f4ff271e9d1b2f10e1628e1f6abbb8c2ee73e25f --- /dev/null +++ b/app/src/main/res/layout/activity_sensor.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context="com.example.leo.fitnessdiy.SensorActivity"> + +</android.support.constraint.ConstraintLayout>