diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1f83ca9..ce37ffb 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -37,16 +37,6 @@
android:label="@string/title_activity_login"
android:launchMode="singleTask"
android:noHistory="true" />
-
-
-
-
-
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/ListViewAdapter.java b/app/src/main/java/com/uam/wmi/findmytutor/ListViewAdapter.java
deleted file mode 100644
index fb0d7ee..0000000
--- a/app/src/main/java/com/uam/wmi/findmytutor/ListViewAdapter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.uam.wmi.findmytutor;
-
-import android.app.Activity;
-import android.support.annotation.NonNull;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.amulyakhare.textdrawable.TextDrawable;
-import com.amulyakhare.textdrawable.util.ColorGenerator;
-
-import com.uam.wmi.findmytutor.activity.MainActivity;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Objects;
-
-public class ListViewAdapter extends ArrayAdapter {
-
-
- private MainActivity activity;
- private List friendList;
- private List searchList;
-
- public ListViewAdapter(MainActivity context, int resource, List objects) {
- super(context, resource, objects);
- this.activity = context;
- this.friendList = objects;
- this.searchList = new ArrayList<>();
- this.searchList.addAll(friendList);
- }
-
- @Override
- public int getCount() {
- return friendList.size();
- }
-
- @Override
- public String getItem(int position) {
- return friendList.get(position);
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @NonNull
- @Override
- public View getView(int position, View convertView, @NonNull ViewGroup parent) {
- ViewHolder holder;
- LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
- // If holder not exist then locate all view from UI file.
- if (convertView == null) {
- // inflate UI from XML file
- convertView = inflater.inflate(R.layout.item_listview, parent, false);
- // get all UI view
- holder = new ViewHolder(convertView);
- // set tag for holder
- convertView.setTag(holder);
- } else {
- // if holder created, get tag from view
- holder = (ViewHolder) convertView.getTag();
- }
-
- holder.friendName.setText(getItem(position));
-
- //get first letter of each String item
- String firstLetter = String.valueOf(Objects.requireNonNull(getItem(position)).charAt(0));
-
- ColorGenerator generator = ColorGenerator.MATERIAL; // or use DEFAULT
- // generate random color
- int color = generator.getColor(Objects.requireNonNull(getItem(position)));
-
- TextDrawable drawable = TextDrawable.builder()
- .buildRound(firstLetter, color); // radius in px
-
- holder.imageView.setImageDrawable(drawable);
-
- return convertView;
- }
-
- // Filter method
- public void filter(String charText) {
- charText = charText.toLowerCase(Locale.getDefault());
- friendList.clear();
- if (charText.length() == 0) {
- friendList.addAll(searchList);
- } else {
- for (String s : searchList) {
- if (s.toLowerCase(Locale.getDefault()).contains(charText)) {
- friendList.add(s);
- }
- }
- }
- notifyDataSetChanged();
- }
-
- private class ViewHolder {
- private ImageView imageView;
- private TextView friendName;
-
- ViewHolder(View v) {
- imageView = (ImageView) v.findViewById(R.id.image_view);
- friendName = (TextView) v.findViewById(R.id.text);
- }
- }
-}
\ No newline at end of file
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
index dc2e651..1eecf25 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/BaseActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/BaseActivity.java
@@ -5,7 +5,6 @@ import android.app.FragmentTransaction;
import android.content.res.Configuration;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
-import android.support.v4.app.FragmentManager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
@@ -16,12 +15,10 @@ import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.FrameLayout;
-import android.widget.ListView;
-import com.uam.wmi.findmytutor.ListViewAdapter;
import com.uam.wmi.findmytutor.R;
+import com.uam.wmi.findmytutor.utils.ActiveFragment;
-import java.util.ArrayList;
public abstract class BaseActivity
extends AppCompatActivity
@@ -34,8 +31,7 @@ public abstract class BaseActivity
private SharingFragment sharingFragment;
private Fragment userListFragment;
- private String activeFragment = "";
-
+ private ActiveFragment activeFragment = ActiveFragment.NONE;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -97,18 +93,22 @@ public abstract class BaseActivity
public boolean onCreateOptionsMenu( Menu menu) {
getMenuInflater().inflate( R.menu.menu_main, menu);
- MenuItem myActionMenuItem = menu.findItem( R.id.action_search);
+ 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) {
+ public boolean onQueryTextSubmit(String input) {
+ if(activeFragment.equals(ActiveFragment.USER_LIST)){
+ executeUserListSearch(input);
+ }
+
return false;
}
@Override
- public boolean onQueryTextChange(String newText) {
- if(activeFragment.equals("userList")){
- ((UsersListActivity) userListFragment).searchUser(newText);
+ public boolean onQueryTextChange(String input) {
+ if(activeFragment.equals(ActiveFragment.USER_LIST)){
+ executeUserListSearch(input);
}
return true;
@@ -118,6 +118,10 @@ public abstract class BaseActivity
return true;
}
+ private void executeUserListSearch(String input){
+ ((UsersListActivity) userListFragment).searchUser(input);
+ }
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
@@ -139,7 +143,6 @@ public abstract class BaseActivity
}
private void removeFragment(Fragment fragment) {
- activeFragment = "map";
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.hide(fragment);
fragmentTransaction.commit();
@@ -159,14 +162,14 @@ public abstract class BaseActivity
} else if (itemId == R.id.nav_user_list) {
loadUserListFragment();
}
- //finish();
+
}, 300);
return true;
}
private void loadUserSettingsFragment() {
- activeFragment = "sharedSettings";
+ activeFragment = ActiveFragment.SHARED_PREFERENCES;
sharingFragment = SharingFragment.newInstance();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.activity_content, sharingFragment);
@@ -174,7 +177,7 @@ public abstract class BaseActivity
}
private void loadUserListFragment() {
- activeFragment = "userList";
+ activeFragment = ActiveFragment.USER_LIST;
userListFragment = UsersListActivity.newInstance();
FragmentTransaction ft = getFragmentManager().beginTransaction();
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/ListViewAdapter.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/ListViewAdapter.java
deleted file mode 100644
index c5bbf12..0000000
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/ListViewAdapter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.uam.wmi.findmytutor.activity;
-
-import android.app.Activity;
-import android.content.Context;
-import android.support.annotation.NonNull;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.amulyakhare.textdrawable.TextDrawable;
-import com.amulyakhare.textdrawable.util.ColorGenerator;
-
-import com.uam.wmi.findmytutor.R;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Objects;
-
-public class ListViewAdapter extends ArrayAdapter {
-
- private Context activity;
- private List friendList;
- private List searchList;
-
- public ListViewAdapter(Context context, int resource, List objects) {
- super(context, resource, objects);
- this.activity = context;
- this.friendList = objects;
- this.searchList = new ArrayList<>();
- this.searchList.addAll(friendList);
- }
-
- @Override
- public int getCount() {
- return friendList.size();
- }
-
- @Override
- public String getItem(int position) {
- return friendList.get(position);
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- @NonNull
- @Override
- public View getView(int position, View convertView, @NonNull ViewGroup parent) {
- ViewHolder holder;
- LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
- // If holder not exist then locate all view from UI file.
- if (convertView == null) {
- // inflate UI from XML file
- convertView = inflater.inflate(R.layout.item_listview, parent, false);
- // get all UI view
- holder = new ViewHolder(convertView);
- // set tag for holder
- convertView.setTag(holder);
- } else {
- // if holder created, get tag from view
- holder = (ViewHolder) convertView.getTag();
- }
-
- holder.friendName.setText(getItem(position));
-
- //get first letter of each String item
- String firstLetter = String.valueOf(Objects.requireNonNull(getItem(position)).charAt(0));
-
- ColorGenerator generator = ColorGenerator.MATERIAL; // or use DEFAULT
- // generate random color
- int color = generator.getColor(Objects.requireNonNull(getItem(position)));
-
- TextDrawable drawable = TextDrawable.builder()
- .buildRound(firstLetter, color); // radius in px
-
- holder.imageView.setImageDrawable(drawable);
-
- return convertView;
- }
-
- // Filter method
- public void filter(String charText) {
- charText = charText.toLowerCase(Locale.getDefault());
- friendList.clear();
- if (charText.length() == 0) {
- friendList.addAll(searchList);
- } else {
- for (String s : searchList) {
- if (s.toLowerCase(Locale.getDefault()).contains(charText)) {
- friendList.add(s);
- }
- }
- }
- notifyDataSetChanged();
- }
-
- private class ViewHolder {
- private ImageView imageView;
- private TextView friendName;
-
- public ViewHolder(View v) {
- imageView = v.findViewById(R.id.image_view);
- friendName = v.findViewById(R.id.text);
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/MainActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/MainActivity.java
deleted file mode 100644
index 9cce13f..0000000
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/MainActivity.java
+++ /dev/null
@@ -1,440 +0,0 @@
-package com.uam.wmi.findmytutor.activity;
-
-import android.animation.TypeEvaluator;
-import android.app.Fragment;
-import android.app.FragmentTransaction;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.res.Configuration;
-import android.graphics.Color;
-import android.os.Build;
-import android.os.Bundle;
-import android.support.design.widget.BottomNavigationView;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.support.v4.widget.DrawerLayout;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarDrawerToggle;
-import android.support.v7.app.AppCompatActivity;
-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.os.Handler;
-import android.view.View;
-import android.animation.ObjectAnimator;
-import android.animation.ValueAnimator;
-import android.widget.FrameLayout;
-import android.widget.ListView;
-import android.widget.Toast;
-import com.mapbox.mapboxsdk.maps.MapView;
-import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
-import com.mapbox.mapboxsdk.annotations.MarkerViewOptions;
-import com.mapbox.mapboxsdk.maps.MapboxMap;
-import com.mapbox.mapboxsdk.annotations.Marker;
-import com.mapbox.mapboxsdk.annotations.MarkerOptions;
-import android.util.Log;
-import com.mapbox.mapboxsdk.Mapbox;
-import com.mapbox.mapboxsdk.geometry.LatLng;
-import com.uam.wmi.findmytutor.R;
-import com.uam.wmi.findmytutor.service.BackgroundLocalizationService;
-import com.uam.wmi.findmytutor.utils.PrefUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.uam.wmi.findmytutor.model.Coordinate;
-import com.uam.wmi.findmytutor.network.RetrofitClientInstance;
-import com.uam.wmi.findmytutor.service.CoordinateService;
-
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.CompositeDisposable;
-import io.reactivex.observers.DisposableSingleObserver;
-import io.reactivex.schedulers.Schedulers;
-
-
-public class MainActivity extends AppCompatActivity implements
- OnMapReadyCallback {
-
- private BottomNavigationView mMainNav;
- private FrameLayout mMainFrame;
- private boolean isTutor;
- private MapFragment mapFragment;
- private SharingFragment sharingFragment;
- private NotificationFragment notificationFragment;
- private ProfileFragment profileFragment;;
-
- private static final int REQUEST_PERMISSIONS = 100;
- boolean boolean_permission;
-
- private DrawerLayout drawerLayout;
- private ActionBarDrawerToggle actionBarDrawerToggle;
-
- private MapView mapView;
- private MapboxMap mapboxMap;
- private int mInterval = 10000;
- private Handler mHandler;
-
- private Map coordsMap = new HashMap<>();
-
- private CoordinateService coordinateService;
- private CompositeDisposable disposable = new CompositeDisposable();
-
- private Runnable mStatusChecker;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- final SharedPreferences sharedPref = getSharedPreferences("fmtPrefs", Context.MODE_PRIVATE);
- final String authToken = sharedPref.getString("authToken",null);
-
- mStatusChecker = new Runnable() {
- @Override
- public void run() {
- try{
- fetchTopCoords();
- } finally {
- mHandler.postDelayed(mStatusChecker, mInterval);
- }
- }
- };
-
- coordinateService = RetrofitClientInstance.createService(CoordinateService.class,"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiI2YjhmNzFiMS00NDM2LTQxZGQtYjg3MC1mNzZlNjdkNDM4NDMiLCJzdWIiOiJzdHJpbmciLCJqdGkiOiJiZGRjZTAwMC0xN2U4LTQwNDUtYWZiNS1kY2RkOWNhNDFiNmQiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJUdXRvciIsImV4cCI6MTU0MTcxNzk2MywiaXNzIjoiaHR0cDovL2ZpbmRteXR1dG9yLmNvbSIsImF1ZCI6Imh0dHA6Ly9maW5kbXl0dXRvci5jb20ifQ.JJVNeMAwwla6DJk6X8qZUgPFKJp-Epx55W9V_fIwpgg");
-
- mHandler = new Handler();
- Bundle extras = getIntent().getExtras();
- Mapbox.getInstance(this, getString(R.string.access_token));
-
-
-
- mapView = (MapView) findViewById(R.id.mapView);
- mapView.onCreate(savedInstanceState);
- mapView.getMapAsync(this);
-
- configureconfigureNavigationDrawer();
- configureBottomNavigationView();
- configureLogoutButton();
-
- }
-
- @Override
- public void onMapReady(MapboxMap map) {
- mapboxMap = map;
- final Marker marker = mapboxMap.addMarker(new MarkerViewOptions()
- .position(new LatLng(52.466782,16.927549)));
- mStatusChecker.run();
-
- mapboxMap.addOnMapClickListener(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 configureconfigureNavigationDrawer() {
- Toolbar toolbar = findViewById(R.id.toolbar_main);
- setSupportActionBar(toolbar);
-
- drawerLayout = findViewById(R.id.drawer_layout);
-
- actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
- drawerLayout.addDrawerListener(actionBarDrawerToggle);
-
- ActionBar actionBar = getSupportActionBar();
- actionBar.setDisplayShowTitleEnabled(false);
-
- if (actionBar != null) {
- actionBar.setDisplayHomeAsUpEnabled(true);
- actionBar.setHomeButtonEnabled(true);
- }
- }
-
- private void setFragment(Fragment fragment) {
- FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
- fragmentTransaction.replace(R.id.main_frame, fragment);
- fragmentTransaction.commit();
- }
-
- private void configureBottomNavigationView(){
-
- mMainFrame = findViewById(R.id.main_frame);
- mMainNav = findViewById(R.id.main_nav);
- isTutor = PrefUtils.getIsTutor(getApplicationContext());
-
- if (!isTutor) {
- mMainNav.findViewById(R.id.nav_profile).setVisibility(View.GONE);
- }
-
- mapFragment = new MapFragment();
- sharingFragment = new SharingFragment();
- notificationFragment = new NotificationFragment();
- profileFragment = new ProfileFragment();
-
- // Default frag here
-// setFragment(mapFragment);
- mMainNav.setSelectedItemId(R.id.nav_map);
-
- /* code below is resposible for changing colours of tabs in main tab menu */
- mMainNav.setOnNavigationItemSelectedListener(item -> {
-
- switch (item.getItemId()) {
- case R.id.nav_map:
-// setFragment(mapFragment);
- return true;
- case R.id.nav_profile:
- setFragment(sharingFragment);
- return true;
- default:
- return false;
- }
- });
- }
-
- private void configureLogoutButton(){
- // Logout button
- final FloatingActionButton button = findViewById(R.id.logoutButton);
-
- button.setOnClickListener(view -> {
- PrefUtils.cleanUserLocalStorage(getApplicationContext());
-
- Intent i = getBaseContext().getPackageManager()
- .getLaunchIntentForPackage(getBaseContext().getPackageName());
- if (i != null) {
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- }
- startActivity(i);
- finish();
- });
- }
-
- @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
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
-
- actionBarDrawerToggle.syncState();
-
- if (isTutor) {
- fn_permission();
- }
-
- }
-
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- actionBarDrawerToggle.onConfigurationChanged(newConfig);
- }
-
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
- return super.onOptionsItemSelected(item);
-
- }
-
-
- private void fn_permission() {
- if ((ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)) {
-
- if ((ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, android.Manifest.permission.ACCESS_FINE_LOCATION))) {
-
- } else {
- ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION
-
- },
- REQUEST_PERMISSIONS);
- }
- } else {
-
- if (isTutor) {
- Intent intent = new Intent(getApplicationContext(), BackgroundLocalizationService.class);
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- startForegroundService(intent);
- } else {
- startService(intent);
- }
-
- } else {
- Toast.makeText(getApplicationContext(), "Please enable the gps", Toast.LENGTH_SHORT).show();
- }
- }
- }
-
- @Override
- public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
-
- switch (requestCode) {
- case REQUEST_PERMISSIONS: {
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- boolean_permission = true;
- } else {
- Toast.makeText(getApplicationContext(), "Please allow the permission", Toast.LENGTH_LONG).show();
- }
- }
- }
- }
-
- 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;
- }
- }
-
- private void fetchTopCoords() {
- disposable.add(
- // coordinateService.getTopCoordinates()
- coordinateService.getOnlineCoordinates()
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeWith(new DisposableSingleObserver>() {
- @Override
- public void onSuccess(List coordsList) {
-
-
- for (Coordinate element : coordsList) {
- String id = element.getUserId();
- Coordinate cord = coordsMap.get(id);
-
-
- Log.d("mapper", "a " + mapboxMap.getMarkerViewManager());
- Log.d("mapper", "b " + coordsMap.size());
- if (cord != null) {
- if (!cord.getLongitude().equals(element.getLongitude())
- ) {
- Log.d("mapper", " cos sie zienilo ");
- Marker marker = mapboxMap.addMarker(new MarkerViewOptions()
- .title(cord.getUserId())
- .position(new LatLng(cord.getLatitude(),cord.getLongitude())));
-
- ValueAnimator markerAnimator = ObjectAnimator.ofObject(marker, "position",
- new LatLngEvaluator(), marker.getPosition(), new LatLng(element.getLatitude(),element.getLongitude()));
- markerAnimator.setDuration(2000);
- markerAnimator.start();
-
- coordsMap.put(id,element);
- } else if (!cord.getTimeStamp().equals(element.getTimeStamp())){
- Log.d("mapper", "update");
- Log.d("mapper", " "+cord.getTimeStamp());
- Log.d("mapper", " "+element.getTimeStamp());
- coordsMap.put(id,element);
- }
- } else {
- coordsMap.put(id,element);
- mapboxMap.addMarker(new MarkerOptions().position(new LatLng(element.getLatitude(), element.getLongitude())));
- }
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("Error",e.toString());
- }
- })
- );
-
- }
-
- @Override
- protected void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- mapView.onSaveInstanceState(outState);
- }
-
- @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();
- }
-
- protected void onDestroy() {
- super.onDestroy();
- mapView.onDestroy();
- mHandler.removeCallbacks(mStatusChecker);
- disposable.dispose();
- }
-}
-
-
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/MapFragment.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/MapFragment.java
deleted file mode 100644
index d8c1e36..0000000
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/MapFragment.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.uam.wmi.findmytutor.activity;
-
-
-import android.os.Bundle;
-import android.app.Fragment;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.mapbox.mapboxsdk.maps.MapView;
-import com.uam.wmi.findmytutor.R;
-import com.uam.wmi.findmytutor.network.ApiClient;
-import com.uam.wmi.findmytutor.service.CoordinateService;
-
-import static com.mapbox.mapboxsdk.Mapbox.getApplicationContext;
-
-/**
- * A simple {@link Fragment} subclass.
- */
-public class MapFragment extends Fragment {
- private MapView mapView;
-
-
- public MapFragment() {
- // Required empty public constructor
- }
-
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_map, container, false);
- }
-
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
-
- mapView = (MapView) view.findViewById(R.id.mapView);
- mapView.onCreate(savedInstanceState);
- CoordinateService service = ApiClient.getClient(getApplicationContext())
- .create(CoordinateService.class);
- }
-
- @Override
- public void onStart() {
- super.onStart();
- mapView.onStart();
- }
-
- @Override
- public void onResume() {
- super.onResume();
- mapView.onResume();
-
- }
-
- @Override
- public void onPause() {
- super.onPause();
- mapView.onPause();
- }
-
- @Override
- public void onStop() {
- super.onStop();
- mapView.onStop();
- }
-
- @Override
- public void onLowMemory() {
- super.onLowMemory();
- mapView.onLowMemory();
- }
-
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- mapView.onDestroy();
- }
-
-// @Override
-// public void onDestroy() {
-// super.onDestroy();
-// mapView.onDestroy();
-// }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- mapView.onSaveInstanceState(outState);
- }
-
-
-
-}
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
deleted file mode 100644
index 5a3d92d..0000000
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/ProfileActivity.java
+++ /dev/null
@@ -1,14 +0,0 @@
-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/SettingsActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/SettingsActivity.java
deleted file mode 100644
index 13b75a1..0000000
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/SettingsActivity.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package com.uam.wmi.findmytutor.activity;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.os.Bundle;
-import android.preference.EditTextPreference;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceManager;
-import android.view.MenuItem;
-import com.uam.wmi.findmytutor.R;
-
-
-public class SettingsActivity extends AppCompatPreferenceActivity {
- private static final String TAG = SettingsActivity.class.getSimpleName();
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- // load settings fragment
- getFragmentManager().beginTransaction().replace(android.R.id.content, new MainPreferenceFragment()).commit();
- }
-
- public static class MainPreferenceFragment extends PreferenceFragment {
- @Override
- public void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.pref_main);
-
- //TODO add on change listeners for preferences
-
- // feedback preference click listener
- Preference myPref = findPreference(getString(R.string.key_send_feedback));
- myPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
- public boolean onPreferenceClick(Preference preference) {
- sendFeedback(getActivity());
- return true;
- }
- });
- }
-
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == android.R.id.home) {
- onBackPressed();
- }
- return super.onOptionsItemSelected(item);
- }
-
- private static void bindPreferenceSummaryToValue(Preference preference) {
- preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
-
- sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
- PreferenceManager
- .getDefaultSharedPreferences(preference.getContext())
- .getString(preference.getKey(), ""));
- }
-
- /**
- * A preference value change listener that updates the preference's summary
- * to reflect its new value.
- */
- private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- String stringValue = newValue.toString();
-
- if (preference instanceof ListPreference) {
- // For list preferences, look up the correct display value in
- // the preference's 'entries' list.
- ListPreference listPreference = (ListPreference) preference;
- int index = listPreference.findIndexOfValue(stringValue);
-
- // Set the summary to reflect the new value.
- preference.setSummary(
- index >= 0
- ? listPreference.getEntries()[index]
- : null);
-
- } else if (preference instanceof EditTextPreference) {
- if (preference.getKey().equals("key_gallery_name")) {
- // update the changed gallery name to summary filed
- preference.setSummary(stringValue);
- }
- } else {
- preference.setSummary(stringValue);
- }
- return true;
- }
- };
-
- /**
- * Email client intent to send support mail
- * Appends the necessary device information to email body
- * useful when providing support
- */
- public static void sendFeedback(Context context) {
- String body = null;
- try {
- body = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
- body = "\n\n-----------------------------\nPlease don't remove this information\n Device OS: Android \n Device OS version: " +
- Build.VERSION.RELEASE + "\n App Version: " + body + "\n Device Brand: " + Build.BRAND +
- "\n Device Model: " + Build.MODEL + "\n Device Manufacturer: " + Build.MANUFACTURER;
- } catch (PackageManager.NameNotFoundException e) {
- }
- Intent intent = new Intent(Intent.ACTION_SEND);
- intent.setType("message/rfc822");
- intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"team@findmytutor.com"});
- intent.putExtra(Intent.EXTRA_SUBJECT, "Query from android app");
- intent.putExtra(Intent.EXTRA_TEXT, body);
- context.startActivity(Intent.createChooser(intent, context.getString(R.string.choose_email_client)));
- }
-}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/SharingActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/SharingActivity.java
deleted file mode 100644
index a989f0e..0000000
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/SharingActivity.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package com.uam.wmi.findmytutor.activity;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.os.Bundle;
-import android.preference.EditTextPreference;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceManager;
-import android.util.Log;
-import android.view.MenuItem;
-import com.uam.wmi.findmytutor.R;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import static android.content.ContentValues.TAG;
-
-
-public class SharingActivity extends AppCompatPreferenceActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- getFragmentManager().beginTransaction().replace(android.R.id.content, new MainPreferenceFragment()).commit();
- }
-
- public static class MainPreferenceFragment extends PreferenceFragment {
- @Override
- public void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.layout.pref_sharing);
-
- Preference manualStatus = findPreference("key_manual_status");
- manualStatus.setOnPreferenceChangeListener((preference, newValue) -> {
- ListPreference lp = (ListPreference) findPreference("key_status_value");
- updateListPreference(lp, newValue, "manual_statuses");
- return true;
- });
-
- /* Preference manualLocation = findPreference("key_sharing_enabled");
- manualLocation.setOnPreferenceChangeListener((preference, newValue) -> {
- ListPreference lp = (ListPreference) findPreference("key_sharing_enabled");
- updateListPreference(lp, newValue, "sharing_enabled");
- return true;
- });*/
-
- Preference sharingLocation = findPreference("key_sharing_enabled");
- sharingLocation.setOnPreferenceChangeListener((preference, o) -> {
- Log.e("change", "1");
- return false;
- });
- }
-
-
- protected void updateListPreference(ListPreference lp,Object newValue,String storageKey){
- CharSequence [] entries = lp.getEntries();
- Set defaultEntries = new HashSet(Arrays.asList(entries));
- SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
- Set manualStatusSet = sharedPref.getStringSet(storageKey,defaultEntries);
- manualStatusSet.add((String) newValue);
- String [] manualStatusArr = manualStatusSet.toArray(new String[0]);
- Arrays.sort(manualStatusArr);
- setListPreferenceData(lp.getKey(),manualStatusArr);
- SharedPreferences.Editor editor = sharedPref.edit();
- editor.putStringSet(storageKey,manualStatusSet);
- editor.commit();
- }
-
- protected ListPreference setListPreferenceData(String lp_name, String [] entries) {
- ListPreference lp = (ListPreference) findPreference(lp_name);
- lp.setEntries(entries);
- CharSequence[] entryValues = new CharSequence [entries.length];
-
- for (int i = 0; i < entries.length; i++){
- entryValues[i] = Integer.toString(i+1);
- }
-
- lp.setDefaultValue("1");
- lp.setEntryValues(entryValues);
-
- return lp;
- }
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == android.R.id.home) {
- onBackPressed();
- }
- return super.onOptionsItemSelected(item);
- }
-
- /**
- * Email client intent to send support mail
- * Appends the necessary device information to email body
- * useful when providing support
- */
-/* public static void sendFeedback(Context context) {
- String body = null;
- try {
- body = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
- body = "\n\n-----------------------------\nPlease don't remove this information\n Device OS: Android \n Device OS version: " +
- Build.VERSION.RELEASE + "\n App Version: " + body + "\n Device Brand: " + Build.BRAND +
- "\n Device Model: " + Build.MODEL + "\n Device Manufacturer: " + Build.MANUFACTURER;
- } catch (PackageManager.NameNotFoundException e) {
- }
- Intent intent = new Intent(Intent.ACTION_SEND);
- intent.setType("message/rfc822");
- intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"team@findmytutor.com"});
- intent.putExtra(Intent.EXTRA_SUBJECT, "Query from android app");
- intent.putExtra(Intent.EXTRA_TEXT, body);
- context.startActivity(Intent.createChooser(intent, context.getString(R.string.choose_email_client)));
- }*/
-}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/UsersListActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/UsersListActivity.java
index b201432..caf83e4 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/UsersListActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/UsersListActivity.java
@@ -1,7 +1,6 @@
package com.uam.wmi.findmytutor.activity;
import android.app.Fragment;
-import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.CoordinatorLayout;
@@ -10,7 +9,6 @@ import android.support.v7.app.AlertDialog;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -21,6 +19,7 @@ import android.widget.TextView;
import com.annimon.stream.Stream;
import com.jakewharton.retrofit2.adapter.rxjava2.HttpException;
import com.uam.wmi.findmytutor.R;
+import com.uam.wmi.findmytutor.adapters.TutorsAdapter;
import com.uam.wmi.findmytutor.model.DutyHourViewModel;
import com.uam.wmi.findmytutor.model.TutorTabViewModel;
import com.uam.wmi.findmytutor.model.User;
@@ -30,7 +29,6 @@ import com.uam.wmi.findmytutor.service.UserService;
import com.uam.wmi.findmytutor.utils.MyDividerItemDecoration;
import com.uam.wmi.findmytutor.utils.RecyclerTouchListener;
import com.uam.wmi.findmytutor.utils.RestApiHelper;
-import com.uam.wmi.findmytutor.view.TutorsAdapter;
import java.util.ArrayList;
import java.util.Collections;
@@ -48,6 +46,7 @@ import static com.mapbox.mapboxsdk.Mapbox.getApplicationContext;
public class UsersListActivity extends Fragment {
private static final String TAG = UsersListActivity.class.getSimpleName();
+
@BindView(R.id.coordinator_layout)
CoordinatorLayout coordinatorLayout;
@BindView(R.id.recycler_view)
@@ -77,7 +76,6 @@ public class UsersListActivity extends Fragment {
}
public void onViewCreated(View view, Bundle savedInstanceState) {
-
ButterKnife.bind(this, view);
userService = ApiClient.getClient(getApplicationContext())
@@ -110,12 +108,9 @@ public class UsersListActivity extends Fragment {
}
public void searchUser(String textToSearch) {
- Log.e("SEARCH", textToSearch);
- tutorsList.toString();
-
tutorsFiltered.clear();
tutorsFiltered.addAll(Stream.of(tutorsList).filter(t ->
- t.toSearchString().toLowerCase().contains(textToSearch.toLowerCase())).toList());
+ t.toSearchAbleString().toLowerCase().contains(textToSearch.toLowerCase())).toList());
mAdapter.notifyDataSetChanged();
}
@@ -169,7 +164,6 @@ public class UsersListActivity extends Fragment {
}));
}
-
private void fetchAllTutors() {
disposable.add(
userService.apiUsersGet()
@@ -204,7 +198,6 @@ public class UsersListActivity extends Fragment {
tutorsFiltered.addAll(users);
mAdapter.notifyDataSetChanged();
toggleEmptyNotes();
-
}
@Override
@@ -227,11 +220,8 @@ public class UsersListActivity extends Fragment {
message = RestApiHelper.getErrorMessage(responseBody);
}
- Snackbar snackbar = Snackbar.make(coordinatorLayout, message, Snackbar.LENGTH_LONG);
- View sbView = snackbar.getView();
- TextView textView = sbView.findViewById(android.support.design.R.id.snackbar_text);
- textView.setTextColor(Color.BLUE);
- snackbar.show();
+ Snackbar.make(coordinatorLayout, message, Snackbar.LENGTH_LONG)
+ .show();
}
private void toggleEmptyNotes() {
@@ -252,25 +242,19 @@ public class UsersListActivity extends Fragment {
public void onResume() {
super.onResume();
fetchAllTutors();
- Log.e(TAG, "onResume");
}
@Override
public void onPause() {
super.onPause();
- Log.e(TAG, "onPause");
-
}
@Override
public void onStop() {
super.onStop();
- Log.e(TAG, "onStop");
}
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
-
-
}
\ No newline at end of file
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/view/TutorsAdapter.java b/app/src/main/java/com/uam/wmi/findmytutor/adapters/TutorsAdapter.java
similarity index 91%
rename from app/src/main/java/com/uam/wmi/findmytutor/view/TutorsAdapter.java
rename to app/src/main/java/com/uam/wmi/findmytutor/adapters/TutorsAdapter.java
index 3b623e3..070d4af 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/view/TutorsAdapter.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/adapters/TutorsAdapter.java
@@ -1,11 +1,8 @@
-package com.uam.wmi.findmytutor.view;
+package com.uam.wmi.findmytutor.adapters;
import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.support.v7.widget.RecyclerView;
-import android.text.Html;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -13,8 +10,6 @@ import android.view.ViewGroup;
import android.widget.TextView;
import com.uam.wmi.findmytutor.R;
-import com.uam.wmi.findmytutor.model.ReturnedTutors;
-import com.uam.wmi.findmytutor.model.Tutor;
import com.uam.wmi.findmytutor.model.User;
import java.util.List;
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/model/User.java b/app/src/main/java/com/uam/wmi/findmytutor/model/User.java
index 6cc363e..0e5c0d5 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/model/User.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/model/User.java
@@ -702,7 +702,7 @@ public class User extends BaseResponse {
}
- public String toSearchString() {
+ public String toSearchAbleString() {
StringBuilder sb = new StringBuilder();
sb.append(getFirstName()).append(" ");
sb.append(getLastName()).append(" ");
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/service/UserService.java b/app/src/main/java/com/uam/wmi/findmytutor/service/UserService.java
index 19152bf..e8f415f 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/service/UserService.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/service/UserService.java
@@ -33,15 +33,8 @@ public interface UserService {
@GET("api/users/page/{pageNum}")
Single getPagedUsers(@Path("pageNum") String pageNum );
- /* @GET("api/users/tutors/page/{pageNum}")
- //Observable getPagedTutors(@Path("pageNum") String pageNum);
- Single getPagedTutors(@Path("pageNum") String pageNum);*/
-
@GET("api/users/tutors/page/{pageNum}")
- Single getPagedTutors(
- @retrofit2.http.Path("pageNum") Integer pageNum
- );
-
+ Single getPagedTutors(@Path("pageNum") Integer pageNum );
@GET("api/users/students/page/{pageNum}")
Single getPagedStudents(@Path("pageNum") String pageNum);
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/utils/ActiveFragment.java b/app/src/main/java/com/uam/wmi/findmytutor/utils/ActiveFragment.java
new file mode 100644
index 0000000..bc71d2e
--- /dev/null
+++ b/app/src/main/java/com/uam/wmi/findmytutor/utils/ActiveFragment.java
@@ -0,0 +1,8 @@
+package com.uam.wmi.findmytutor.utils;
+
+public enum ActiveFragment {
+ USER_LIST,
+ SHARED_PREFERENCES,
+ NONE
+}
+
diff --git a/app/src/main/res/layout/users_list_main.xml b/app/src/main/res/layout/users_list_main.xml
index d45ea30..6e6b891 100644
--- a/app/src/main/res/layout/users_list_main.xml
+++ b/app/src/main/res/layout/users_list_main.xml
@@ -23,7 +23,7 @@
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin_top_no_notes"
android:fontFamily="sans-serif-light"
- android:text="@string/there_is_no_users_in_system"
+ android:text="@string/loading"
android:textColor="@color/msg_no_notes"
android:textSize="@dimen/msg_no_notes" />
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 2312443..7885e42 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -206,4 +206,5 @@ functionality.
Dyżury
Invalid format of login. Use s11111 format
Zakład
+ Loading ...