diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 335a63f..a9f6dd3 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,3 +1,4 @@ + plugins { alias(libs.plugins.android.application) alias(libs.plugins.jetbrains.kotlin.android) @@ -8,7 +9,7 @@ android { compileSdk = 35 defaultConfig { - applicationId = "com.clement.busroute" + applicationId = "com.example.busroute" minSdk = 26 targetSdk = 35 versionCode = 1 @@ -50,7 +51,6 @@ android { } dependencies { - implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) @@ -69,5 +69,9 @@ dependencies { debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest) implementation(libs.osmdroid.android) + implementation(files("./libs/osmbonuspack_6.9.0.aar")) + implementation(libs.commons.lang3) + implementation(libs.gson) + implementation(libs.okhttp) implementation(libs.play.services.location) } \ No newline at end of file diff --git a/app/libs/osmbonuspack_6.9.0.aar b/app/libs/osmbonuspack_6.9.0.aar new file mode 100644 index 0000000..2b1033b Binary files /dev/null and b/app/libs/osmbonuspack_6.9.0.aar differ diff --git a/app/src/main/java/com/example/busroute/MainActivity.kt b/app/src/main/java/com/example/busroute/MainActivity.kt index ff250e1..9503920 100644 --- a/app/src/main/java/com/example/busroute/MainActivity.kt +++ b/app/src/main/java/com/example/busroute/MainActivity.kt @@ -9,6 +9,8 @@ import android.location.Location import android.location.LocationManager import android.os.Bundle import android.preference.PreferenceManager +import android.speech.tts.TextToSpeech +import android.speech.tts.Voice import android.view.WindowManager import android.widget.Button import android.widget.TextView @@ -17,9 +19,12 @@ import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import com.example.busroute.DataClass.BusStop import com.example.busroute.Database.DbHelper +import com.google.android.gms.common.Feature import com.google.android.gms.location.LocationCallback import com.google.android.gms.location.LocationRequest import org.osmdroid.api.IMapController +import org.osmdroid.bonuspack.routing.OSRMRoadManager +import org.osmdroid.bonuspack.routing.RoadManager import org.osmdroid.config.Configuration.getInstance import org.osmdroid.tileprovider.tilesource.TileSourceFactory import org.osmdroid.util.GeoPoint @@ -31,6 +36,7 @@ import org.osmdroid.views.overlay.gestures.RotationGestureOverlay import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider import org.osmdroid.views.overlay.mylocation.IMyLocationProvider import org.osmdroid.views.overlay.mylocation.MyLocationNewOverlay +import java.util.Locale class MainActivity : ComponentActivity() { @@ -55,6 +61,11 @@ class MainActivity : ComponentActivity() { isLocationPermissionGranted() window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) val dbHelper = DbHelper(this) + val tts = TextToSpeech(this, TextToSpeech.OnInitListener{}) + tts.setVoice(Voice("French", + Locale.FRENCH, Voice.QUALITY_HIGH, + Voice.LATENCY_LOW, true, null)) + tts.setSpeechRate(0.8f) locationManager = getSystemService(LOCATION_SERVICE) as LocationManager getInstance().load(this, PreferenceManager.getDefaultSharedPreferences(this)) @@ -108,6 +119,7 @@ class MainActivity : ComponentActivity() { startActivity(intent) } + val rotationGestureOverlay = RotationGestureOverlay(map) rotationGestureOverlay.isEnabled map.setMultiTouchControls(true) @@ -137,6 +149,12 @@ class MainActivity : ComponentActivity() { locationOverlay.enableMyLocation() locationOverlay.enableFollowLocation() map.overlays.add(locationOverlay) + val roadButton = findViewById