diff --git a/.idea/modules.xml b/.idea/modules.xml
index 92af58643bfa89c0f27e1531c072e9833294e9f8..223896e347e46d8dfc55407a6dddd77831a8af77 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -5,7 +5,6 @@
       <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" />
-      <module fileurl="file://D:\tugas\sem6\pbd\tubes\android\fitness.iml" filepath="D:\tugas\sem6\pbd\tubes\android\fitness.iml" />
     </modules>
   </component>
 </project>
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 1c45e7ed4898d16fa4e7d43fdfc7be5cdec2db45..9597d516cc8b7ab7a9c5a771b05657f60bdd936d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,6 +5,7 @@ android {
     defaultConfig {
         applicationId "com.example.leo.fitnessdiy"
         minSdkVersion 16
+        multiDexEnabled true
         targetSdkVersion 26
         versionCode 1
         versionName "1.0"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a80048d0990c25943358428bc103339ee5def98a..0e576b99e30248188704eb8e685f8813a8ca7a2a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -21,9 +21,9 @@
         android:hardwareAccelerated="false"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
+        android:largeHeap="true"
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
-        android:largeHeap="true"
         android:theme="@style/AppTheme">
         <activity android:name=".MainActivity">
             <intent-filter>
@@ -37,6 +37,9 @@
         <activity android:name=".HIstoryActivity" />
         <activity android:name=".HomeActivity" />
         <activity android:name=".PlankActivity" />
+        <activity android:name=".PushupActivity" />
+        <activity android:name=".SitupActivity" />
+        <activity android:name=".ChatActivity" />
         <activity android:name=".LevelActivity" />
         <activity android:name=".ExerciseActivity" />
         <!--
@@ -53,7 +56,8 @@
 
         <activity
             android:name=".JoggingActivity"
-            android:label="@string/title_activity_jogging"></activity>
+            android:label="@string/title_activity_jogging" />
+        <activity android:name=".SettingActivity"></activity>
     </application>
 
 </manifest>
\ No newline at end of file
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 9e44e286aea62659e46839c29b8d4bdf6ba79903..58ec25dfed95ea1f6185b45f1edc2161f738c1b1 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/ChatActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/ChatActivity.java
@@ -1,6 +1,7 @@
 package com.example.leo.fitnessdiy;
 
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.support.annotation.NonNull;
 import android.support.design.widget.FloatingActionButton;
 import android.support.v7.app.AppCompatActivity;
@@ -37,6 +38,14 @@ public class ChatActivity extends AppCompatActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_chat);
 
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+
+        int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        getWindow().getDecorView().setBackground(getResources().getDrawable(background));
+
         if(FirebaseAuth.getInstance().getCurrentUser() == null) {
             // Start sign in/sign up activity
             startActivityForResult(
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/ExerciseFragment.java b/app/src/main/java/com/example/leo/fitnessdiy/ExerciseFragment.java
index ec8becc82eb7128d60c7efcd4f1786aa34cc03aa..658cd6bc9f5b8945080058ab5cfe53d8b2e24a34 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/ExerciseFragment.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/ExerciseFragment.java
@@ -67,6 +67,25 @@ public class ExerciseFragment extends Fragment {
                              Bundle savedInstanceState) {
         // Inflate the layout for this fragment
         View view = inflater.inflate(R.layout.fragment_exercise, container, false);
+
+        Button pushupButton = (Button)view.findViewById(R.id.pushup_button);
+        pushupButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent i = new Intent(getActivity(), PushupActivity.class);
+                startActivity(i);
+            }
+        });
+        
+        Button situpButton = (Button)view.findViewById(R.id.situp_button);
+        situpButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent i = new Intent(getActivity(), SitupActivity.class);
+                startActivity(i);
+            }
+        });
+        
         Button plankButton = (Button)view.findViewById(R.id.plank_button);
         plankButton.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -75,6 +94,24 @@ public class ExerciseFragment extends Fragment {
                 startActivity(i);
             }
         });
+
+        Button joggingButton = (Button)view.findViewById(R.id.jogging_button);
+        joggingButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent i = new Intent(getActivity(), JoggingActivity.class);
+                startActivity(i);
+            }
+        });
+
+        Button levelButton = (Button)view.findViewById(R.id.level_button);
+        levelButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent i = new Intent(getActivity(), LevelActivity.class);
+                startActivity(i);
+            }
+        });
         return view;
     }
 
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 2985ca7ecd7409eb4d3cfde5c353a0dac6541fe9..b778c486b30f99817233549c5e686ba627dcb1d5 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/HIstoryActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/HIstoryActivity.java
@@ -1,6 +1,8 @@
 package com.example.leo.fitnessdiy;
 
 
+import android.os.AsyncTask;
+import android.os.StrictMode;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 
@@ -33,12 +35,17 @@ public class HIstoryActivity extends AppCompatActivity {
     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 = NetworkUtils.getResponseFromHttpUrl(new URL(api.HISTORY_URL + "1"));
+
 //            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();
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 7c9d1fb657584d7ae0fad4bf3f36643eba07c719..2c237eeda8b856f37755f74e1d20d8cabb0969fe 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/HomeActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/HomeActivity.java
@@ -1,10 +1,15 @@
 package com.example.leo.fitnessdiy;
 
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.net.Uri;
 import android.support.design.widget.FloatingActionButton;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
+import android.support.v7.widget.Toolbar;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
 import android.view.View;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
@@ -16,11 +21,26 @@ public class HomeActivity extends AppCompatActivity
                    BlankFragment.OnFragmentInteractionListener{
 
     private FloatingActionButton chatButton;
+
+    private final String LOG_TAG = "BACKGROUND";
     @Override
     public void onFragmentInteraction(Uri uri) {
 
     }
 
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.setting_menu, menu);
+        return true;
+    }
+
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if(item.getItemId() == R.id.menu_setting_background) {
+            Intent i = new Intent(this, SettingActivity.class);
+            startActivity(i);
+        }
+        return true;
+    }
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -28,6 +48,14 @@ public class HomeActivity extends AppCompatActivity
         setContentView(R.layout.activity_home);
         chatButton = findViewById(R.id.chat_button);
         chatButton.setImageResource(R.drawable.chat_icon);
+
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+        int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        getWindow().getDecorView().setBackground(getResources().getDrawable(background));
     }
 
     public void openHistory(View view) {
@@ -39,12 +67,6 @@ public class HomeActivity extends AppCompatActivity
 
     public void changeFragment(View view){
         Fragment fragment;
-//        fragment = getSupportFragmentManager().findFragmentById(R.id.home_fragment);
-//        FragmentManager manager = getSupportFragmentManager();
-//        if (fragment != null) {
-//            getSupportFragmentManager().beginTransaction().remove(fragment).commit();
-//            manager.popBackStack();
-//        }
 
         if(view == findViewById(R.id.history_button)){
             fragment = new HistoryFragment();
@@ -70,6 +92,9 @@ public class HomeActivity extends AppCompatActivity
         startActivity(i);
     }
     public void goToChat(View view) {
-
+        Intent i = new Intent(getApplicationContext(), ChatActivity.class);
+        startActivity(i);
     }
+
+
 }
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/InstanceIdService.java b/app/src/main/java/com/example/leo/fitnessdiy/InstanceIdService.java
new file mode 100644
index 0000000000000000000000000000000000000000..341e69ebfed9fe3bf5d32db44782fea3b36b69a9
--- /dev/null
+++ b/app/src/main/java/com/example/leo/fitnessdiy/InstanceIdService.java
@@ -0,0 +1,20 @@
+package com.example.leo.fitnessdiy;
+
+import android.util.Log;
+
+import com.google.firebase.iid.FirebaseInstanceId;
+import com.google.firebase.iid.FirebaseInstanceIdService;
+
+/**
+ * Created by Heil on 2/19/2018.
+ */
+
+public class InstanceIdService extends FirebaseInstanceIdService {
+
+    private static final String REG_TOKEN = "REG_TOKEN";
+    @Override
+    public void onTokenRefresh() {
+        String recent_token = FirebaseInstanceId.getInstance().getToken();
+        Log.d(REG_TOKEN, recent_token);
+    }
+}
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/LevelActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/LevelActivity.java
index 9de3ed63dc72ce67eca495ce01689fe6c6e691fe..eba5dcfcfacd61e068b8a79e8214493a7542fc66 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/LevelActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/LevelActivity.java
@@ -1,5 +1,6 @@
 package com.example.leo.fitnessdiy;
 
+import android.content.SharedPreferences;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.view.View;
@@ -11,6 +12,14 @@ public class LevelActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_level);
+
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+
+        int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        getWindow().getDecorView().setBackground(getResources().getDrawable(background));
     }
 
     public void selectLevel(View view) {
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/LoginActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/LoginActivity.java
index 46e789799f24967dbbebb7529e7b5d537dfeded9..e123133c7430954bf395f88cfaf4e6234e4cff37 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/LoginActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/LoginActivity.java
@@ -1,6 +1,7 @@
 package com.example.leo.fitnessdiy;
 
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.view.View;
@@ -11,6 +12,21 @@ public class LoginActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_login);
+
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+        int background = R.drawable.green_theme;
+        try{
+            background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        } catch(ClassCastException e){
+            SharedPreferences.Editor preferencesEditor = mPreferences.edit();
+            preferencesEditor.putInt(BACKGROUND_KEY, background);
+            preferencesEditor.apply();
+        } finally {
+            getWindow().getDecorView().setBackground(getResources().getDrawable(background));
+        }
     }
 
     public void doLogin(View view) {
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/MainActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/MainActivity.java
index 0a6ff84455540294a909d8e033f0778d521996b3..27f46564927b39c9575005a2bf874800380e02b6 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/MainActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/MainActivity.java
@@ -1,12 +1,15 @@
 package com.example.leo.fitnessdiy;
 
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.Menu;
 import android.view.View;
 import android.view.Window;
 import android.view.WindowManager;
+import android.widget.Toolbar;
 
 public class MainActivity extends AppCompatActivity {
 
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/MessagingService.java b/app/src/main/java/com/example/leo/fitnessdiy/MessagingService.java
new file mode 100644
index 0000000000000000000000000000000000000000..2df23e214e6cc79ccc8e63684f1482b13674995f
--- /dev/null
+++ b/app/src/main/java/com/example/leo/fitnessdiy/MessagingService.java
@@ -0,0 +1,32 @@
+package com.example.leo.fitnessdiy;
+
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.support.v4.app.NotificationCompat;
+
+import com.google.firebase.messaging.FirebaseMessagingService;
+import com.google.firebase.messaging.RemoteMessage;
+
+/**
+ * Created by Heil on 2/19/2018.
+ */
+
+public class MessagingService extends FirebaseMessagingService{
+    @Override
+    public void onMessageReceived(RemoteMessage remoteMessage) {
+        Intent intent = new Intent(this,MainActivity.class);
+        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+        PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_ONE_SHOT);
+        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
+        notificationBuilder.setContentTitle("First Notification");
+        notificationBuilder.setContentText(remoteMessage.getNotification().getBody());
+        notificationBuilder.setAutoCancel(true);
+        notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
+        notificationBuilder.setContentIntent(pendingIntent);
+        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+        notificationManager.notify(0,notificationBuilder.build());
+
+    }
+}
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 c6fdfb270d99e562b2c5b5779b339eb9fd847d74..d60e8696b3ae6d63e42555d0cb49e7d8b8392636 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/PlankActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/PlankActivity.java
@@ -1,19 +1,44 @@
 package com.example.leo.fitnessdiy;
 
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.net.Uri;
 import android.os.CountDownTimer;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
+import android.util.Log;
 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;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+
 public class PlankActivity extends AppCompatActivity {
+    private String LOG_TAG = "TES PLANK ACTIVITY";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_plank);
+//        printUser(1);
+
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+
+        int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        getWindow().getDecorView().setBackground(getResources().getDrawable(background));
     }
 
     public String milisecondToMinutes(long l){
@@ -41,6 +66,40 @@ public class PlankActivity extends AppCompatActivity {
         }.start();
     }
 
+    public Users initializeData(String data) {
+        Users user = new Users();
+        try {
+            JSONArray parser = new JSONArray(data);
+            JSONObject json = parser.getJSONObject(0);
+
+            int id = json.getInt("id");
+            String username = json.getString("username");
+            String password = json.getString("password");
+            String email = json.getString("email");
+            String phone_number = json.getString("phone_number");
+            int age = json.getInt("age");
+            String address = json.getString("address");
+            String level = json.getString("level");
+            user = new Users(id, username, password, email, phone_number, age, address, level);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        return user;
+    }
+
+    public void printUser(int user_id){
+        try {
+            URL url = new URL("http://ekiwae21.000webhostapp.com/fitness-server/users.php?user=1");
+            String fetchResults = NetworkUtils.getResponseFromHttpUrl(url);
+            Users user = initializeData(fetchResults);
+
+            Log.d(LOG_TAG, Integer.toString(user.getId()));
+            Log.d(LOG_TAG, user.getLevel());
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     public void openVideo(View view) {
         String url = (String)view.getTag();
 
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/PushupActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/PushupActivity.java
index b33a874a0c79768f0afed942ea010be3a3188dfa..c2bdd3de4656e72b9a2e949c536db9ff3b72caef 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/PushupActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/PushupActivity.java
@@ -1,10 +1,12 @@
 package com.example.leo.fitnessdiy;
 
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.net.Uri;
 import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.view.View;
+import android.widget.TextView;
 
 /**
  * Created by Heil on 2/19/2018.
@@ -16,6 +18,14 @@ public class PushupActivity extends AppCompatActivity{
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_pushup);
+
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+
+        int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        getWindow().getDecorView().setBackground(getResources().getDrawable(background));
     }
 
     public void openVideo(View view) {
@@ -28,4 +38,10 @@ public class PushupActivity extends AppCompatActivity{
         intent.setData(Uri.parse(url));
         startActivity(intent);
     }
+
+
+    public void taskComplete(View view) {
+        TextView tv = (TextView)findViewById(R.id.pushUpTask);
+        tv.setText("Berhasil");
+    }
 }
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/RegistrationActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/RegistrationActivity.java
index 2ce95950aecc3640c6ad436df01f139935524503..4737a7fad4ffcb2a96701daf85d1757ffc5bdde8 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/RegistrationActivity.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/RegistrationActivity.java
@@ -1,5 +1,6 @@
 package com.example.leo.fitnessdiy;
 
+import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.view.View;
@@ -15,6 +16,14 @@ public class RegistrationActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.registration);
+
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+
+        int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        getWindow().getDecorView().setBackground(getResources().getDrawable(background));
     }
 
 }
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/SettingActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/SettingActivity.java
new file mode 100644
index 0000000000000000000000000000000000000000..ab6d2afa3ccf46d84f7e037023a153a510fc2463
--- /dev/null
+++ b/app/src/main/java/com/example/leo/fitnessdiy/SettingActivity.java
@@ -0,0 +1,53 @@
+package com.example.leo.fitnessdiy;
+
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+
+public class SettingActivity extends AppCompatActivity {
+    private String LOG_TAG = "BACKGROUND";
+    private String sharedPrefFile = "com.example.leo.fitnessdiy";
+    private final String BACKGROUND_KEY = "background";
+    private SharedPreferences mPreferences;
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_setting);
+
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+
+        int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        getWindow().getDecorView().setBackground(getResources().getDrawable(background));
+    }
+
+    public void changeBackgroundColor(View view) {
+        int background = 0;
+        if(view.getId() == R.id.green_theme){
+            background = R.drawable.green_theme;
+        }
+        if(view.getId() == R.id.red_theme){
+            background = R.drawable.red_theme;
+        }
+        if(view.getId() == R.id.beach_theme){
+            background = R.drawable.beach_theme;
+        }
+        if(view.getId() == R.id.natural_theme){
+            background = R.drawable.natural_theme;
+        }
+
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+        SharedPreferences.Editor preferencesEditor = mPreferences.edit();
+        preferencesEditor.putInt(BACKGROUND_KEY, background);
+        preferencesEditor.apply();
+
+        Intent i = new Intent(this, HomeActivity.class);
+        startActivity(i);
+
+    }
+}
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/SitupActivity.java b/app/src/main/java/com/example/leo/fitnessdiy/SitupActivity.java
new file mode 100644
index 0000000000000000000000000000000000000000..0e49742d968efb1ba59afe8583d723af8b0c596a
--- /dev/null
+++ b/app/src/main/java/com/example/leo/fitnessdiy/SitupActivity.java
@@ -0,0 +1,46 @@
+package com.example.leo.fitnessdiy;
+
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.view.View;
+import android.widget.TextView;
+
+/**
+ * Created by Heil on 2/19/2018.
+ */
+
+public class SitupActivity extends AppCompatActivity{
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_situp);
+
+        SharedPreferences mPreferences;
+        String sharedPrefFile = "com.example.leo.fitnessdiy";
+        final String BACKGROUND_KEY = "background";
+        mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
+
+        int background = mPreferences.getInt(BACKGROUND_KEY, R.drawable.green_theme);
+        getWindow().getDecorView().setBackground(getResources().getDrawable(background));
+    }
+
+    public void openVideo(View view) {
+        String url = (String)view.getTag();
+
+        Intent intent = new Intent();
+        intent.setAction(Intent.ACTION_VIEW);
+        intent.addCategory(Intent.CATEGORY_BROWSABLE);
+
+        intent.setData(Uri.parse(url));
+        startActivity(intent);
+    }
+
+    public void taskComplete(View view) {
+        TextView tv = (TextView)findViewById(R.id.sitUpTask);
+        tv.setText("Berhasil");
+    }
+}
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/Utilities/NetworkUtils.java b/app/src/main/java/com/example/leo/fitnessdiy/Utilities/NetworkUtils.java
index f7e3dc59886928d63cb4529aee6620b7717b64ef..282008151143987b3a6603c59d615ccde89244ee 100644
--- a/app/src/main/java/com/example/leo/fitnessdiy/Utilities/NetworkUtils.java
+++ b/app/src/main/java/com/example/leo/fitnessdiy/Utilities/NetworkUtils.java
@@ -1,7 +1,9 @@
 package com.example.leo.fitnessdiy.Utilities;
 
 import android.net.Uri;
+import android.os.AsyncTask;
 
+import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
diff --git a/app/src/main/java/com/example/leo/fitnessdiy/model/Users.java b/app/src/main/java/com/example/leo/fitnessdiy/model/Users.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf9443e14aa6f448e56e5b1592361fc683a91918
--- /dev/null
+++ b/app/src/main/java/com/example/leo/fitnessdiy/model/Users.java
@@ -0,0 +1,66 @@
+package com.example.leo.fitnessdiy.model;
+
+public class Users {
+    private int id;
+    private String username;
+    private String password;
+    private String email;
+    private String phone_number;
+    private int age;
+    private String address;
+    private String level;
+
+    public Users(int id, String username, String password, String email, String phone_number, int age, String address, String level) {
+        this.id = id;
+        this.username = username;
+        this.password = password;
+        this.email = email;
+        this.phone_number = phone_number;
+        this.age = age;
+        this.address = address;
+        this.level = level;
+    }
+
+    public Users() {
+        this.id = 0;
+        this.username = "";
+        this.password = "";
+        this.email = "";
+        this.phone_number = "";
+        this.age = 0;
+        this.address = "";
+        this.level = "";
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public String getPhone_number() {
+        return phone_number;
+    }
+
+    public int getAge() {
+        return age;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public String getLevel() {
+        return level;
+    }
+}
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 666572e23393dd79d1bd8d9dd4e845a1108a5573..bc376334330225122010e16b0a1a798bf35279ed 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
@@ -5,7 +5,11 @@ package com.example.leo.fitnessdiy.routes;
  */
 
 public class api {
-    public static final String BASE_URL = "http://10.5.26.200/fitness-server/";
+    public static final String BASE_URL = "http://ekiwae21.000webhostapp.com/fitness-server/";
+    // kalo emulator 10.0.2.2 atau 10.0.0.2
+    // atau ipconfig, cek ipv4
 
     public static final String HISTORY_URL = BASE_URL + "history.php?user=";
+
+    public static final String USERS_URL = BASE_URL + "users.php?user=";
 }
diff --git a/app/src/main/res/drawable/beach_theme.jpg b/app/src/main/res/drawable/beach_theme.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7b4586d70f5d75db3362908b402af84ea726fdb0
Binary files /dev/null and b/app/src/main/res/drawable/beach_theme.jpg differ
diff --git a/app/src/main/res/drawable/green_theme.jpg b/app/src/main/res/drawable/green_theme.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..144395057257ec107acb64c04d98e7e01ded722d
Binary files /dev/null and b/app/src/main/res/drawable/green_theme.jpg differ
diff --git a/app/src/main/res/drawable/natural_theme.jpg b/app/src/main/res/drawable/natural_theme.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..8d86c9bdf8f684830d1cf990e9e4e1aa52704fea
Binary files /dev/null and b/app/src/main/res/drawable/natural_theme.jpg differ
diff --git a/app/src/main/res/drawable/pushup_video1.png b/app/src/main/res/drawable/pushup_video_1.png
similarity index 100%
rename from app/src/main/res/drawable/pushup_video1.png
rename to app/src/main/res/drawable/pushup_video_1.png
diff --git a/app/src/main/res/drawable/pushup_video2.png b/app/src/main/res/drawable/pushup_video_2.png
similarity index 100%
rename from app/src/main/res/drawable/pushup_video2.png
rename to app/src/main/res/drawable/pushup_video_2.png
diff --git a/app/src/main/res/drawable/red_theme.jpg b/app/src/main/res/drawable/red_theme.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a5d00481a7e7b1d1d3be59d13052ba081c8cca99
Binary files /dev/null and b/app/src/main/res/drawable/red_theme.jpg differ
diff --git a/app/src/main/res/drawable/situp_video_1.png b/app/src/main/res/drawable/situp_video_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..09dd0f57d2ee8808b76de822bd7ebebd5145e2df
Binary files /dev/null and b/app/src/main/res/drawable/situp_video_1.png differ
diff --git a/app/src/main/res/drawable/situp_video_2.png b/app/src/main/res/drawable/situp_video_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..63075dafe854147faa9e46291dd9f30eabd916d2
Binary files /dev/null and b/app/src/main/res/drawable/situp_video_2.png differ
diff --git a/app/src/main/res/layout/activity_exercise.xml b/app/src/main/res/layout/activity_exercise.xml
index d8569bcb0b57c1e9af591fdacd85f0cc00079a17..47890d168a1fe76f0c2e282ffdc81f062d9a9430 100644
--- a/app/src/main/res/layout/activity_exercise.xml
+++ b/app/src/main/res/layout/activity_exercise.xml
@@ -9,6 +9,20 @@
     <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="Plank"/>
+        android:text="Push Up"
+        android:id="@+id/gotoPushUp"/>
+
+    <Button
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="Sit Up"
+        android:id="@+id/gotoSitUp"/>
+
+
+    <Button
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="Plank"
+        android:id="@+id/gotoPlank"/>
 
 </LinearLayout>
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index cb97e984eb4945d7f0d54dff861b54cc68a97f04..dec7caff1f99854debe9f087e008d133870eb213 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -11,38 +11,37 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal">
+
         <Button
             android:id="@+id/history_button"
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
+            android:layout_weight="1"
             android:layout_height="wrap_content"
             android:onClick="openHistory"
-            android:text="@string/history"/>
+            android:text="@string/history" />
+
         <Button
             android:id="@+id/exercise_button"
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
+            android:layout_weight="1"
             android:layout_height="wrap_content"
-            android:text="@string/exercise"
-            android:onClick="changeFragment"/>
-        <Button
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="Jogging"
-            android:onClick="openJogging"/>
+            android:onClick="changeFragment"
+            android:text="@string/exercise" />
     </LinearLayout>
 
     <fragment
         android:id="@+id/home_fragment"
         android:name="com.example.leo.fitnessdiy.BlankFragment"
         android:layout_width="match_parent"
-        android:layout_height="471dp" />
+        android:layout_height="471dp"
+        />
 
     <android.support.design.widget.FloatingActionButton
         android:id="@+id/chat_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="right"
-        android:onClick="goToChat"/>
-
+        android:onClick="goToChat" />
 
 
 </LinearLayout>
diff --git a/app/src/main/res/layout/activity_level.xml b/app/src/main/res/layout/activity_level.xml
index e71cff343a60008a1223f74935208fdfb25934ef..b64142d143920c8ba898b12352c880ac0aa375eb 100644
--- a/app/src/main/res/layout/activity_level.xml
+++ b/app/src/main/res/layout/activity_level.xml
@@ -11,9 +11,8 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="Select Your Level"
-        android:layout_marginBottom="150dp"
-        android:textSize="40sp"
-        android:layout_gravity="center"/>
+        android:layout_marginBottom="80dp"
+        android:textSize="40sp" />
 
     <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/activity_plank.xml b/app/src/main/res/layout/activity_plank.xml
index b4941ba5686e7365bc8a362dfdf3050d674059fe..84d255c47a2266e6c2b86eee567378df6b779e3e 100644
--- a/app/src/main/res/layout/activity_plank.xml
+++ b/app/src/main/res/layout/activity_plank.xml
@@ -1,84 +1,93 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView 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"
-    android:orientation="vertical"
     tools:context="com.example.leo.fitnessdiy.PlankActivity">
 
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="100dp"
-        android:text="@string/plank" />
-    <Button
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginBottom="30dp"
-        android:onClick="countDownPlank"
-        android:text="start" />
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
-    <TextView
-        android:id="@+id/count_timer"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:textSize="32sp"
-        android:text="2 : 00" />
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="50dp"
+            android:text="@string/plank"
+            android:textSize="32sp" />
 
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="30dp"
-        android:text="@string/plank_video" />
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginBottom="30dp"
+            android:onClick="countDownPlank"
+            android:text="start" />
 
+        <TextView
+            android:id="@+id/count_timer"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:text="2 : 00"
+            android:textSize="32sp" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="30dp"
+            android:text="@string/plank_video"
+            android:textSize="30sp"/>
 
 
-    <!--<ScrollView-->
-        <!--android:layout_width="wrap_content"-->
-        <!--android:layout_height="wrap_content">-->
         <LinearLayout
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:tag="https://www.youtube.com/watch?v=TvxNkmjdhMM"
+            android:layout_margin="4dp"
             android:clickable="true"
             android:focusable="true"
             android:onClick="openVideo"
-            android:layout_margin="4dp"
-            >
+            android:orientation="vertical"
+            android:tag="https://www.youtube.com/watch?v=TvxNkmjdhMM">
+
             <ImageView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@drawable/plank_video_1"/>
+                android:layout_gravity="left"
+                android:src="@drawable/plank_video_1" />
+
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="How to Plank"/>
+                android:text="How to Plank"
+                android:textSize="20sp" />
         </LinearLayout>
 
         <LinearLayout
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:tag="https://www.youtube.com/watch?v=_nZgpZLf7ZA"
+            android:layout_margin="4dp"
             android:clickable="true"
             android:focusable="true"
             android:onClick="openVideo"
-            android:layout_margin="4dp">
+            android:orientation="vertical"
+            android:tag="https://www.youtube.com/watch?v=_nZgpZLf7ZA">
+
             <ImageView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@drawable/plank_video_2"/>
+                android:layout_gravity="left"
+                android:src="@drawable/plank_video_2" />
+
             <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:text="Benefits of Plank"/>
+                android:text="Benefits of Plank"
+                android:textSize="20sp" />
         </LinearLayout>
 
-    <!--</ScrollView>-->
-
 
-</LinearLayout>
+    </LinearLayout>
+</ScrollView>
diff --git a/app/src/main/res/layout/activity_pushup.xml b/app/src/main/res/layout/activity_pushup.xml
index 174aad103fa2aa91563d3e0d2a765aa080f24197..fbd5f621fd11217b50f19b0a6c7ac1f0d386b62e 100644
--- a/app/src/main/res/layout/activity_pushup.xml
+++ b/app/src/main/res/layout/activity_pushup.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView 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"
@@ -7,80 +7,89 @@
     android:orientation="vertical"
     tools:context="com.example.leo.fitnessdiy.PushupActivity">
 
-    <TextView
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="100dp"
-        android:text="@string/pushup" />
-    <!--<Button-->
-        <!--android:layout_width="wrap_content"-->
-        <!--android:layout_height="wrap_content"-->
-        <!--android:layout_gravity="center_horizontal"-->
-        <!--android:layout_marginBottom="30dp"-->
-        <!--android:onClick="countDownPlank"-->
-        <!--android:text="start" />-->
-
-    <!--<TextView-->
-        <!--android:id="@+id/count_timer"-->
-        <!--android:layout_width="wrap_content"-->
-        <!--android:layout_height="wrap_content"-->
-        <!--android:layout_gravity="center_horizontal"-->
-        <!--android:textSize="32sp"-->
-        <!--android:text="2 : 00" />-->
-
-    <TextView
+    <LinearLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginBottom="30dp"
-        android:text="@string/pushup_video" />
+        android:orientation="vertical">
 
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="100dp"
+            android:text="@string/pushup" />
 
+        <TextView
+            android:id="@+id/pushUpTask"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="30dp"
+            android:layout_gravity="center_horizontal"
+            android:text="Do Push Up 30 Times"
+            android:textSize="18dp" />
 
-    <!--<ScrollView-->
-    <!--android:layout_width="wrap_content"-->
-    <!--android:layout_height="wrap_content">-->
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_margin="4dp"
-        android:clickable="true"
-        android:focusable="true"
-        android:onClick="openVideo"
-        android:orientation="horizontal"
-        android:tag="https://www.youtube.com/watch?v=IODxDxX7oi4">
-
-        <ImageView
-            android:layout_width="260dp"
-            android:layout_height="158dp"
-            android:src="@drawable/pushup_video1" />
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginBottom="30dp"
+            android:onClick="taskComplete"
+            android:text="Selesai" />
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="@string/pushup_demo" />
-    </LinearLayout>
+            android:layout_marginBottom="30dp"
+            android:text="@string/pushup_video" />
 
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="horizontal"
-        android:tag="https://www.youtube.com/watch?v=lHjj5vmzpy0"
-        android:clickable="true"
-        android:focusable="true"
-        android:onClick="openVideo"
-        android:layout_margin="4dp">
-
-        <ImageView
-            android:layout_width="258dp"
-            android:layout_height="148dp"
-            android:src="@drawable/pushup_video2" />
-        <TextView
+
+
+        <!--<ScrollView-->
+        <!--android:layout_width="wrap_content"-->
+        <!--android:layout_height="wrap_content">-->
+
+        <LinearLayout
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="@string/motivation_pushup"/>
-    </LinearLayout>
+            android:layout_margin="4dp"
+            android:clickable="true"
+            android:focusable="true"
+            android:onClick="openVideo"
+            android:orientation="horizontal"
+            android:tag="https://www.youtube.com/watch?v=IODxDxX7oi4">
+
+            <ImageView
+                android:layout_width="260dp"
+                android:layout_height="158dp"
+                android:src="@drawable/pushup_video_1" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/pushup_demo" />
+        </LinearLayout>
 
-    <!--</ScrollView>-->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="horizontal"
+            android:tag="https://www.youtube.com/watch?v=lHjj5vmzpy0"
+            android:clickable="true"
+            android:focusable="true"
+            android:onClick="openVideo"
+            android:layout_margin="4dp">
 
+            <ImageView
+                android:layout_width="258dp"
+                android:layout_height="148dp"
+                android:src="@drawable/pushup_video_2" />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/motivation_pushup"/>
+        </LinearLayout>
+
+        <!--</ScrollView>-->
+
+    </LinearLayout>
 
-</LinearLayout>
+</ScrollView>
diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4f7dcf2d564aa0a2e48b6d262276377200adb59e
--- /dev/null
+++ b/app/src/main/res/layout/activity_setting.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout 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.SettingActivity"
+    android:orientation="vertical">
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:textSize="32sp"
+        android:layout_marginBottom="20dp"
+        android:textColor="@android:color/black"
+        android:text="Select Background Color"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:id="@+id/green_theme"
+        android:text="Green Theme"
+        android:textSize="20sp"
+        android:layout_margin="6dp"
+        android:onClick="changeBackgroundColor"
+        />
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:id="@+id/red_theme"
+        android:text="Red Theme"
+        android:textSize="20sp"
+        android:layout_margin="6dp"
+        android:onClick="changeBackgroundColor"/>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:id="@+id/beach_theme"
+        android:text="Beach Theme"
+        android:textSize="20sp"
+        android:layout_margin="6dp"
+        android:onClick="changeBackgroundColor"/>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:id="@+id/natural_theme"
+        android:text="Natural Theme"
+        android:textSize="20sp"
+        android:layout_margin="6dp"
+        android:onClick="changeBackgroundColor"/>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+
+</LinearLayout>
diff --git a/app/src/main/res/layout/activity_situp.xml b/app/src/main/res/layout/activity_situp.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0cb6d6e0de086fe526e92b22a918a64e2dc32ba3
--- /dev/null
+++ b/app/src/main/res/layout/activity_situp.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView 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.SitupActivity">
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="vertical" >
+
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="100dp"
+            android:text="@string/situp" />
+
+        <TextView
+            android:id="@+id/sitUpTask"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="30dp"
+            android:layout_gravity="center_horizontal"
+            android:text="Do Sit Up 30 times"
+            android:textSize="18dp" />
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginBottom="30dp"
+            android:onClick="taskComplete"
+            android:text="Selesai" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="30dp"
+            android:text="@string/situp_video" />
+
+
+
+        <!--<ScrollView-->
+        <!--android:layout_width="wrap_content"-->
+        <!--android:layout_height="wrap_content">-->
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_margin="4dp"
+            android:clickable="true"
+            android:focusable="true"
+            android:onClick="openVideo"
+            android:orientation="horizontal"
+            android:tag="https://www.youtube.com/watch?v=IODxDxX7oi4">
+
+            <ImageView
+                android:layout_width="260dp"
+                android:layout_height="158dp"
+                android:src="@drawable/situp_video_1" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/situp_demo" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="horizontal"
+            android:tag="https://www.youtube.com/watch?v=lHjj5vmzpy0"
+            android:clickable="true"
+            android:focusable="true"
+            android:onClick="openVideo"
+            android:layout_margin="4dp">
+
+            <ImageView
+                android:layout_width="258dp"
+                android:layout_height="148dp"
+                android:src="@drawable/situp_video_2" />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/motivation_situp"/>
+        </LinearLayout>
+
+    </LinearLayout>
+    <!--</ScrollView>-->
+
+
+</ScrollView>
diff --git a/app/src/main/res/layout/fragment_exercise.xml b/app/src/main/res/layout/fragment_exercise.xml
index c28ca5dda596664c6ae265ce6576e3dc626c7533..f05accb1a656fea02aae7d3de165b1954fda0dce 100644
--- a/app/src/main/res/layout/fragment_exercise.xml
+++ b/app/src/main/res/layout/fragment_exercise.xml
@@ -4,11 +4,43 @@
     android:layout_height="match_parent"
     tools:context="com.example.leo.fitnessdiy.ExerciseFragment">
 
-    <Button
-        android:id="@+id/plank_button"
+
+    <LinearLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="Plank"
-        />
+        android:orientation="vertical"
+        android:layout_gravity="center">
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="Push Up"
+            android:id="@+id/pushup_button"/>
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="Sit Up"
+            android:id="@+id/situp_button" />
+
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="Plank"
+            android:id="@+id/plank_button"/>
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="Jogging"
+            android:id="@+id/jogging_button"/>
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="LEVEL"
+            android:id="@+id/level_button"/>
+
+    </LinearLayout>
 
 </FrameLayout>
diff --git a/app/src/main/res/menu/setting_menu.xml b/app/src/main/res/menu/setting_menu.xml
new file mode 100644
index 0000000000000000000000000000000000000000..35967835e74bc8c977c4a6b079576a1fbe493741
--- /dev/null
+++ b/app/src/main/res/menu/setting_menu.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <item android:title="Background"
+        app:showAsAction="never"
+        android:id="@+id/menu_setting_background"/>
+
+</menu>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f0885f0a9a1204483bb47114d57b8d96c3830905..b63175215fe54ee9fe058fd173f19a0098c797f9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -24,4 +24,8 @@
     <string name="motivation_pushup">Push Up Challenge : Before and After</string>
     <string name="pushup_demo">How to Push Up Properly</string>
     <string name="pushup_video">Push Up Video</string>
+    <string name="situp">Sit Up</string>
+    <string name="motivation_situp">Sit Up Challenge : Before and After</string>
+    <string name="situp_demo">How to do sit up properly</string>
+    <string name="situp_video">Sit Up Video</string>
 </resources>
diff --git a/gradle.properties b/gradle.properties
index b30aa687d299822586e8f9908e7834d3dfe63a9c..43350e51b766e93ecedf2a45b8fcf9f0e411dee3 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -12,12 +12,3 @@
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
-#Mon Feb 19 17:31:00 GMT+07:00 2018
-systemProp.http.proxyPassword=02414056
-systemProp.http.proxyHost=cache.itb.ac.id
-systemProp.https.proxyPort=8080
-systemProp.https.proxyUser=leo16515325
-systemProp.https.proxyHost=cache.itb.ac.id
-systemProp.https.proxyPassword=02414056
-systemProp.http.proxyUser=leo16515325
-systemProp.http.proxyPort=8080