diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9bfd7ed..88f80df 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -6,6 +6,8 @@
+
+
-
-
-
-
-
-
-
-
-
-
@@ -61,7 +50,11 @@
+ android:name=".service.BackgroundLocalizationService"
+ android:exported="false"
+ android:launchMode="singleTop"
+ android:enabled="true"
+ />
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 a113c6f..20907e0 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
@@ -343,7 +343,7 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
@Override
protected Boolean doInBackground(Void... params) {
- LdapUser user = new LdapUser("admin@admin",mPassword,"admin",(isTutor)?"Tutor":"Student","string","string",mEmail);
+ LdapUser user = new LdapUser(mEmail,mPassword,"admin",(isTutor)?"Tutor":"Student","string","string",mEmail);
disposable.add(
ldapService
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
index 4cbceb0..b6ca075 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/MainActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/MainActivity.java
@@ -42,9 +42,6 @@ public class MainActivity extends AppCompatActivity {
private MapFragment mapFragment;
private NotificationFragment notificationFragment;
private ProfileFragment profileFragment;
- public static IntentFilter backgroundLocalizationService = null;
-
- private BroadcastReceiver broadcastReceiver = null;
private static final int REQUEST_PERMISSIONS = 100;
private boolean boolean_permission = false;
@@ -96,7 +93,6 @@ public class MainActivity extends AppCompatActivity {
final FloatingActionButton button = findViewById(R.id.logoutButton);
button.setOnClickListener(view -> {
PrefUtils.cleanUserLocalStorage(getApplicationContext());
- unRegisterLocalizationService();
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
@@ -108,7 +104,6 @@ public class MainActivity extends AppCompatActivity {
if (isTutor) {
fn_permission();
- this.broadcastReceiver = new BroadcastLocalizationHandler();
}
}
@@ -132,18 +127,15 @@ public class MainActivity extends AppCompatActivity {
} 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 {
+ } else {
Toast.makeText(getApplicationContext(), "Please enable the gps", Toast.LENGTH_SHORT).show();
}
}
@@ -157,7 +149,6 @@ public class MainActivity extends AppCompatActivity {
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();
}
@@ -168,37 +159,16 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onResume() {
super.onResume();
- backgroundLocalizationService = new IntentFilter(BackgroundLocalizationService.str_receiver);
-
- if (isTutor)
- registerReceiver(this.broadcastReceiver, backgroundLocalizationService);
}
@Override
protected void onPause() {
super.onPause();
-
- if (isTutor)
- unregisterReceiver(this.broadcastReceiver);
}
protected void onDestroy() {
- unRegisterLocalizationService();
super.onDestroy();
}
-
- private void unRegisterLocalizationService() {
- if (this.broadcastReceiver != null) {
- try {
- LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver);
-
- Intent intent = new Intent(this, BackgroundLocalizationService.class);
- stopService(intent);
- } catch (IllegalArgumentException e) {
- Log.d("Destroy app", "RECIEVER UNREGISTER ERROR");
- }
- }
- }
}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/service/BackgroundLocalizationService.java b/app/src/main/java/com/uam/wmi/findmytutor/service/BackgroundLocalizationService.java
index e9afd01..22c356b 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/service/BackgroundLocalizationService.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/service/BackgroundLocalizationService.java
@@ -44,16 +44,16 @@ public class BackgroundLocalizationService extends Service {
private static final float LOCATION_DISTANCE = 10f;
private Handler mHandler = new Handler();
private static long notify_interval = 10000;
+
+ double latitude, longitude;
+ boolean isGPSEnable = false;
+ boolean isNetworkEnable = false;
+
Location mLastLocation;
Intent intent;
LocationManager locationManager;
Location location;
- double latitude, longitude;
-
-
- boolean isGPSEnable = false;
- boolean isNetworkEnable = false;
private class LocationListener implements android.location.LocationListener {
@@ -66,7 +66,7 @@ public class BackgroundLocalizationService extends Service {
public void onLocationChanged(Location location) {
Log.e(TAG, "onLocationChanged: " + location);
mLastLocation.set(location);
- sendToBroadcast(mLastLocation);
+ fn_update(mLastLocation);
}
@Override
@@ -88,7 +88,7 @@ public class BackgroundLocalizationService extends Service {
LocationListener[] mLocationListeners = new LocationListener[]{
new LocationListener(LocationManager.GPS_PROVIDER),
new LocationListener(LocationManager.NETWORK_PROVIDER),
- new LocationListener(LocationManager.PASSIVE_PROVIDER)
+ //new LocationListener(LocationManager.PASSIVE_PROVIDER)
};
@Override
@@ -114,13 +114,10 @@ public class BackgroundLocalizationService extends Service {
else {
Notification notification = new NotificationCompat.Builder(this, "NOTIFICATION_CHANNEL")
.setContentText("Content").build();
-
startForeground(1001, notification);
}
-
-
initializeLocationManager();
try {
@@ -148,14 +145,14 @@ public class BackgroundLocalizationService extends Service {
} catch (IllegalArgumentException ex) {
Log.d(TAG, "gps provider does not exist " + ex.getMessage());
}
-
Timer mTimer = new Timer();
mTimer.schedule(new TimerTaskToGetLocation(), 5, notify_interval);
intent = new Intent(str_receiver);
}
+
@RequiresApi(api = Build.VERSION_CODES.O)
- private void startMyOwnForeground(){
+ private void startMyOwnForeground() {
String NOTIFICATION_CHANNEL_ID = "com.example.simpleapp";
String channelName = "My Background Service";
@@ -199,9 +196,9 @@ public class BackgroundLocalizationService extends Service {
return;
}
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, mLocationListeners[1]);
- if (locationManager!=null){
+ if (locationManager != null) {
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
- if (location!=null){
+ if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
@@ -237,7 +234,7 @@ public class BackgroundLocalizationService extends Service {
return;
}
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
- if (location!=null){
+ if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
fn_update(location);
@@ -252,33 +249,18 @@ public class BackgroundLocalizationService extends Service {
}
-
-
- private class TimerTaskToGetLocation extends TimerTask{
+ private class TimerTaskToGetLocation extends TimerTask {
@Override
public void run() {
mHandler.post(BackgroundLocalizationService.this::fn_getlocation);
}
}
- private void fn_update(Location location){
- intent.putExtra("latitude",location.getLatitude());
- intent.putExtra("longitude",location.getLongitude());
+ private void fn_update(Location location) {
+ intent.putExtra("latitude", location.getLatitude());
+ intent.putExtra("longitude", location.getLongitude());
+ Log.e(TAG, String.valueOf(location));
new Task(location).execute();
- // sendBroadcast(intent);
- }
-
- private void sendToBroadcast(Location location) {
- Log.e("sendToBroadcast", String.valueOf(location));
-
- intent.putExtra("latitude",location.getLatitude());
- intent.putExtra("longitude",location.getLongitude());
- new Task(location).execute();
- //sendBroadcast(intent);
- }
-
- private void getLocation() {
- sendToBroadcast(mLastLocation);
}
@Override
@@ -344,9 +326,10 @@ public class BackgroundLocalizationService extends Service {
Log.e("CoordinateService onSuccess", String.valueOf(coord));
}
+ @SuppressLint("LongLogTag")
@Override
public void onError(Throwable e) {
- Log.e("LoginError", "onError: " + e.getMessage());
+ Log.e("CoordinateService onError", e.getMessage());
}
}));
} catch (IllegalArgumentException e) {