19 | for (field in fields) {
20 | if ("modifiers" == field.name) {
21 | return field
22 | }
23 | }
24 | } catch (ex: ReflectiveOperationException) {
25 | e.addSuppressed(ex)
26 | }
27 | throw e
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/test/java/me/hufman/androidautoidrive/TestCoroutineRule.kt:
--------------------------------------------------------------------------------
1 | package me.hufman.androidautoidrive
2 |
3 | import kotlinx.coroutines.Dispatchers
4 | import kotlinx.coroutines.ExperimentalCoroutinesApi
5 | import kotlinx.coroutines.cancel
6 | import kotlinx.coroutines.test.*
7 | import org.junit.rules.TestRule
8 | import org.junit.runner.Description
9 | import org.junit.runners.model.Statement
10 |
11 | // From https://proandroiddev.com/how-to-unit-test-code-with-coroutines-50c1640f6bef
12 | @Suppress("EXPERIMENTAL_API_USAGE")
13 | @OptIn(ExperimentalCoroutinesApi::class)
14 | class TestCoroutineRule: TestRule {
15 | private val testCoroutineDispatcher = StandardTestDispatcher()
16 | private val testCoroutineScope = TestScope(testCoroutineDispatcher)
17 | override fun apply(base: Statement, description: Description) = object: Statement() {
18 | override fun evaluate() {
19 | Dispatchers.setMain(testCoroutineDispatcher)
20 |
21 | base.evaluate()
22 |
23 | Dispatchers.resetMain()
24 | testCoroutineDispatcher.cancel()
25 | }
26 | }
27 |
28 | fun runBlockingTest(block: suspend TestScope.() -> Unit) {
29 | testCoroutineScope.runTest { block() }
30 | }
31 | }
--------------------------------------------------------------------------------
/app/src/test/java/me/hufman/androidautoidrive/TimeUtilsTest.kt:
--------------------------------------------------------------------------------
1 | package me.hufman.androidautoidrive
2 |
3 | import me.hufman.androidautoidrive.maps.LatLong
4 | import me.hufman.androidautoidrive.utils.TimeUtils
5 | import org.junit.Assert.*
6 | import org.junit.Test
7 | import java.util.*
8 |
9 | class TimeUtilsTest {
10 | @Test
11 | fun testDayMode() {
12 | val now = Calendar.getInstance(TimeZone.getTimeZone("GMT-8"))
13 | now.set(2019, 1, 1, 14, 0)
14 | val location = LatLong(37.333, -121.9)
15 | assertTrue("2pm is day", TimeUtils.getDayMode(location, now))
16 | now.set(Calendar.HOUR_OF_DAY, 20)
17 | assertFalse("8pm is night", TimeUtils.getDayMode(location, now))
18 | }
19 |
20 | @Test
21 | fun testFormatTime() {
22 | assertEquals(" --:--", TimeUtils.formatTime(-1))
23 | assertEquals(" 0:09", TimeUtils.formatTime(9200))
24 | assertEquals(" 0:59", TimeUtils.formatTime(59200))
25 | assertEquals(" 1:39", TimeUtils.formatTime(99200))
26 | assertEquals("999:59", TimeUtils.formatTime((999*60 + 59)*1000))
27 | assertEquals("1000:00", TimeUtils.formatTime((999*60 + 60)*1000))
28 | }
29 | }
--------------------------------------------------------------------------------
/app/src/test/java/me/hufman/androidautoidrive/calendar/RHMIDateUtilsTest.kt:
--------------------------------------------------------------------------------
1 | package me.hufman.androidautoidrive.calendar
2 |
3 | import me.hufman.androidautoidrive.carapp.calendar.RHMIDateUtils
4 | import org.junit.Assert.assertEquals
5 | import org.junit.Test
6 | import java.util.*
7 |
8 | class RHMIDateUtilsTest {
9 | @Test
10 | fun testRhmiDateConversion() {
11 | val start = Calendar.getInstance().apply {
12 | set(2021, 3, 6)
13 | }
14 | val middle = RHMIDateUtils.convertToRhmiDate(start)
15 | assertEquals(132449286, middle)
16 | val end = RHMIDateUtils.convertFromRhmiDate(middle)
17 | assertEquals(start[Calendar.YEAR], end[Calendar.YEAR])
18 | assertEquals(start[Calendar.MONTH], end[Calendar.MONTH])
19 | assertEquals(start[Calendar.DAY_OF_MONTH], end[Calendar.DAY_OF_MONTH])
20 | }
21 |
22 | @Test
23 | fun testRhmiTimeConversion() {
24 | val start = Calendar.getInstance().apply {
25 | set(2021, 3, 6)
26 | set(Calendar.HOUR_OF_DAY, 14)
27 | set(Calendar.MINUTE, 16)
28 | set(Calendar.SECOND, 18)
29 | set(Calendar.MILLISECOND, 0)
30 | }
31 | val carTime = RHMIDateUtils.convertToRhmiTime(start)
32 | assertEquals(1183758, carTime)
33 | }
34 | }
--------------------------------------------------------------------------------
/app/src/test/java/me/hufman/androidautoidrive/maps/LatLongTest.kt:
--------------------------------------------------------------------------------
1 | package me.hufman.androidautoidrive.maps
2 |
3 | import org.junit.Assert.assertEquals
4 | import org.junit.Test
5 |
6 | class LatLongTest {
7 | @Test
8 | fun distanceFrom() {
9 | val start = LatLong(37.373022, -121.994893)
10 | val end = LatLong(37.353052, -121.976596)
11 | assertEquals(2.7, start.distanceFrom(end), .1)
12 | }
13 |
14 | @Test
15 | fun bearingTowards() {
16 | // bearing a little south below east
17 | val start = LatLong(37.373022, -121.994893)
18 | val end = LatLong(37.371735, -121.976789)
19 | assertEquals(95.1f, start.bearingTowards(end), 0.01f)
20 | }
21 | }
--------------------------------------------------------------------------------
/app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker:
--------------------------------------------------------------------------------
1 | mock-maker-inline
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: /app/src/main/res/values/strings*.xml
3 | translation: /app/src/main/res/values-%android_code%/%original_file_name%
4 | translate_content: 0
5 | translate_attributes: 0
6 | content_segmentation: 0
7 | - source: /playstore/res/values/strings*.xml
8 | translation: /playstore/res/values-%android_code%/%original_file_name%
9 |
--------------------------------------------------------------------------------
/docs/_config.yml:
--------------------------------------------------------------------------------
1 | # Welcome to Jekyll!
2 | #
3 | # This config file is meant for settings that affect your whole blog, values
4 | # which you are expected to set up once and rarely need to edit after that.
5 | # For technical reasons, this file is *NOT* reloaded automatically when you use
6 | # 'jekyll serve'. If you change this file, please restart the server process.
7 |
8 | # Site settings
9 | title: AAIDrive
10 | email: hufman@gmail.com
11 | description: > # this means to ignore newlines until "homeurl:"
12 | Implementations of some Android Auto features as unofficial IDrive apps
13 | homeurl: "https://github.com/BimmerGestalt/AAIdrive"
14 | baseurl: "/AAIdrive" # the subpath of your site, e.g. /blog
15 | url: "https://bimmergestalt.github.io" # the base hostname & protocol for your site
16 | github_username: hufman
17 |
18 | # Build settings
19 | markdown: kramdown
20 | permalink: pretty
21 |
22 | kramdown:
23 | smart_quotes: ["apos", "apos", "quot", "quot"]
24 |
--------------------------------------------------------------------------------
/docs/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
37 |
--------------------------------------------------------------------------------
/docs/_includes/head.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/docs/_includes/icon-github.html:
--------------------------------------------------------------------------------
1 | {% include icon-github.svg %}{{ include.username }}
2 |
--------------------------------------------------------------------------------
/docs/_includes/icon-github.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docs/_includes/icon-twitter.html:
--------------------------------------------------------------------------------
1 | {{ include.username }}
2 |
--------------------------------------------------------------------------------
/docs/_includes/icon-twitter.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docs/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {% include head.html %}
5 |
6 |
7 |
8 | {% include header.html %}
9 |
10 |
11 |
12 | {{ content }}
13 |
14 |
15 |
16 | {% include footer.html %}
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/_layouts/page.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
9 |
10 |
11 | {{ content }}
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/docs/_layouts/post.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
10 |
11 |
12 | {{ content }}
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/docs/_sass/_gallery.scss:
--------------------------------------------------------------------------------
1 | .gallery {
2 | overflow: auto
3 | }
4 | .gallery figure {
5 | float: left;
6 | display: block;
7 | text-align: center;
8 | padding: 2em;
9 | }
10 | .gallery figure img {
11 | width: 100%;
12 | display: block;
13 | padding-bottom: 1ex;
14 | }
15 | .gallery figure figcaption {
16 | white-space: nowrap;
17 | }
18 |
--------------------------------------------------------------------------------
/docs/images/bmw-connected-subscription.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/bmw-connected-subscription.png
--------------------------------------------------------------------------------
/docs/images/demo-actions.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-actions.gif
--------------------------------------------------------------------------------
/docs/images/demo-actions.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-actions.mp4
--------------------------------------------------------------------------------
/docs/images/demo-applist.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-applist.gif
--------------------------------------------------------------------------------
/docs/images/demo-applist.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-applist.mp4
--------------------------------------------------------------------------------
/docs/images/demo-assistant.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-assistant.mp4
--------------------------------------------------------------------------------
/docs/images/demo-browse.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-browse.gif
--------------------------------------------------------------------------------
/docs/images/demo-browse.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-browse.mp4
--------------------------------------------------------------------------------
/docs/images/demo-connwizard.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-connwizard.mp4
--------------------------------------------------------------------------------
/docs/images/demo-convert.sh:
--------------------------------------------------------------------------------
1 | name=`basename "$1" .mp4`
2 | ffmpeg -i $name.mp4 -filter_complex "[0:v] split [a][b];[a] palettegen [p];[b]fifo[c];[c][p] paletteuse" $name.gif
3 |
--------------------------------------------------------------------------------
/docs/images/demo-filter.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-filter.gif
--------------------------------------------------------------------------------
/docs/images/demo-filter.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-filter.mp4
--------------------------------------------------------------------------------
/docs/images/demo-notifications.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-notifications.gif
--------------------------------------------------------------------------------
/docs/images/demo-notifications.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-notifications.mp4
--------------------------------------------------------------------------------
/docs/images/demo-nowplaying.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-nowplaying.gif
--------------------------------------------------------------------------------
/docs/images/demo-nowplaying.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/demo-nowplaying.mp4
--------------------------------------------------------------------------------
/docs/images/developer-buildmenu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/developer-buildmenu.png
--------------------------------------------------------------------------------
/docs/images/developer-externalmissing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/developer-externalmissing.png
--------------------------------------------------------------------------------
/docs/images/developer-importproject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/developer-importproject.png
--------------------------------------------------------------------------------
/docs/images/developer-repourl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/developer-repourl.png
--------------------------------------------------------------------------------
/docs/images/developer-runmenu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/developer-runmenu.png
--------------------------------------------------------------------------------
/docs/images/developer-variants.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/developer-variants.png
--------------------------------------------------------------------------------
/docs/images/memory-applist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/memory-applist.png
--------------------------------------------------------------------------------
/docs/images/memory-choose.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/memory-choose.png
--------------------------------------------------------------------------------
/docs/images/memory-killing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/memory-killing.png
--------------------------------------------------------------------------------
/docs/images/memory-success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/memory-success.png
--------------------------------------------------------------------------------
/docs/images/screenshot-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/screenshot-app.png
--------------------------------------------------------------------------------
/docs/images/screenshot-connection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/screenshot-connection.png
--------------------------------------------------------------------------------
/docs/images/screenshot-medialist.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/screenshot-medialist.jpg
--------------------------------------------------------------------------------
/docs/images/screenshot-musicapplist.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/screenshot-musicapplist.jpg
--------------------------------------------------------------------------------
/docs/images/screenshot-musicbrowse.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/screenshot-musicbrowse.jpg
--------------------------------------------------------------------------------
/docs/images/screenshot-musicplayback.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/screenshot-musicplayback.jpg
--------------------------------------------------------------------------------
/docs/images/screenshot-phoneapps.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/screenshot-phoneapps.jpg
--------------------------------------------------------------------------------
/docs/images/usb-charging.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/usb-charging.png
--------------------------------------------------------------------------------
/docs/images/usb-charging2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/usb-charging2.png
--------------------------------------------------------------------------------
/docs/images/usb-transfer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/docs/images/usb-transfer.png
--------------------------------------------------------------------------------
/docs/support.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Support
7 |
8 |
9 | Redirecting you to Buy My A Coffee to show support: https://www.buymeacoffee.com/q4JVoxz…
10 |
11 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sun May 18 17:40:16 PDT 2025
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/keystore.jks.enc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/keystore.jks.enc
--------------------------------------------------------------------------------
/playstore/.gitignore:
--------------------------------------------------------------------------------
1 | listing*.txt
2 | release_notes.txt
3 |
--------------------------------------------------------------------------------
/playstore/README:
--------------------------------------------------------------------------------
1 | Various resources used in the Play Store listing
--------------------------------------------------------------------------------
/playstore/res/values-b+zh+Hans/ISO:
--------------------------------------------------------------------------------
1 | zh-CN
2 |
--------------------------------------------------------------------------------
/playstore/res/values-de/ISO:
--------------------------------------------------------------------------------
1 | de-DE
2 |
--------------------------------------------------------------------------------
/playstore/res/values-eo/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/playstore/res/values-fr/ISO:
--------------------------------------------------------------------------------
1 | fr-FR
2 |
--------------------------------------------------------------------------------
/playstore/res/values-he/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/playstore/res/values-hi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | आपके BMW और Mini iDrive NBT डैशबोर्ड मे Android Auto कि विशेषताएं उपलब्ध करें ।
4 |
5 |
--------------------------------------------------------------------------------
/playstore/res/values-hu/ISO:
--------------------------------------------------------------------------------
1 | hu-HU
2 |
--------------------------------------------------------------------------------
/playstore/res/values-it/ISO:
--------------------------------------------------------------------------------
1 | it-IT
2 |
--------------------------------------------------------------------------------
/playstore/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/playstore/res/values-nl/ISO:
--------------------------------------------------------------------------------
1 | nl-NL
2 |
--------------------------------------------------------------------------------
/playstore/res/values-pl/ISO:
--------------------------------------------------------------------------------
1 | pl-PL
2 |
--------------------------------------------------------------------------------
/playstore/res/values-ro/ISO:
--------------------------------------------------------------------------------
1 | ro
2 |
--------------------------------------------------------------------------------
/playstore/res/values-ru/ISO:
--------------------------------------------------------------------------------
1 | ru-RU
2 |
--------------------------------------------------------------------------------
/playstore/res/values-sv/ISO:
--------------------------------------------------------------------------------
1 | sv-SE
2 |
--------------------------------------------------------------------------------
/playstore/res/values-tr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/playstore/res/values/ISO:
--------------------------------------------------------------------------------
1 | en-US
2 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
3 | }
4 | include ':app', ':spotify-app-remote'
--------------------------------------------------------------------------------
/spotify-app-remote/build.gradle:
--------------------------------------------------------------------------------
1 | configurations.maybeCreate("default")
2 | artifacts.add("default", file('spotify-app-remote-release-0.7.2.aar'))
--------------------------------------------------------------------------------
/spotify-app-remote/spotify-app-remote-release-0.7.2.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BimmerGestalt/AAIdrive/afd9c6f5bc4cf3fc0029eb00c7a61adcb1164837/spotify-app-remote/spotify-app-remote-release-0.7.2.aar
--------------------------------------------------------------------------------
/usage/.gitignore:
--------------------------------------------------------------------------------
1 | __pycache__
2 |
3 | localsettings.env
4 | weekly_users.json
5 | cars.json
6 |
--------------------------------------------------------------------------------
/usage/localsettings.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 |
4 | SENTRY_AUTH_TOKEN = os.environ.get("SENTRY_AUTH_TOKEN", "")
5 | SENTRY_ISSUE_ID = os.environ.get("SENTRY_ISSUE_ID", "missing")
6 |
7 | S3_BUCKET = os.environ.get("S3_BUCKET", "androidautoidrive")
8 | S3_PATH = os.environ.get("S3_PATH", "usage")
9 |
10 |
11 | del os
12 |
--------------------------------------------------------------------------------