diff --git a/.idea/misc.xml b/.idea/misc.xml
index c0f68ed..b0c7b20 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -5,22 +5,26 @@
diff --git a/.project b/.project
new file mode 100644
index 0000000..9892213
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ FindMyTutorAndroid
+ Project FindMyTutorAndroid created by Buildship.
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectnature
+
+
diff --git a/app/.project b/app/.project
new file mode 100644
index 0000000..ac485d7
--- /dev/null
+++ b/app/.project
@@ -0,0 +1,23 @@
+
+
+ app
+ Project app created by Buildship.
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.buildship.core.gradleprojectnature
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 304f508..e7eae35 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,25 +9,15 @@
-
-
-
-
-
+
@@ -38,7 +28,7 @@
+
+
+
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/BaseActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/BaseActivity.java
new file mode 100644
index 0000000..4b0e776
--- /dev/null
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/BaseActivity.java
@@ -0,0 +1,209 @@
+package com.uam.wmi.findmytutor.activity;
+
+import android.content.Intent;
+import android.content.res.Configuration;
+import android.support.annotation.NonNull;
+import android.support.design.widget.BottomNavigationView;
+import android.support.v4.widget.DrawerLayout;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.ActionBarDrawerToggle;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.support.v7.widget.SearchView;
+import android.support.v7.widget.Toolbar;
+import android.text.TextUtils;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.FrameLayout;
+import android.widget.ListView;
+import android.widget.Toast;
+
+import com.uam.wmi.findmytutor.ListViewAdapter;
+import com.uam.wmi.findmytutor.R;
+
+import java.util.ArrayList;
+
+public abstract class BaseActivity
+ extends AppCompatActivity
+ implements BottomNavigationView.OnNavigationItemSelectedListener {
+
+ protected BottomNavigationView navigationView;
+
+ protected Toolbar toolbar;
+
+ public DrawerLayout drawerLayout;
+ private ActionBarDrawerToggle actionBarDrawerToggle;
+ // 4 search
+ private ListView listView;
+ private ArrayList stringArrayList;
+ private ListViewAdapter adapter;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(getContentViewId());
+
+ navigationView = findViewById(R.id.navigation);
+ navigationView.setOnNavigationItemSelectedListener(this);
+
+ }
+
+ @Override
+ public void setContentView(int layoutResID) {
+ DrawerLayout fullView = (DrawerLayout) getLayoutInflater().inflate(R.layout.base_activity, null);
+ FrameLayout activityContainer = (FrameLayout) fullView.findViewById(R.id.activity_content);
+ getLayoutInflater().inflate(layoutResID, activityContainer, true);
+ super.setContentView(fullView);
+
+ initToolbar();
+ }
+
+ private void initToolbar() {
+ toolbar = (Toolbar) findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+ }
+ private void setData() {
+ stringArrayList = new ArrayList<>();
+ stringArrayList.add("Quynh Trang");
+ stringArrayList.add("Hoang Bien");
+ stringArrayList.add("Duc Tuan");
+ stringArrayList.add("Dang Thanh");
+ stringArrayList.add("Xuan Luu");
+ stringArrayList.add("Phan Thanh");
+ stringArrayList.add("Kim Kien");
+ stringArrayList.add("Ngo Trang");
+ stringArrayList.add("Thanh Ngan");
+ stringArrayList.add("Nguyen Duong");
+ stringArrayList.add("Quoc Cuong");
+ stringArrayList.add("Tran Ha");
+ stringArrayList.add("Vu Danh");
+ stringArrayList.add("Minh Meo");
+ }
+
+
+ private void setUpNav() {
+
+ drawerLayout = (DrawerLayout) findViewById(R.id.activity_container);
+ actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
+ drawerLayout.addDrawerListener(actionBarDrawerToggle);
+
+ ActionBar actionBar = getSupportActionBar();
+
+ if (actionBar != null) {
+ actionBar.setDisplayShowTitleEnabled(false);
+ actionBar.setDisplayHomeAsUpEnabled(true);
+ actionBar.setHomeButtonEnabled(true);
+ }
+ }
+
+
+ @Override
+ public void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+ setUpNav();
+
+ actionBarDrawerToggle.syncState();
+ }
+
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ actionBarDrawerToggle.onConfigurationChanged(newConfig);
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu( Menu menu) {
+ getMenuInflater().inflate( R.menu.menu_main, menu);
+
+ MenuItem myActionMenuItem = menu.findItem( R.id.action_search);
+ final SearchView searchView = (SearchView) myActionMenuItem.getActionView();
+ searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
+ @Override
+ public boolean onQueryTextSubmit(String query) {
+ return false;
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newText) {
+ if (TextUtils.isEmpty(newText)) {
+ adapter.filter("");
+ listView.clearTextFilter();
+ } else {
+ adapter.filter(newText);
+ }
+ return true;
+ }
+ });
+
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ updateNavigationBarState();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ overridePendingTransition(0,0);
+ }
+
+ @Override
+ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
+
+ navigationView.postDelayed(() -> {
+ int itemId = item.getItemId();
+ if (itemId == R.id.nav_map) {
+ startActivity(new Intent(this, MapActivity.class));
+ } else if (itemId == R.id.nav_profile) {
+ startActivity(new Intent(this, ProfileActivity.class));
+ } else if (itemId == R.id.nav_notif) {
+ startActivity(new Intent(this, NotificationsActivity.class));
+ }
+ finish();
+ }, 300);
+ return true;
+
+// navigationView.postDelayed(() -> {
+// int itemId = item.getItemId();
+// switch (itemId) {
+// case R.id.nav_profile:
+// startActivity(new Intent(this, ProfileActivity.class));
+// case R.id.nav_map:
+// startActivity(new Intent(this, MapActivity.class));
+// case R.id.nav_notif:
+// startActivity(new Intent(this, NotificationsActivity.class));
+// }
+//
+// finish();
+// }, 300);
+// return true;
+ }
+
+ private void updateNavigationBarState() {
+ int actionId = getNavigationMenuItemId();
+ selectBottomNavigationBarItem(actionId);
+ }
+
+ private void selectBottomNavigationBarItem(int itemId) {
+ MenuItem item = navigationView.getMenu().findItem(itemId);
+ item.setChecked(true);
+ }
+
+ abstract int getNavigationMenuItemId();
+
+ abstract int getContentViewId();
+}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java
new file mode 100644
index 0000000..67dfc45
--- /dev/null
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java
@@ -0,0 +1,87 @@
+package com.uam.wmi.findmytutor.activity;
+
+import android.os.Bundle;
+
+import com.mapbox.mapboxsdk.Mapbox;
+import com.mapbox.mapboxsdk.maps.MapView;
+import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.uam.wmi.findmytutor.R;
+
+
+public class MapActivity extends BaseActivity {
+ private MapView mapView;
+ String tag = "LifeCycleEvents";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ Mapbox.getInstance(this, getString(R.string.access_token));
+ mapView = findViewById(R.id.mapView);
+ mapView.onCreate(savedInstanceState);
+
+ mapView.getMapAsync(new OnMapReadyCallback() {
+ @Override
+ public void onMapReady(MapboxMap mapboxMap) {
+
+ // Customize map with markers, polylines, etc.
+
+ }
+ });
+ }
+
+
+
+ // Add the mapView lifecycle to the activity's lifecycle methods
+ @Override
+ public void onResume() {
+ super.onResume();
+ mapView.onResume();
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ mapView.onStart();
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ mapView.onStop();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ mapView.onPause();
+ }
+
+ @Override
+ public void onLowMemory() {
+ super.onLowMemory();
+ mapView.onLowMemory();
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ mapView.onDestroy();
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ mapView.onSaveInstanceState(outState);
+ }
+
+ @Override
+ protected int getContentViewId() {
+ return R.layout.activity_map;
+ }
+
+ @Override
+ protected int getNavigationMenuItemId() {
+ return R.id.nav_map;
+ }
+}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/NotificationsActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/NotificationsActivity.java
new file mode 100644
index 0000000..30045ae
--- /dev/null
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/NotificationsActivity.java
@@ -0,0 +1,179 @@
+package com.uam.wmi.findmytutor.activity;
+
+import android.animation.ObjectAnimator;
+import android.animation.TypeEvaluator;
+import android.animation.ValueAnimator;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.util.Log;
+
+import com.mapbox.mapboxsdk.Mapbox;
+import com.mapbox.mapboxsdk.annotations.Marker;
+import com.mapbox.mapboxsdk.annotations.MarkerViewOptions;
+import com.mapbox.mapboxsdk.geometry.LatLng;
+import com.mapbox.mapboxsdk.maps.MapView;
+import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.uam.wmi.findmytutor.R;
+import com.uam.wmi.findmytutor.model.Coordinate;
+import com.uam.wmi.findmytutor.network.RetrofitClientInstance;
+import com.uam.wmi.findmytutor.service.CoordinateService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.CompositeDisposable;
+import io.reactivex.observers.DisposableSingleObserver;
+import io.reactivex.schedulers.Schedulers;
+
+
+public class NotificationsActivity extends BaseActivity {
+
+ private MapView mapView;
+ private CoordinateService coordinateService;
+ private CompositeDisposable disposable = new CompositeDisposable();
+ private List coordinatesList = new ArrayList<>();
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ mapInit(savedInstanceState);
+
+// coordinateService = ApiClient.getClient(getApplicationContext())
+// .create(CoordinateService.class);
+ final SharedPreferences sharedPref = getSharedPreferences("fmtPrefs", Context.MODE_PRIVATE);
+ final String authToken = sharedPref.getString("authToken",null);
+
+ coordinateService = RetrofitClientInstance.createService(CoordinateService.class,"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiI2YjhmNzFiMS00NDM2LTQxZGQtYjg3MC1mNzZlNjdkNDM4NDMiLCJzdWIiOiJzdHJpbmciLCJqdGkiOiJiZGRjZTAwMC0xN2U4LTQwNDUtYWZiNS1kY2RkOWNhNDFiNmQiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJUdXRvciIsImV4cCI6MTU0MTcxNzk2MywiaXNzIjoiaHR0cDovL2ZpbmRteXR1dG9yLmNvbSIsImF1ZCI6Imh0dHA6Ly9maW5kbXl0dXRvci5jb20ifQ.JJVNeMAwwla6DJk6X8qZUgPFKJp-Epx55W9V_fIwpgg");
+
+ fetchTopCoords();
+ }
+
+ private void mapInit(Bundle savedInstanceState) {
+ // Mapbox access token is configured here. This needs to be called either in your application
+ // object or in the same activity which contains the mapview.
+ Mapbox.getInstance(this, getString(R.string.access_token));
+ // This contains the MapView in XML and needs to be called after the access token is configured.
+ // setContentView(R.layout.activity_notifications);
+
+ mapView = (MapView) findViewById(R.id.mapView2);
+ mapView.onCreate(savedInstanceState);
+ mapView.getMapAsync(new OnMapReadyCallback() {
+ @Override
+ public void onMapReady(MapboxMap mapboxMap) {
+
+ final Marker marker = mapboxMap.addMarker(new MarkerViewOptions()
+ .position(new LatLng(64.900932, -18.167040)));
+
+ mapboxMap.setOnMapClickListener(new MapboxMap.OnMapClickListener() {
+ @Override
+ public void onMapClick(@NonNull LatLng point) {
+
+ // When the user clicks on the map, we want to animate the marker to that
+ // location.
+ ValueAnimator markerAnimator = ObjectAnimator.ofObject(marker, "position",
+ new LatLngEvaluator(), marker.getPosition(), point);
+ markerAnimator.setDuration(2000);
+ markerAnimator.start();
+ }
+ });
+
+ }
+ });
+
+ }
+
+ private void fetchTopCoords() {
+ disposable.add(
+ coordinateService.getTopCoordinates()
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribeWith(new DisposableSingleObserver>() {
+ @Override
+ public void onSuccess(List coordsList) {
+
+ Log.d("mapTag", "co?");
+ for (Coordinate element:
+ coordsList) {
+ Log.d("mapTag", element.getUserId());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ Log.e("Error",e.toString());
+ }
+ })
+ );
+
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ mapView.onStart();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ mapView.onResume();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ mapView.onPause();
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ mapView.onStop();
+ }
+
+ @Override
+ public void onLowMemory() {
+ super.onLowMemory();
+ mapView.onLowMemory();
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ mapView.onDestroy();
+ disposable.dispose();
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ mapView.onSaveInstanceState(outState);
+ }
+
+ private static class LatLngEvaluator implements TypeEvaluator {
+ // Method is used to interpolate the marker animation.
+
+ private LatLng latLng = new LatLng();
+
+ @Override
+ public LatLng evaluate(float fraction, LatLng startValue, LatLng endValue) {
+ latLng.setLatitude(startValue.getLatitude()
+ + ((endValue.getLatitude() - startValue.getLatitude()) * fraction));
+ latLng.setLongitude(startValue.getLongitude()
+ + ((endValue.getLongitude() - startValue.getLongitude()) * fraction));
+ return latLng;
+ }
+ }
+
+ @Override
+ protected int getContentViewId() { return R.layout.activity_notifications; }
+
+ @Override
+ protected int getNavigationMenuItemId() { return R.id.nav_notif; }
+}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/ProfileActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/ProfileActivity.java
new file mode 100644
index 0000000..5a3d92d
--- /dev/null
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/ProfileActivity.java
@@ -0,0 +1,14 @@
+package com.uam.wmi.findmytutor.activity;
+
+import com.uam.wmi.findmytutor.R;
+
+public class ProfileActivity extends BaseActivity {
+
+ @Override
+ protected int getContentViewId() { return R.layout.activity_profile; }
+
+ @Override
+ protected int getNavigationMenuItemId() {
+ return R.id.nav_profile;
+ }
+}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/StartupActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/StartupActivity.java
index c2b8491..04dfc8b 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/StartupActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/StartupActivity.java
@@ -14,7 +14,7 @@ public class StartupActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
if (PrefUtils.isLoggedIn(getApplicationContext())){
- Intent startupIntent = new Intent(this, MainActivity.class);
+ Intent startupIntent = new Intent(this, MapActivity.class);
startupIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(startupIntent);
finish();
@@ -30,7 +30,7 @@ public class StartupActivity extends AppCompatActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == AUTHENTICATION_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
- Intent startupIntent = new Intent(this, MainActivity.class);
+ Intent startupIntent = new Intent(this, MapActivity.class);
startupIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(startupIntent);
}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/network/RetrofitClientInstance.java b/app/src/main/java/com/uam/wmi/findmytutor/network/RetrofitClientInstance.java
new file mode 100644
index 0000000..a3e3ee3
--- /dev/null
+++ b/app/src/main/java/com/uam/wmi/findmytutor/network/RetrofitClientInstance.java
@@ -0,0 +1,54 @@
+package com.uam.wmi.findmytutor.network;
+
+import com.jakewharton.retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
+
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.logging.HttpLoggingInterceptor;
+import retrofit2.Retrofit;
+import retrofit2.converter.gson.GsonConverterFactory;
+
+public class RetrofitClientInstance {
+
+ private static final String BASE_URL = "https://s416084.projektstudencki.pl/develop/";
+
+ private static Retrofit.Builder builder
+ = new Retrofit.Builder()
+ .baseUrl(BASE_URL)
+ .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+ .addConverterFactory(GsonConverterFactory.create());
+
+ private static Retrofit retrofit = builder.build();
+
+ private static OkHttpClient.Builder httpClient
+ = new OkHttpClient.Builder();
+
+ private static HttpLoggingInterceptor logging
+ = new HttpLoggingInterceptor()
+ .setLevel(HttpLoggingInterceptor.Level.BASIC);
+
+ public static S createService(Class serviceClass) {
+ if (!httpClient.interceptors().contains(logging)) {
+ httpClient.addInterceptor(logging);
+ builder.client(httpClient.build());
+ retrofit = builder.build();
+ }
+ return retrofit.create(serviceClass);
+ }
+
+ public static S createService(Class serviceClass, final String token) {
+ if (token != null) {
+ httpClient.interceptors().clear();
+ httpClient.addInterceptor(chain -> {
+ Request original = chain.request();
+ Request.Builder builder1 = original.newBuilder()
+ .header("Authorization", "Bearer " + token);
+ Request request = builder1.build();
+ return chain.proceed(request);
+ });
+ builder.client(httpClient.build());
+ retrofit = builder.build();
+ }
+ return retrofit.create(serviceClass);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/service/CoordinateService.java b/app/src/main/java/com/uam/wmi/findmytutor/service/CoordinateService.java
index ce3d2fe..18ec984 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/service/CoordinateService.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/service/CoordinateService.java
@@ -42,4 +42,3 @@ public interface CoordinateService {
Single deleteCoordinatesById(@Path("id") String id);
}
-
diff --git a/app/src/main/res/layout/activity_map.xml b/app/src/main/res/layout/activity_map.xml
new file mode 100644
index 0000000..7af4e8e
--- /dev/null
+++ b/app/src/main/res/layout/activity_map.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_notifications.xml b/app/src/main/res/layout/activity_notifications.xml
new file mode 100644
index 0000000..be82ea7
--- /dev/null
+++ b/app/src/main/res/layout/activity_notifications.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml
new file mode 100644
index 0000000..49b6e9b
--- /dev/null
+++ b/app/src/main/res/layout/activity_profile.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/base_activity.xml b/app/src/main/res/layout/base_activity.xml
new file mode 100644
index 0000000..2edc8cc
--- /dev/null
+++ b/app/src/main/res/layout/base_activity.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/element_bottom_navigation.xml b/app/src/main/res/layout/element_bottom_navigation.xml
new file mode 100644
index 0000000..4624eb7
--- /dev/null
+++ b/app/src/main/res/layout/element_bottom_navigation.xml
@@ -0,0 +1,10 @@
+
+
\ 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 aac502f..f5d9839 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -196,4 +196,5 @@ functionality.
- %d locations reported
+ Main2Activity
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 31ff20c..edb90df 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,21 +1,22 @@
-
+
-
+
-
+
-
-
+
+
+
-
+
diff --git a/build.gradle b/build.gradle
index d9fe839..4e8009d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -8,7 +8,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
-
+
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 71be508..959e77d 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,4 +1,4 @@
-#Sat Sep 29 16:56:56 CEST 2018
+#Fri Sep 28 00:01:36 CEST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME