diff --git a/.gitignore b/.gitignore
index 0c1fdca..e44c272 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
# Built application files
-*.apk
-*.ap_
+
# Files for the ART/Dalvik VM
*.dex
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 4485cfe..b55bb4e 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,6 +5,7 @@ import android.app.FragmentTransaction;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
@@ -18,6 +19,7 @@ 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.util.DisplayMetrics;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -30,6 +32,7 @@ import com.uam.wmi.findmytutor.utils.ActiveFragment;
import com.uam.wmi.findmytutor.utils.PrefUtils;
+
public abstract class BaseActivity
extends AppCompatActivity
implements BottomNavigationView.OnNavigationItemSelectedListener {
@@ -54,25 +57,24 @@ public abstract class BaseActivity
drawerNavigationView = findViewById(R.id.nav_view);
sideDrawer = findViewById(R.id.activity_container);
-
drawerNavigationView.setNavigationItemSelectedListener(
item -> {
String itemName = (String) item.getTitle();
Intent launchIntent;
- if (itemName.equals("Whitelist")) {
+ if (itemName.equals(getResources().getString(R.string.navigation_item_whitelist))) {
/* launchIntent = new Intent(getApplicationContext(), WhitelistActivity.class);
startActivity(launchIntent);*/
- } else if (itemName.equals("Blacklist")) {
+ } else if (itemName.equals(getResources().getString(R.string.navigation_item_blacklist))) {
/* launchIntent = new Intent(getApplicationContext(), BlacklistActivity.class);
startActivity(launchIntent);*/
- } else if (itemName.equals("Profile")) {
+ } else if (itemName.equals(getResources().getString(R.string.navigation_item_profile))) {
/* launchIntent = new Intent(getApplicationContext(), ProfileActivity.class);
startActivity(launchIntent);*/
- } else if (itemName.equals("Settings")) {
+ } else if (itemName.equals(getResources().getString(R.string.navigation_item_settings))) {
launchIntent = new Intent(getApplicationContext(), SettingsActivity.class);
startActivity(launchIntent);
- } else if (itemName.equals("Log out")) {
+ } else if (itemName.equals(getResources().getString(R.string.navigation_item_logout))) {
stopBackgroundLocalizationTask();
PrefUtils.cleanUserLocalStorage(getApplicationContext());
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/LoginActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/LoginActivity.java
index 6241f50..6b33d70 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/LoginActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/LoginActivity.java
@@ -51,7 +51,6 @@ public class LoginActivity extends AppCompatActivity {
private LdapService ldapService;
private UserService userService;
private CompositeDisposable disposable = new CompositeDisposable();
- private Boolean isTutor = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
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
index 99d1a75..d718a92 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java
@@ -6,10 +6,14 @@ import android.animation.ValueAnimator;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
+import android.util.DisplayMetrics;
import android.util.Log;
+import android.widget.Toast;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.annotations.Marker;
@@ -37,13 +41,13 @@ import io.reactivex.observers.DisposableSingleObserver;
import io.reactivex.schedulers.Schedulers;
+import java.util.Locale;
+
public class MapActivity extends BaseActivity
implements OnMapReadyCallback {
-
String tag = "LifeCycleEvents";
-
private MapView mapView;
private MapboxMap mapboxMap;
private int mInterval = 10000;
@@ -56,7 +60,8 @@ public class MapActivity extends BaseActivity
private Runnable mStatusChecker;
-
+ Locale myLocale;
+ String currentLanguage = "pl", currentLang;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -90,8 +95,14 @@ public class MapActivity extends BaseActivity
//start background task
startBackgroundLocalizationTask();
+
+ currentLanguage = getIntent().getStringExtra(currentLang);
+
}
+
+
+
@Override
public void onMapReady(MapboxMap map) {
mapboxMap = map;
@@ -187,7 +198,21 @@ public class MapActivity extends BaseActivity
}
-
+ public void setLocale(String localeName) {
+ if (!localeName.equals(currentLanguage)) {
+ myLocale = new Locale(localeName);
+ Resources res = getResources();
+ DisplayMetrics dm = res.getDisplayMetrics();
+ Configuration conf = res.getConfiguration();
+ conf.locale = myLocale;
+ res.updateConfiguration(conf, dm);
+ Intent refresh = new Intent(this, MapActivity.class);
+ refresh.putExtra(currentLang, localeName);
+ startActivity(refresh);
+ } else {
+ Toast.makeText(this, "Language already selected!", Toast.LENGTH_SHORT).show();
+ }
+ }
@@ -236,37 +261,6 @@ public class MapActivity extends BaseActivity
mapView.onSaveInstanceState(outState);
}
-
-
- /*@Override
- public void startLocalizationService() {
- if ((ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)) {
-
- if ((ActivityCompat.shouldShowRequestPermissionRationale(MapActivity.this, android.Manifest.permission.ACCESS_FINE_LOCATION))) {
-
- } else {
- ActivityCompat.requestPermissions(MapActivity.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
protected int getContentViewId() {
return R.layout.activity_map;
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
index 42551a9..9ee6011 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/SettingsActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/SettingsActivity.java
@@ -1,9 +1,13 @@
package com.uam.wmi.findmytutor.activity;
+import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.content.pm.PackageManager;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
import android.preference.EditTextPreference;
@@ -11,31 +15,82 @@ import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
+import android.util.DisplayMetrics;
+import android.util.Log;
import android.view.MenuItem;
+import android.widget.Toast;
+
import com.uam.wmi.findmytutor.R;
+import com.uam.wmi.findmytutor.utils.PrefUtils;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
+import static com.mapbox.mapboxsdk.Mapbox.getApplicationContext;
public class SettingsActivity extends AppCompatPreferenceActivity {
private static final String TAG = SettingsActivity.class.getSimpleName();
+ Locale myLocale;
+ String currentLanguage = "pl", currentLang;
@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 void setLocale(String localeName) {
+
+ Locale myLocale = new Locale(localeName);
+ Resources res = getResources();
+ DisplayMetrics dm = res.getDisplayMetrics();
+ Configuration conf = res.getConfiguration();
+ conf.locale = myLocale;
+ res.updateConfiguration(conf, dm);
+ Intent refresh = new Intent(this, MapActivity.class);
+ refresh.putExtra(currentLang, localeName);
+ startActivity(refresh);
+ }
+
+
public static class MainPreferenceFragment extends PreferenceFragment {
+ @SuppressLint("ResourceType")
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.pref_main);
+
+ Preference languagesList = findPreference(getResources().getString(R.string.key_language));
+
+ languagesList.setOnPreferenceChangeListener((preference, newValue) -> {
+ if (!newValue.toString().equals("0")){
+ ((SettingsActivity)getActivity()).setLocale("pl");
+ PrefUtils.storeLocale(getActivity(),"pl");
+ }else{
+ ((SettingsActivity)getActivity()).setLocale("en");
+ PrefUtils.storeLocale(getActivity(),"en");
+ }
+
+ return true;
+ });
+
+
+
+
}
}
+
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
@@ -85,26 +140,8 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
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/StartupActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/StartupActivity.java
index 934b486..430311b 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
@@ -2,20 +2,28 @@ package com.uam.wmi.findmytutor.activity;
import android.app.Activity;
import android.content.Intent;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
+import android.util.DisplayMetrics;
+import android.widget.Toast;
import com.uam.wmi.findmytutor.utils.PrefUtils;
+import java.util.Locale;
+
public class StartupActivity extends AppCompatActivity {
private static final int AUTHENTICATION_REQUEST_CODE = 666;
+ String currentLang;
@Override
protected void onCreate(Bundle savedInstanceState) {
if (PrefUtils.isLoggedIn(getApplicationContext())){
Intent startupIntent = new Intent(this, MapActivity.class);
+ startupIntent.putExtra(currentLang, PrefUtils.getLocale(getApplicationContext()));
startupIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(startupIntent);
finish();
@@ -38,4 +46,8 @@ public class StartupActivity extends AppCompatActivity {
finish();
}
+
+
+
+
}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/utils/PrefUtils.java b/app/src/main/java/com/uam/wmi/findmytutor/utils/PrefUtils.java
index 07eb7a8..2977ea2 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/utils/PrefUtils.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/utils/PrefUtils.java
@@ -114,8 +114,15 @@ public class PrefUtils {
editor.apply();
}
- public static String getUserName(Context context) {
- return getSharedPreferences(context).getString("USER_NAME", null);
+ public static void storeLocale(Context context, String locale) {
+ SharedPreferences.Editor editor = getSharedPreferences(context).edit();
+ editor.putString("LOCALE", locale);
+ editor.apply();
}
+ public static String getLocale(Context context) {
+ return getSharedPreferences(context).getString("LOCALE", null);
+ }
+
+
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/pref_main.xml b/app/src/main/res/layout/pref_main.xml
index fdc9b61..9bf76bb 100644
--- a/app/src/main/res/layout/pref_main.xml
+++ b/app/src/main/res/layout/pref_main.xml
@@ -3,12 +3,12 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/user_list_modal.xml b/app/src/main/res/layout/user_list_modal.xml
index 8355b19..f154ef3 100644
--- a/app/src/main/res/layout/user_list_modal.xml
+++ b/app/src/main/res/layout/user_list_modal.xml
@@ -14,7 +14,6 @@
android:layout_marginBottom="@dimen/dimen_10"
android:fontFamily="sans-serif-medium"
android:lineSpacingExtra="8sp"
- android:text="@string/lbl_new_note_title"
android:textColor="@color/colorAccent"
android:textSize="@dimen/lbl_new_note_title"
android:textStyle="normal" />
diff --git a/app/src/main/res/menu/nav_items.xml b/app/src/main/res/menu/nav_items.xml
index 310e506..6fa4e02 100644
--- a/app/src/main/res/menu/nav_items.xml
+++ b/app/src/main/res/menu/nav_items.xml
@@ -5,7 +5,7 @@
+ android:title="@string/title_sharing" />
+ android:title="@string/user_list_nav" />
\ No newline at end of file
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 5a62888..b686890 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -1,16 +1,13 @@
Zaloguj
- Hasło (opcjonalne)
Zaloguj
Nieprawidłowe hasło
Hasło jest zbyt krótkie
Nieprawidłowy mail
To pole jest wymagane
+ Hasło
-
-
-
Udostępnianie
Udostępnianie lokalizacji
Poziom udostępniania
@@ -19,11 +16,6 @@
Dokładna
Sczegółowość udostępniania
key_location_level
-
- Status
- Nie przeszkadzać
- Czekam na studentów
- Na wakacjach
Opis
key_description
@@ -36,7 +28,8 @@
Wybierz język
O aplikacji
- We are just like you :)\nA group of people trying to shape our everyday life into something useful. We hope to bring you the best product and quality of service.\nThank you for using our app !
+
+ Jesteśmy grupą studentów, która chce pomoć w rozwoju naszego wydziału.\nDziękujemy za używanie naszej aplikacji.\nZespół FMT.!
0.1.0
Masz jakieś pytania? Uwagi? Chętnie odpiszemy!
Skontaktuj się z nami
@@ -46,4 +39,86 @@
http://findmytutor.projektstudencki.pl/terms-of-service/
Wersja
Wybierz klienta poczty
-
\ No newline at end of file
+ FindMyTutor
+ Find My Tutor
+
+
+ Mapa
+ Notyfikacje
+ Profil użytkownika
+
+
+ Otwórz menu
+ Zamknij menu
+ Czarna lista
+ Biała lista
+ Ustawienia
+ Profil uzytkownika
+ Wyloguj
+
+ Ustawienia
+ Mapa
+
+
+ Zaloguj!
+ Wyloguj!
+ MainActivity
+ pk.eyJ1IjoiZG9tYWdhbHNreSIsImEiOiJjamd4am4zazYwNXo1MzBxeDZtYjA4d2s4In0.KzNdhc9V_-SYe14AZ-q3Ew
+
+ Czarna lista
+ Biała lista
+ Ustawienia
+
+
+ Udostępnianie
+
+
+
+
+ Wybierz status
+ Status
+ Zajęty
+ Dostępny
+ Konsultacje
+ Dodaj własny status
+
+
+ Ręczna lokalizacja
+ Wybierz ręczną lokalizacje
+ Dodaj ręczną lokalizacje
+ Skrzydło A
+ Skrzydło C
+ ŁącznikD
+
+ key_language
+ Ustawienia
+
+
+ Ogólne ustawienia
+
+
+ Data & sync
+
+
+
+
+ Ustawienia
+ OK
+
+ Zamknij
+ Pokój
+ Email
+ Notatka
+ Dyżury
+ Dyżury
+ Niepoprawny format loginu.
+ Zakład
+ Loading …
+ Logo find my tutor
+ Login (Ldap)
+ Zaloguj!
+
+ Lista użytkowników
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 992d181..d7eab17 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,12 +1,11 @@
- FindMyTutor
- Sign in
+ FindMyTutor
+ Log in
Find My Tutor
Map
Notification
- Profile
Drawer Open
@@ -19,13 +18,6 @@
Settings
Notes
- No notes found!
- New Note
- Enter your note!
-
-
-
- Email
Password
Sign in or register
Sign out
@@ -34,11 +26,7 @@
This password is too short
This password is incorrect
This field is required
- "Contacts permissions are needed for providing email
- completions."
-
- Permission was denied, but is needed for core
-functionality.
+
MainActivity
pk.eyJ1IjoiZG9tYWdhbHNreSIsImEiOiJjamd4am4zazYwNXo1MzBxeDZtYjA4d2s4In0.KzNdhc9V_-SYe14AZ-q3Ew
@@ -103,7 +91,7 @@ functionality.
0.1.0
Got any queries? We are happy to help!
Send Feedback
- key_send_feedback
+ key_send_feedback
Privacy Policy
http://findmytutor.projektstudencki.pl/privacy-policy/
Terms & Conditions
@@ -116,16 +104,6 @@ functionality.
General
-
- Enable social recommendations
- Recommendations for people to contact
- based on your message history
-
-
- Display name
- John Smith
-
- Add friends to messages
- Always
- When possible
@@ -140,7 +118,6 @@ functionality.
Data & sync
- Sync frequency
- 15 minutes
- 30 minutes
@@ -172,27 +149,13 @@ functionality.
- System sync settings
- Notifications
-
- New message notifications
-
- Ringtone
- Silent
-
- Vibrate
Settings
OK
- Request updates
- Remove updates
- Unknown location
-
- Batched location updates
- No location reported
@@ -200,20 +163,19 @@ functionality.
- %d locations reported
- Main2Activity
- There is no users in system
Close
- Pokój
+ Room
Email
- Notatka
- Dyżury
- Dyżury
+ Note
+ Duty Hours
+ Duty Hours
Invalid format login. Use s11111 format
- Zakład
- Loading ...
+ Department
+ Loading …
Logo find my tutor
Login (sXXXXXX)
Log in
+ Users list