diff --git a/SWADroid/build.gradle b/SWADroid/build.gradle
index 3f9848a5..57fef5fa 100644
--- a/SWADroid/build.gradle
+++ b/SWADroid/build.gradle
@@ -93,4 +93,5 @@ dependencies {
implementation 'com.google.zxing:core:3.4.1'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.google.firebase:firebase-core:17.5.1'
+ implementation 'com.google.android.material:material:1.2.1'
}
\ No newline at end of file
diff --git a/SWADroid/src/main/AndroidManifest.xml b/SWADroid/src/main/AndroidManifest.xml
index 1572ed68..7431a099 100644
--- a/SWADroid/src/main/AndroidManifest.xml
+++ b/SWADroid/src/main/AndroidManifest.xml
@@ -3,6 +3,9 @@
package="es.ugr.swad.swadroid"
android:installLocation="auto" >
+
+
+
@@ -14,6 +17,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
locationHistory = new ArrayList<>();
+
+ private final List> availableNetworks = new ArrayList<>();
+
+ private final double FREE_SPACE_PATH_LOSS_CONSTANT = 27.55;
+
+ private ListView history;
+
+ private ArrayAdapter locationHistoryAdapter;
+
+ private WifiManager wifiManager;
+
+ private ArrayList arrayReceivers = new ArrayList<>();
+
+ private ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
+
+ private TextView textView;
+
+ private boolean showMac = false;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.indoor_location);
+
+ setTitle(R.string.manageLocation);
+ Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
+
+ textView = findViewById(R.id.location_history);
+
+ history = findViewById(R.id.location_history_data);
+ wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
+
+ assert wifiManager != null;
+ if (!wifiManager.isWifiEnabled()) {
+ Toast.makeText(this, "Wifi is disabled ... You need to enable it", Toast.LENGTH_LONG).show();
+ }
+
+ locationHistory.add(getResources().getString(R.string.lostLocation));
+ locationHistoryAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, locationHistory);
+ history.setAdapter(locationHistoryAdapter);
+
+ history.setOnItemClickListener((adapterView, view, i, l) -> {
+ ClipboardManager clipboard = (ClipboardManager)
+ getSystemService(Context.CLIPBOARD_SERVICE);
+ ClipData clip = ClipData.newPlainText("macAddress", availableNetworks.get(0).first.BSSID);
+ clipboard.setPrimaryClip(clip);
+ });
+ }
+
+ private void init() {
+ Intent getAvailableRoles = new Intent(getApplicationContext(), GetAvailableRoles.class);
+ startActivityForResult(getAvailableRoles, Constants.GET_AVAILABLE_ROLES);
+
+ FloatingActionButton findUser = findViewById(R.id.find_user);
+ findUser.setOnClickListener(view -> {
+ stopScheduler();
+ Intent intent = new Intent(getApplicationContext(), SearchUsers.class);
+ intent.putExtra("receivers", arrayReceivers);
+ startActivityForResult(intent, Constants.SEARCH_USERS_REQUEST_CODE);
+ });
+
+ history = findViewById(R.id.location_history_data);
+
+ FloatingActionButton updateLocation = findViewById(R.id.user_location);
+ updateLocation.setOnClickListener(v -> {
+ stopScheduler();
+ if(Preferences.getShareLocation()) {
+ textView.setText(getString(R.string.lastLocation));
+
+ int syncTime = Integer.parseInt(Preferences.getSyncLocationTime());
+ Runnable wifiScanner = this::scanWifi;
+ try {
+ scheduler.scheduleAtFixedRate(wifiScanner,0, syncTime, TimeUnit.MINUTES);
+ } catch (IllegalArgumentException e) {
+ Log.e(TAG, e.getMessage(), e);
+ }
+ } else {
+ Toast.makeText(getApplicationContext(), getResources().getString(R.string.locationDisabled), Toast.LENGTH_LONG).show();
+ }
+ });
+
+ FloatingActionButton findMac = findViewById(R.id.find_mac);
+ findMac.setOnClickListener(v -> {
+ showMac = true;
+ scanWifi();
+ });
+ }
+
+ private void stopScheduler() {
+ scheduler.shutdownNow();
+ scheduler = Executors.newScheduledThreadPool(1);
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ requestMarshmallowPermissions();
+ } else {
+ requestSimplePermissions();
+ }
+
+ }
+
+ private void requestSimplePermissions() {
+ if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
+ != PackageManager.PERMISSION_GRANTED ||
+ ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_WIFI_STATE)
+ != PackageManager.PERMISSION_GRANTED ||
+ ContextCompat.checkSelfPermission(this, Manifest.permission.CHANGE_WIFI_STATE)
+ != PackageManager.PERMISSION_GRANTED){
+ ActivityCompat.requestPermissions(this,
+ new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
+ Manifest.permission.ACCESS_WIFI_STATE,
+ Manifest.permission.CHANGE_WIFI_STATE}, Constants.PERMISSION_MULTIPLE);
+ } else {
+ init();
+ }
+ }
+
+ @RequiresApi(api = Build.VERSION_CODES.Q)
+ private void requestMarshmallowPermissions() {
+ if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
+ != PackageManager.PERMISSION_GRANTED ||
+ ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_WIFI_STATE)
+ != PackageManager.PERMISSION_GRANTED ||
+ ContextCompat.checkSelfPermission(this, Manifest.permission.CHANGE_WIFI_STATE)
+ != PackageManager.PERMISSION_GRANTED ||
+ ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_BACKGROUND_LOCATION)
+ != PackageManager.PERMISSION_GRANTED){
+ ActivityCompat.requestPermissions(this,
+ new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
+ Manifest.permission.ACCESS_WIFI_STATE,
+ Manifest.permission.CHANGE_WIFI_STATE,
+ Manifest.permission.ACCESS_BACKGROUND_LOCATION}, Constants.PERMISSION_MULTIPLE);
+ } else {
+ init();
+ }
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+
+ if (data != null) {
+ switch (requestCode) {
+ case Constants.SEARCH_USERS_REQUEST_CODE:
+ arrayReceivers = data.getParcelableArrayListExtra("receivers");
+ if (arrayReceivers != null && !arrayReceivers.isEmpty()) {
+ locationHistory.clear();
+ locationHistoryAdapter.notifyDataSetChanged();
+ UserFilter user = ((UserFilter)arrayReceivers.get(0));
+ String userText = getResources().getString(R.string.userLocation) + " " + user.getUserFirstname() + " "
+ + user.getUserSurname1();
+ textView.setText(userText);
+ Intent getLastLocation = new Intent(getApplicationContext(), GetLastLocation.class);
+ getLastLocation.putExtra("userCode", user.getUserCode());
+ startActivityForResult(getLastLocation, Constants.GET_LAST_LOCATION);
+ }
+ break;
+ case Constants.GET_LOCATION:
+ Location location = (Location) data.getSerializableExtra("location");
+ if (location != null) {
+ double distance = (double) data.getSerializableExtra("distance");
+ locationHistory.add(
+ getBasicInformation(location) +
+ getResources().getString(R.string.distance) + ": " + distance + " m");
+ locationHistoryAdapter.notifyDataSetChanged();
+ Intent sendCurrentLocation = new Intent(getApplicationContext(), SendCurrentLocation.class);
+ sendCurrentLocation.putExtra("roomCode", location.getRoomCode());
+ startActivityForResult(sendCurrentLocation, Constants.SEND_CURRENT_LOCATION);
+ } else {
+ if (availableNetworks.isEmpty()) {
+ stopScheduler();
+ Log.d(TAG, "No more available networks");
+ } else {
+ Intent getLocation = new Intent(this.getApplicationContext(), GetLocation.class);
+ getLocation.putExtra("mac", availableNetworks.get(0).first.BSSID.replace(":",""));
+ availableNetworks.remove(0);
+ startActivityForResult(getLocation, Constants.GET_LOCATION);
+ }
+ }
+ break;
+ case Constants.GET_LAST_LOCATION:
+ LocationTimeStamp locationTimeStamp = (LocationTimeStamp) data.getSerializableExtra("locationTimeStamp");
+ if (locationTimeStamp != null && locationTimeStamp.getRoomCode() != -1) {
+ Date checkIn = new Date((long)locationTimeStamp.getCheckInTime()*1000);
+ SimpleDateFormat ft = new SimpleDateFormat ("hh:mm a", Locale.getDefault());
+ locationHistory.clear();
+ locationHistory.add(
+ getBasicInformation(locationTimeStamp) +
+ getResources().getString(R.string.checkIn) + ": "+ ft.format(checkIn));
+ locationHistoryAdapter.notifyDataSetChanged();
+ } else {
+ if (locationHistory.isEmpty()) {
+ locationHistory.add(getResources().getString(R.string.lostLocation));
+ locationHistoryAdapter.notifyDataSetChanged();
+ }
+ }
+ break;
+ case Constants.SEND_CURRENT_LOCATION:
+ if ((boolean) data.getSerializableExtra("success"))
+ Log.d(TAG, "Current location sent");
+ break;
+ case Constants.GET_AVAILABLE_ROLES:
+ int rol = ((Roles) Objects.requireNonNull(data.getSerializableExtra("roles"))).getRol();
+ int bitEnabled = Integer.toBinaryString(rol).length();
+
+ FloatingActionButton findMac = findViewById(R.id.find_mac);
+ if (bitEnabled >= 7 ){
+ findMac.setVisibility(View.VISIBLE);
+ }else{
+ findMac.setVisibility(View.INVISIBLE);
+ }
+ }
+ }
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+
+ private void scanWifi() {
+ Log.i(TAG, "SCANNING WIFI");
+ registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
+ wifiManager.startScan();
+ }
+
+ private final BroadcastReceiver wifiReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ List results = wifiManager.getScanResults();
+ unregisterReceiver(this);
+ if (!results.isEmpty()) {
+ for (ScanResult scanResult : results) {
+ int distance = (int) calculateDistance(scanResult.level, scanResult.frequency);
+ availableNetworks.add(new Pair<>(scanResult, distance));
+ }
+ availableNetworks.sort((n1, n2) -> n1.second - n2.second);
+ scanFinished();
+ }
+ }
+
+ private void scanFinished() {
+ if (!showMac){
+ Intent getLocation = new Intent(getApplicationContext(), GetLocation.class);
+ getLocation.putExtra("mac", availableNetworks.get(0).first.BSSID.replace(":",""));
+ getLocation.putExtra("distance", availableNetworks.get(0).second.doubleValue());
+ startActivityForResult(getLocation, Constants.GET_LOCATION);
+ } else {
+ showMac = false;
+ locationHistory.clear();
+ locationHistory.add(availableNetworks.get(0).first.SSID + " - " + availableNetworks.get(0).first.BSSID + " - " + availableNetworks.get(0).second + "m" );
+ locationHistoryAdapter.notifyDataSetChanged();
+ textView.setText(getString(R.string.nearestLocation));
+ }
+
+ }
+
+ private double calculateDistance(double levelInDb, double freqInMHz) {
+ double exp = (FREE_SPACE_PATH_LOSS_CONSTANT - (20 * Math.log10(freqInMHz)) + Math.abs(levelInDb)) / 20.0;
+ return Math.pow(10.0, exp);
+ }
+ };
+
+ @Override
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+ switch (requestCode) {
+ case Constants.PERMISSION_MULTIPLE: {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED
+ && grantResults[1] == PackageManager.PERMISSION_GRANTED
+ && grantResults[2] == PackageManager.PERMISSION_GRANTED
+ && grantResults[3] == PackageManager.PERMISSION_GRANTED) {
+ init();
+ } else {
+ setResult(Activity.RESULT_CANCELED);
+ finish();
+ }
+ } else {
+ if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED
+ && grantResults[1] == PackageManager.PERMISSION_GRANTED
+ && grantResults[2] == PackageManager.PERMISSION_GRANTED) {
+ init();
+ } else {
+ setResult(Activity.RESULT_CANCELED);
+ finish();
+ }
+ }
+ }
+ }
+ }
+
+ private String getBasicInformation(Location location) {
+ return getResources().getString(R.string.institution) + ": " + location.getInstitutionShortName() + "\n" +
+ getResources().getString(R.string.center) + ": " + location.getCenterFullName() + "\n" +
+ getResources().getString(R.string.building) + ": " + location.getBuildingFullName() + "\n" +
+ getResources().getString(R.string.floor) + ": " + location.getFloor() + "\n" +
+ getResources().getString(R.string.room) + ": " + location.getFloor() + "\n";
+ }
+}
diff --git a/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/indoorlocation/SendCurrentLocation.java b/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/indoorlocation/SendCurrentLocation.java
new file mode 100644
index 00000000..798d9a13
--- /dev/null
+++ b/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/indoorlocation/SendCurrentLocation.java
@@ -0,0 +1,86 @@
+package es.ugr.swad.swadroid.modules.indoorlocation;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+
+import org.ksoap2.serialization.SoapObject;
+
+import es.ugr.swad.swadroid.Constants;
+import es.ugr.swad.swadroid.modules.Module;
+import es.ugr.swad.swadroid.modules.login.Login;
+import es.ugr.swad.swadroid.webservices.SOAPClient;
+
+public class SendCurrentLocation extends Module {
+ /**
+ * Messages tag name for Logcat
+ */
+ private static final String TAG = Constants.APP_TAG + " SendCurrentLocation";
+ /**
+ * Room code
+ */
+ private Integer roomCode;
+
+ @Override
+ protected void runConnection() {
+ super.runConnection();
+ if (!isConnected) {
+ setResult(RESULT_CANCELED);
+ finish();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see android.app.Activity#onCreate()
+ */
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setMETHOD_NAME("sendMyLocation");
+ getSupportActionBar().hide();
+ }
+
+ /* (non-Javadoc)
+ * @see android.app.Activity#onStart()
+ */
+ @Override
+ protected void onStart() {
+ super.onStart();
+ roomCode = getIntent().getIntExtra("roomCode", -1);
+ connect();
+ }
+
+ @Override
+ protected void requestService() throws Exception {
+ boolean success = false;
+ createRequest(SOAPClient.CLIENT_TYPE);
+ addParam("wsKey", Login.getLoggedUser().getWsKey());
+ addParam("roomCode", roomCode);
+ sendRequest(Boolean.class, true);
+
+ if (result != null) {
+ SoapObject soap = (SoapObject) result;
+ success = Integer.parseInt(soap.getProperty("success").toString()) != 0;
+ }
+
+ Intent intent = new Intent();
+ intent.putExtra("success", success);
+ setResult(Activity.RESULT_OK, intent);
+ }
+
+ @Override
+ protected void connect() {
+ startConnection();
+ }
+
+ @Override
+ protected void postConnect() {
+ finish();
+ }
+
+ @Override
+ protected void onError() {
+
+ }
+
+}
diff --git a/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/messages/Messages.java b/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/messages/Messages.java
index c36081c1..eda17de7 100644
--- a/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/messages/Messages.java
+++ b/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/messages/Messages.java
@@ -353,7 +353,7 @@ public class Messages extends Module {
}
for(int i=0; i < arrayReceivers.size(); i++){
- frequentsList.add(new FrequentUser(userLogged, arrayReceivers.get(i).getUserNickname(), arrayReceivers.get(i).getUserSurname1(), arrayReceivers.get(i).getUserSurname2(), arrayReceivers.get(i).getUserFirstname(), arrayReceivers.get(i).getUserPhoto(), false, INITIAL_SCORE));
+ frequentsList.add(new FrequentUser(userLogged, arrayReceivers.get(i).getUserNickname(), arrayReceivers.get(i).getUserSurname1(), arrayReceivers.get(i).getUserSurname2(), arrayReceivers.get(i).getUserFirstname(), arrayReceivers.get(i).getUserPhoto(), arrayReceivers.get(i).getUserCode(), false, INITIAL_SCORE));
Log.d(TAG, "frequent user '" + arrayReceivers.get(i).getUserNickname() + "' added = " + INITIAL_SCORE + " (sender = '" + userLogged + "')");
}
diff --git a/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/messages/SearchUsers.java b/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/messages/SearchUsers.java
index d9de75cd..beb6be21 100644
--- a/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/messages/SearchUsers.java
+++ b/SWADroid/src/main/java/es/ugr/swad/swadroid/modules/messages/SearchUsers.java
@@ -142,7 +142,9 @@ public class SearchUsers extends Module implements SearchView.OnQueryTextListene
frequentUsers = new FrequentUsersList();
arrayReceivers = (ArrayList) getIntent().getSerializableExtra("receivers");
//save the old receivers
- oldReceivers = (ArrayList) arrayReceivers.clone();
+ if (arrayReceivers != null) {
+ oldReceivers = (ArrayList) arrayReceivers.clone();
+ }
search = "";
@@ -181,9 +183,10 @@ public class SearchUsers extends Module implements SearchView.OnQueryTextListene
String surname2 = frequentsList.get(i).getUserSurname2();
String firstname = frequentsList.get(i).getUserFirstname();
String userPhoto = frequentsList.get(i).getUserPhoto();
+ int userCode = frequentsList.get(i).getUserCode();
boolean selected = frequentsList.get(i).getCheckbox();
Double score = frequentsList.get(i).getScore();
- frequentUsers.saveUser(new FrequentUser(idUser, nickname, surname1, surname2, firstname, userPhoto, selected, score));
+ frequentUsers.saveUser(new FrequentUser(idUser, nickname, surname1, surname2, firstname, userPhoto, userCode, selected, score));
}
updateCheckboxesFrequentUsers();
@@ -360,6 +363,7 @@ public class SearchUsers extends Module implements SearchView.OnQueryTextListene
String surname2 = pii.getPrimitiveProperty("userSurname2").toString();
String firstname = pii.getPrimitiveProperty("userFirstname").toString();
String userPhoto = pii.getPrimitiveProperty("userPhoto").toString();
+ int userCode = Integer.parseInt(pii.getPrimitiveProperty("userCode").toString());
boolean selected = false;
for(int j=0; j prefSyncTimeValues = Arrays.asList(getResources().getStringArray(R.array.prefSyncLocationTimeValues));
+ List prefSyncTimeEntries = Arrays.asList(getResources().getStringArray(R.array.prefSyncLocationTimeEntries));
+ int prefSyncTimeIndex = prefSyncTimeValues.indexOf(syncLocationTime);
+ String prefSyncTimeEntry = prefSyncTimeEntries.get(prefSyncTimeIndex);
+ Preferences.setSyncLocationTime(syncLocationTime);
+ syncTimeLocationPref.setSummary(prefSyncTimeEntry);
+ syncPrefsChanged = true;
}
return returnValue;
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_18dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_18dp.png
new file mode 100644
index 00000000..0660ff96
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_24dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_24dp.png
new file mode 100644
index 00000000..80159a41
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_36dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_36dp.png
new file mode 100644
index 00000000..296f47a0
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_48dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_48dp.png
new file mode 100644
index 00000000..0c7f2061
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_black_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_18dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_18dp.png
new file mode 100644
index 00000000..03601e20
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_24dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_24dp.png
new file mode 100644
index 00000000..5142e75f
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_36dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_36dp.png
new file mode 100644
index 00000000..c367e597
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_48dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_48dp.png
new file mode 100644
index 00000000..081502f4
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_grey600_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_18dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_18dp.png
new file mode 100644
index 00000000..1eab5e14
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_24dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_24dp.png
new file mode 100644
index 00000000..afb8ff38
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_36dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_36dp.png
new file mode 100644
index 00000000..52d6a891
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_48dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_48dp.png
new file mode 100644
index 00000000..ae4261a0
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_account_search_outline_white_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_18dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_18dp.png
new file mode 100644
index 00000000..b1bc0ee9
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_24dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_24dp.png
new file mode 100644
index 00000000..f60ef713
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_36dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_36dp.png
new file mode 100644
index 00000000..0e10e58f
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_48dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_48dp.png
new file mode 100644
index 00000000..50e73ddd
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_black_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_18dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_18dp.png
new file mode 100644
index 00000000..cd65a210
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_24dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_24dp.png
new file mode 100644
index 00000000..638700fe
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_36dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_36dp.png
new file mode 100644
index 00000000..204e7b69
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_48dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_48dp.png
new file mode 100644
index 00000000..e5ce6ff0
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_grey600_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_18dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_18dp.png
new file mode 100644
index 00000000..b34418da
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_24dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_24dp.png
new file mode 100644
index 00000000..c7827b7b
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_36dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_36dp.png
new file mode 100644
index 00000000..833cf639
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_48dp.png b/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_48dp.png
new file mode 100644
index 00000000..11c02faf
Binary files /dev/null and b/SWADroid/src/main/res/drawable-hdpi/ic_sync_white_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_18dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_18dp.png
new file mode 100644
index 00000000..01df66aa
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_24dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_24dp.png
new file mode 100644
index 00000000..3f04f39e
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_36dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_36dp.png
new file mode 100644
index 00000000..3054f55d
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_48dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_48dp.png
new file mode 100644
index 00000000..9e4ec32d
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_black_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_18dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_18dp.png
new file mode 100644
index 00000000..eaef1430
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_24dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_24dp.png
new file mode 100644
index 00000000..877260a2
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_36dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_36dp.png
new file mode 100644
index 00000000..d56eeaaf
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_48dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_48dp.png
new file mode 100644
index 00000000..b003d0d4
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_grey600_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_18dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_18dp.png
new file mode 100644
index 00000000..c99caeb4
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_24dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_24dp.png
new file mode 100644
index 00000000..78b6a8a2
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_36dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_36dp.png
new file mode 100644
index 00000000..f1515207
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_48dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_48dp.png
new file mode 100644
index 00000000..b483c235
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_account_search_outline_white_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_18dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_18dp.png
new file mode 100644
index 00000000..573ccfe6
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_24dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_24dp.png
new file mode 100644
index 00000000..b6f7d2e3
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_36dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_36dp.png
new file mode 100644
index 00000000..4040dbb0
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_48dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_48dp.png
new file mode 100644
index 00000000..f35c49a1
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_black_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_18dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_18dp.png
new file mode 100644
index 00000000..37c80553
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_24dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_24dp.png
new file mode 100644
index 00000000..00eef6da
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_36dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_36dp.png
new file mode 100644
index 00000000..42072ebe
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_48dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_48dp.png
new file mode 100644
index 00000000..6f6291fa
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_grey600_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_18dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_18dp.png
new file mode 100644
index 00000000..a00e041b
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_24dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_24dp.png
new file mode 100644
index 00000000..54fcb4d1
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_36dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_36dp.png
new file mode 100644
index 00000000..76e1d41e
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_48dp.png b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_48dp.png
new file mode 100644
index 00000000..a31258b9
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xhdpi/ic_sync_white_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_18dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_18dp.png
new file mode 100644
index 00000000..c067fae5
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_24dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_24dp.png
new file mode 100644
index 00000000..324e96bb
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_36dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_36dp.png
new file mode 100644
index 00000000..121536d9
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_48dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_48dp.png
new file mode 100644
index 00000000..540820cc
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_black_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_18dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_18dp.png
new file mode 100644
index 00000000..3f52e967
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_24dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_24dp.png
new file mode 100644
index 00000000..67ed3572
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_36dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_36dp.png
new file mode 100644
index 00000000..114f769b
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_48dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_48dp.png
new file mode 100644
index 00000000..1516342d
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_grey600_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_18dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_18dp.png
new file mode 100644
index 00000000..35c60915
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_24dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_24dp.png
new file mode 100644
index 00000000..a4f15de2
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_36dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_36dp.png
new file mode 100644
index 00000000..dad4ba3f
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_48dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_48dp.png
new file mode 100644
index 00000000..7c06a032
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_account_search_outline_white_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_18dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_18dp.png
new file mode 100644
index 00000000..5375a752
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_24dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_24dp.png
new file mode 100644
index 00000000..e9e6a8ed
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_36dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_36dp.png
new file mode 100644
index 00000000..aeb32a56
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_48dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_48dp.png
new file mode 100644
index 00000000..d52d7ee0
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_black_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_18dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_18dp.png
new file mode 100644
index 00000000..915b6df9
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_24dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_24dp.png
new file mode 100644
index 00000000..d84c98e3
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_36dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_36dp.png
new file mode 100644
index 00000000..529872da
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_48dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_48dp.png
new file mode 100644
index 00000000..e7f2f1fa
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_grey600_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_18dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_18dp.png
new file mode 100644
index 00000000..5af20847
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_18dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_24dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_24dp.png
new file mode 100644
index 00000000..0c60cd33
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_24dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_36dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_36dp.png
new file mode 100644
index 00000000..38897c87
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_36dp.png differ
diff --git a/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_48dp.png b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_48dp.png
new file mode 100644
index 00000000..9b35b25c
Binary files /dev/null and b/SWADroid/src/main/res/drawable-xxhdpi/ic_sync_white_48dp.png differ
diff --git a/SWADroid/src/main/res/drawable/account_search_outline.xml b/SWADroid/src/main/res/drawable/account_search_outline.xml
new file mode 100644
index 00000000..70078122
--- /dev/null
+++ b/SWADroid/src/main/res/drawable/account_search_outline.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/SWADroid/src/main/res/drawable/ic_person_pin_circle_black_24dp.xml b/SWADroid/src/main/res/drawable/ic_person_pin_circle_black_24dp.xml
new file mode 100644
index 00000000..6fdfe709
--- /dev/null
+++ b/SWADroid/src/main/res/drawable/ic_person_pin_circle_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/SWADroid/src/main/res/drawable/sync.xml b/SWADroid/src/main/res/drawable/sync.xml
new file mode 100644
index 00000000..b9b18c7c
--- /dev/null
+++ b/SWADroid/src/main/res/drawable/sync.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/SWADroid/src/main/res/layout/indoor_location.xml b/SWADroid/src/main/res/layout/indoor_location.xml
new file mode 100644
index 00000000..55d231e8
--- /dev/null
+++ b/SWADroid/src/main/res/layout/indoor_location.xml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SWADroid/src/main/res/raw-es/authors.html b/SWADroid/src/main/res/raw-es/authors.html
index e1bfe129..4e2901eb 100644
--- a/SWADroid/src/main/res/raw-es/authors.html
+++ b/SWADroid/src/main/res/raw-es/authors.html
@@ -44,5 +44,10 @@
Mensajes: Búsqueda de destinatarios
+ Javier Bueno López
+
+ - Módulo para localización en interiores
+
+
+1.6.0 (upcoming)
+
+ - Corregida descarga de archivos en Android R
+ - Añadido módulo para localización en interiores
+
+
1.5.6 (2019-11-05)
diff --git a/SWADroid/src/main/res/raw/authors.html b/SWADroid/src/main/res/raw/authors.html
index 87c223b6..7039338b 100644
--- a/SWADroid/src/main/res/raw/authors.html
+++ b/SWADroid/src/main/res/raw/authors.html
@@ -44,5 +44,10 @@
- Messages: Search of recipients
+ Javier Bueno López
+
+ - Module for indoor location
+
+
diff --git a/SWADroid/src/main/res/raw/changes.html b/SWADroid/src/main/res/raw/changes.html
index 60b0589a..9fafbc1f 100644
--- a/SWADroid/src/main/res/raw/changes.html
+++ b/SWADroid/src/main/res/raw/changes.html
@@ -14,6 +14,13 @@
+
+1.6.0 (upcoming)
+
+ - Fixed file downloads on Android R
+ - Added indoor location module
+
+
1.5.6 (2019-11-05)
diff --git a/SWADroid/src/main/res/values-es/lists.xml b/SWADroid/src/main/res/values-es/lists.xml
index cf90a83a..3c53a301 100644
--- a/SWADroid/src/main/res/values-es/lists.xml
+++ b/SWADroid/src/main/res/values-es/lists.xml
@@ -24,5 +24,21 @@
- 12 horas
- 24 horas
+
+ - 1 minuto
+ - 2 minutos
+ - 5 minutos
+ - 15 minutos
+ - 30 minutos
+ - 1 hora
+
+
+ - 1
+ - 2
+ - 5
+ - 15
+ - 30
+ - 60
+
\ No newline at end of file
diff --git a/SWADroid/src/main/res/values-es/strings.xml b/SWADroid/src/main/res/values-es/strings.xml
index 0d17e46e..264c8194 100644
--- a/SWADroid/src/main/res/values-es/strings.xml
+++ b/SWADroid/src/main/res/values-es/strings.xml
@@ -14,6 +14,7 @@
Enviar mensaje
Publicar aviso
Generar código QR
+ Ubicación en interiores
ERROR
¿Está usted seguro?
Cerrar
@@ -335,4 +336,24 @@
Principal
Política de privacidad
Archivos
-
\ No newline at end of file
+ Compartir mi ubicación
+ Encontrar usuario
+ Última ubicación
+ Actualizar
+ Ubicación en interiores
+ Notificaciones
+ Habilitar ubicación en interiores
+ Frecuencia de sincronización para ubicación
+ Ubicación en interiores
+ Es necesario activar la ubicación en interiores en las preferencias
+ Ubicación de
+ Institución
+ Centro
+ Edificio
+ Planta
+ Nombre
+ Distancia
+ Hora
+ Ubicación no encontrada
+ Punto de acceso inalámbrico más cercano
+
diff --git a/SWADroid/src/main/res/values/icons.xml b/SWADroid/src/main/res/values/icons.xml
index 771b3f93..d1f3aabc 100644
--- a/SWADroid/src/main/res/values/icons.xml
+++ b/SWADroid/src/main/res/values/icons.xml
@@ -32,4 +32,5 @@
+
\ No newline at end of file
diff --git a/SWADroid/src/main/res/values/lists.xml b/SWADroid/src/main/res/values/lists.xml
index 01ccf3ba..23d5f78f 100644
--- a/SWADroid/src/main/res/values/lists.xml
+++ b/SWADroid/src/main/res/values/lists.xml
@@ -43,5 +43,21 @@
- 720
- 0
+
+ - 1 minute
+ - 2 minutes
+ - 5 minutes
+ - 15 minutes
+ - 30 minutes
+ - 1 hour
+
+
+ - 1
+ - 2
+ - 5
+ - 15
+ - 30
+ - 60
+
\ No newline at end of file
diff --git a/SWADroid/src/main/res/values/strings.xml b/SWADroid/src/main/res/values/strings.xml
index f7b423ce..9fc9c0f3 100644
--- a/SWADroid/src/main/res/values/strings.xml
+++ b/SWADroid/src/main/res/values/strings.xml
@@ -15,6 +15,7 @@
Send message
Publish notice
Generate QR code
+ Indoor location
ERROR
Are you sure?
Close
@@ -134,9 +135,8 @@
Telegram
Google Play
Blog
- Synchronization
- Synchronization frecuency
- Synchronization frecuency of notifications
+ Frequency
+ Synchronization frequency
prefSyncTime
Auto Sync
Enable auto sync
@@ -352,4 +352,26 @@
https://swadroid.wordpress.com/politica-de-proteccion-de-datos/
Privacy policy
Files
-
\ No newline at end of file
+ Share my location
+ Find user
+ Last location
+ Update
+ Synchronization
+ Synchronization frequency of indoor location
+ prefSyncLocationTime
+ Notifications
+ Enable indoor location
+ prefShareLocation
+ Indoor location
+ You need to activate sharing indoor location in preferences
+ Location
+ Institution
+ Center
+ Building
+ Floor
+ Name
+ Distance
+ Time
+ Location not found
+ Nearest wireless access point
+
diff --git a/SWADroid/src/main/res/xml/preferences.xml b/SWADroid/src/main/res/xml/preferences.xml
index c8a61a22..d8f430b7 100644
--- a/SWADroid/src/main/res/xml/preferences.xml
+++ b/SWADroid/src/main/res/xml/preferences.xml
@@ -9,7 +9,7 @@
android:key="logOutPref"
android:title="@string/logout_title_preferences" />
-
+
+
+
+
+
+
+ />
+
-
\ No newline at end of file
+
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index b3cfc2d4..426ad260 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,4 +1,4 @@
-#Tue Oct 13 16:43:57 CEST 2020
+#Wed Oct 14 19:23:58 CEST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME