diff --git a/app/build.gradle b/app/build.gradle
index f6993d2..8422032 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -13,7 +13,8 @@ android {
minSdk 32
targetSdk 34
versionCode 1
- versionName "1.0"
+ versionName "1.0" // ... other configurations
+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -31,11 +32,12 @@ android {
}
dependencies {
-
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation 'io.reactivex.rxjava3:rxjava:3.1.5'
+ implementation 'androidx.car.app:app:1.4.0'
+ implementation 'androidx.concurrent:concurrent-futures:1.2.0'
//Google Maps SDK
implementation 'com.google.android.gms:play-services-maps:19.1.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index dd359a6..7745cf2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -29,6 +29,8 @@
+
+
+
+
+
+
+
{
+ // Create an intent to start the ShareLocationBackgroundWorker service
+ final Intent startServiceIntent = new Intent(getCarContext(), ShareLocationBackgroundWorker.class);
+ // Start the service using the car context
+ getCarContext().startForegroundService(startServiceIntent);
+ Log.d("ShareLocationScreen", "Starting ShareLocationBackgroundWorker Service");
+ })
+ .setImage(new CarIcon.Builder(
+ IconCompat.createWithResource(getCarContext(),
+ R.drawable.ic_location_helper)).build())
+ .build())
+ .build();
+ // Return a GridTemplate with the ItemList
+ return new GridTemplate.Builder()
+ .setSingleList(itemList)
+ .setTitle("Share Location")
+ .build();
+ }
+}
diff --git a/app/src/main/java/com/aldo/apps/familyhelpers/auto/ShareLocationSession.java b/app/src/main/java/com/aldo/apps/familyhelpers/auto/ShareLocationSession.java
new file mode 100644
index 0000000..ffbf3a3
--- /dev/null
+++ b/app/src/main/java/com/aldo/apps/familyhelpers/auto/ShareLocationSession.java
@@ -0,0 +1,15 @@
+package com.aldo.apps.familyhelpers.auto;
+
+import android.content.Intent;
+
+import androidx.annotation.NonNull;
+import androidx.car.app.Session;
+
+public class ShareLocationSession extends Session {
+
+ @NonNull
+ @Override
+ public androidx.car.app.Screen onCreateScreen(@NonNull Intent intent) {
+ return new ShareLocationScreen(getCarContext());
+ }
+}
diff --git a/app/src/main/java/com/aldo/apps/familyhelpers/workers/LocationHelper.java b/app/src/main/java/com/aldo/apps/familyhelpers/workers/LocationHelper.java
index 3da08a3..3e4e3a0 100644
--- a/app/src/main/java/com/aldo/apps/familyhelpers/workers/LocationHelper.java
+++ b/app/src/main/java/com/aldo/apps/familyhelpers/workers/LocationHelper.java
@@ -82,7 +82,7 @@ public final class LocationHelper {
for (final Location location : allReceivedLocations) {
if (location.hasSpeed()) {
Log.d(TAG, "onLocationResult: Location with speed received, continue...");
- handleReceivedLocation(location);
+ handleReceivedLocation(location);
return;
}
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 50a1d56..df2fb58 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -68,4 +68,10 @@
store_last_brightness
flashlight_default_brightness
+
+ You are already sharing your location with your family, do you wanna stop?
+ Android Auto start has been detected, do you wanna share your location?
+ Yes, start to share
+ Yes, stop sharing
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/automotive_app_desc.xml b/app/src/main/res/xml/automotive_app_desc.xml
new file mode 100644
index 0000000..66dd335
--- /dev/null
+++ b/app/src/main/res/xml/automotive_app_desc.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/build.gradle b/build.gradle
index 44e38e6..7ca59c7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,4 +3,10 @@ plugins {
id 'com.android.application' version '8.2.0-beta03' apply false
id 'com.google.gms.google-services' version '4.4.2' apply false
id("com.google.firebase.crashlytics") version "3.0.3" apply false
+}
+allprojects {
+ repositories {
+ google()
+ mavenCentral()
+ }
}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 5d6327e..12ab20f 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -6,7 +6,7 @@ pluginManagement {
}
}
dependencyResolutionManagement {
- repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)
repositories {
google()
mavenCentral()