* Update fragment_onboarding_data_source.xml
Increase margin to data source text
* Update fragment_onboarding_data_source.xml
Increase margin to data source text
* use margin instead of padding
---------
Co-authored-by: johan12345 <johan.forstner@gmail.com>
fixes#375 for startActivity and openUrl
https://issuetracker.google.com/issues/372055514
Warning: You must update to androidx.car.app:1.7.0-alpha01 or later for the permissions dialog to show up on the phone screen when your app is used on a device running Android 14 or higher.
Currently translated at 100.0% (361 of 361 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.7% (358 of 359 strings)
Translated using Weblate (Portuguese)
Currently translated at 98.6% (354 of 359 strings)
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Celso Azevedo <mail@celsoazevedo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/evmap/android/pt/
Translation: EVMap/Android
Currently translated at 100.0% (361 of 361 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (359 of 359 strings)
Translated using Weblate (Estonian)
Currently translated at 99.1% (356 of 359 strings)
Translated using Weblate (Estonian)
Currently translated at 50.0% (179 of 358 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (82 of 82 strings)
Translated using Weblate (Estonian)
Currently translated at 6.4% (23 of 358 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (2 of 2 strings)
Added translation using Weblate (Estonian)
Deleted translation using Weblate (Estonian)
Added translation using Weblate (Estonian)
Added translation using Weblate (Estonian)
Translated using Weblate (Estonian)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (Estonian)
Currently translated at 98.7% (81 of 82 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (3 of 3 strings)
Added translation using Weblate (Estonian)
Added translation using Weblate (Estonian)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Johan von Forstner <johan.forstner@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Translate-URL: https://hosted.weblate.org/projects/evmap/android-automotive/et/
Translate-URL: https://hosted.weblate.org/projects/evmap/android-fdroid/et/
Translate-URL: https://hosted.weblate.org/projects/evmap/android-google/et/
Translate-URL: https://hosted.weblate.org/projects/evmap/android/et/
Translate-URL: https://hosted.weblate.org/projects/evmap/app-store-metadata/et/
Translation: EVMap/Android
Translation: EVMap/Android (strings specific to F-Droid variant)
Translation: EVMap/Android (strings specific to Google Play variant)
Translation: EVMap/Android (strings specific to the Android Automotive OS app)
Translation: EVMap/App Store metadata
Currently translated at 100.0% (361 of 361 strings)
Translated using Weblate (German)
Currently translated at 100.0% (359 of 359 strings)
Translated using Weblate (German)
Currently translated at 99.7% (358 of 359 strings)
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Johan von Forstner <johan.forstner@gmail.com>
Co-authored-by: Maschga <delphi@freenet.de>
Translate-URL: https://hosted.weblate.org/projects/evmap/android/de/
Translation: EVMap/Android
Currently translated at 100.0% (358 of 358 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (356 of 356 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (355 of 355 strings)
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/evmap/android/cs/
Translation: EVMap/Android
- use preferBrowser only when needed (when opening charger URLs, which might otherwise open in EVMap itself)
- make preferBrowser work even if the default browser does not support Custom Tabs
#313
fixes the following issue:
- start app for the first time, go through onboarding
- go to settings, change to dark mode
- try to go back to the map using the drawer
-> stuck, only back button helps
works without sign-in (using data from https://www.tesla.com/de_DE/findus), but only for Superchargers that are open to all cars and have the ad-hoc payment site activated (e.g. Germany, UK)
Only jump back to current location on app restart if we were previously looking at the current location (and have location permission enabled). Otherwise stay at the last viewed location.
This seems to be the same as what e.g. the Google Maps app does.
#191
"Tesla Supercharger CCS" is a bit peculiar - it is available as a filter, but the API just returns "CCS" in the charging station details. So we cannot use it for filtering as it won't work in the local database. So we join them into a single filter option. If you want to find Tesla Superchargers with CCS, you can still do that using the network filter.
The only Google dependency it references is the Car App Library, which is open source. GMS is not imported by the Android Auto app.
Of course it won't actually be usable on devices without the Android Auto app, which itself requires GMS.
preparation for #281
"exclude faults" has to be implemented as a local filter because otherwise chargers with unknown status (StatusTypeId == null) will also be filtered out
* Adding Romanian language support
* Adding Romanian language support (fix for strings - plurals and add to supported list)
* Revert unused declaration.
---------
Co-authored-by: iboboc <Raluca2018>
Note that AA/AAOS will block access to keyboard while driving, but the search screen is still useful to access recent results. Also this enables the "clear search" button while driving.
* Added multiple filter pages for auto and automotive
* use IMAGE_TYPE_ICON for icons
* implement different approach for multi-page layout using DummyReturnScreen
* revert unnecessary changes
* Added multiple filter pages for auto and automotive
* use IMAGE_TYPE_ICON for icons
* implement different approach for multi-page layout using DummyReturnScreen
* revert unnecessary changes
* reimplement EditFiltersScreen pagination to allow for arbitrary number of rows
* add @lxam97 to contributors list
* move delete button back to EditFilterScreen
* implement pagination for FilterScreen
* Replaced Next and Back with the goto page
* fixes for FilterScreen
* update strings
Co-authored-by: johan12345 <johan.forstner@gmail.com>
Currently translated at 77.3% (205 of 265 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 75.7% (200 of 264 strings)
Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translated using Weblate (Norwegian Bokmål)
Currently translated at 77.6% (205 of 264 strings)
Update translation files
Updated by "Remove blank strings" hook in Weblate.
Translated using Weblate (Norwegian Bokmål)
Currently translated at 73.4% (194 of 264 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 81.2% (26 of 32 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 34.4% (91 of 264 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 34.4% (91 of 264 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 71.8% (23 of 32 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 32.9% (87 of 264 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (3 of 3 strings)
Added translation using Weblate (Norwegian Bokmål)
Added translation using Weblate (Norwegian Bokmål)
Added translation using Weblate (Norwegian Bokmål)
Added translation using Weblate (Norwegian Bokmål)
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Johan von Forstner <johan.forstner@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/evmap/android-automotive/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/evmap/android-fdroid/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/evmap/android-google/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/evmap/android/
Translate-URL: https://hosted.weblate.org/projects/evmap/android/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/evmap/app-store-metadata/nb_NO/
Translation: EVMap/Android
Translation: EVMap/Android (strings specific to F-Droid variant)
Translation: EVMap/Android (strings specific to Google Play variant)
Translation: EVMap/Android (strings specific to the Android Automotive OS app)
Translation: EVMap/App Store metadata
Currently translated at 100.0% (264 of 264 strings)
Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translated using Weblate (French)
Currently translated at 100.0% (264 of 264 strings)
Translated using Weblate (French)
Currently translated at 99.6% (263 of 264 strings)
Translated using Weblate (French)
Currently translated at 100.0% (39 of 39 strings)
Translated using Weblate (French)
Currently translated at 100.0% (2 of 2 strings)
Translated using Weblate (French)
Currently translated at 100.0% (32 of 32 strings)
Translated using Weblate (French)
Currently translated at 96.5% (255 of 264 strings)
Translated using Weblate (French)
Currently translated at 100.0% (3 of 3 strings)
Translated using Weblate (French)
Currently translated at 5.6% (15 of 264 strings)
Translated using Weblate (French)
Currently translated at 0.3% (1 of 264 strings)
Added translation using Weblate (French)
Added translation using Weblate (French)
Added translation using Weblate (French)
Added translation using Weblate (French)
Co-authored-by: Altons <marsupilami450@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Johan von Forstner <johan.forstner@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/evmap/android-automotive/fr/
Translate-URL: https://hosted.weblate.org/projects/evmap/android-fdroid/fr/
Translate-URL: https://hosted.weblate.org/projects/evmap/android-google/fr/
Translate-URL: https://hosted.weblate.org/projects/evmap/android/
Translate-URL: https://hosted.weblate.org/projects/evmap/android/fr/
Translate-URL: https://hosted.weblate.org/projects/evmap/app-store-metadata/fr/
Translation: EVMap/Android
Translation: EVMap/Android (strings specific to F-Droid variant)
Translation: EVMap/Android (strings specific to Google Play variant)
Translation: EVMap/Android (strings specific to the Android Automotive OS app)
Translation: EVMap/App Store metadata
This allows actually seeing the test results when running them in the
console through Gradle:
./gradlew cleanTestFossDebugUnitTest testFossDebugUnitTest
Not all data sources provide power for all connectors (e.g.
OpenChargeMap and OpenStreetMap don't always). Even without the power
level, knowing what connectors there are is still useful.
# Download and unzip the Android command line tools (if not already there thanks to the cache mechanism)
# Latest version of this file available here: https://developer.android.com/studio/#command-tools
- if test ! -e $HOME/android-cmdline-tools/cmdline-tools.zip ; then curl https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip > $HOME/android-cmdline-tools/cmdline-tools.zip ; fi
<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="100"/></a>
@@ -14,47 +15,84 @@ Features
--------
- [Material Design](https://material.io/)
- Shows all charging stations from the community-maintained [GoingElectric.de](https://www.goingelectric.de/stromtankstellen/) directory
- Realtime availability information (beta)
- Search places
- Shows all charging stations from the community-maintained [GoingElectric.de](https://www.goingelectric.de/stromtankstellen/) and [Open Charge Map](https://openchargemap.org) directories
- Realtime availability information (only in Europe)
- Search for places
- Advanced filtering options, including saved filter profiles
- Favorites list, also with availability information
-Charging price comparison, powered by [Chargeprice.app](https://chargeprice.app)
- Android Auto integration
-Integrated price comparison using [Chargeprice.app](https://chargeprice.app) (only in Europe)
- Android Auto & Android Automotive OS integration
- No ads, fully open source
- Compatible with Android 5.0 and above
- Can use Google Maps or Mapbox (OpenStreetMap) as map backends - the version available on F-Droid only uses Mapbox.
- Can use Google Maps or OpenStreetMap as map backends - the version available on F-Droid only uses
There are four different build flavors, `googleNormal`, `fossNormal`, `googleAutomotive`, and
`fossAutomotive`.
- The `foss` variants only use OSM data for the base map and place search. They should run on most Android devices, even those without Google Play Services.
-`fossNormal` is intended to run on smartphones and tablets, and also includes the Android
Auto app for use on the car display (however Android Auto may not work if the app is not
installed from Google Play, see https://github.com/ev-map/EVMap/issues/319).
-`fossAutomotive` can be installed directly on
[Android Automotive OS (AAOS)](https://source.android.com/docs/automotive/start/what_automotive)
headunits without Google services.
It does not provide the usual smartphone UI, and requires an implementation of the
As part of its support program for Open-source projects, **JetBrains** supports the development of EVMap since December 2023 with a license of their software suite.
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `dataSource` TEXT NOT NULL, `name` TEXT NOT NULL, `coordinates` BLOB NOT NULL, `chargepoints` TEXT NOT NULL, `network` TEXT, `url` TEXT NOT NULL, `editUrl` TEXT, `verified` INTEGER NOT NULL, `barrierFree` INTEGER, `operator` TEXT, `generalInformation` TEXT, `amenities` TEXT, `locationDescription` TEXT, `photos` TEXT, `chargecards` TEXT, `license` TEXT, `networkUrl` TEXT, `chargerUrl` TEXT, `timeRetrieved` INTEGER NOT NULL, `isDetailed` INTEGER NOT NULL, `city` TEXT, `country` TEXT, `postcode` TEXT, `street` TEXT, `fault_report_created` INTEGER, `fault_report_description` TEXT, `twentyfourSeven` INTEGER, `description` TEXT, `mostart` TEXT, `moend` TEXT, `tustart` TEXT, `tuend` TEXT, `westart` TEXT, `weend` TEXT, `thstart` TEXT, `thend` TEXT, `frstart` TEXT, `frend` TEXT, `sastart` TEXT, `saend` TEXT, `sustart` TEXT, `suend` TEXT, `hostart` TEXT, `hoend` TEXT, `freecharging` INTEGER, `freeparking` INTEGER, `descriptionShort` TEXT, `descriptionLong` TEXT, `chargepricecountry` TEXT, `chargepricenetwork` TEXT, `chargepriceplugTypes` TEXT, PRIMARY KEY(`id`, `dataSource`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"dataSource",
"columnName":"dataSource",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"coordinates",
"columnName":"coordinates",
"affinity":"BLOB",
"notNull":true
},
{
"fieldPath":"chargepoints",
"columnName":"chargepoints",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"network",
"columnName":"network",
"affinity":"TEXT"
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"editUrl",
"columnName":"editUrl",
"affinity":"TEXT"
},
{
"fieldPath":"verified",
"columnName":"verified",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"barrierFree",
"columnName":"barrierFree",
"affinity":"INTEGER"
},
{
"fieldPath":"operator",
"columnName":"operator",
"affinity":"TEXT"
},
{
"fieldPath":"generalInformation",
"columnName":"generalInformation",
"affinity":"TEXT"
},
{
"fieldPath":"amenities",
"columnName":"amenities",
"affinity":"TEXT"
},
{
"fieldPath":"locationDescription",
"columnName":"locationDescription",
"affinity":"TEXT"
},
{
"fieldPath":"photos",
"columnName":"photos",
"affinity":"TEXT"
},
{
"fieldPath":"chargecards",
"columnName":"chargecards",
"affinity":"TEXT"
},
{
"fieldPath":"license",
"columnName":"license",
"affinity":"TEXT"
},
{
"fieldPath":"networkUrl",
"columnName":"networkUrl",
"affinity":"TEXT"
},
{
"fieldPath":"chargerUrl",
"columnName":"chargerUrl",
"affinity":"TEXT"
},
{
"fieldPath":"timeRetrieved",
"columnName":"timeRetrieved",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"isDetailed",
"columnName":"isDetailed",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"address.city",
"columnName":"city",
"affinity":"TEXT"
},
{
"fieldPath":"address.country",
"columnName":"country",
"affinity":"TEXT"
},
{
"fieldPath":"address.postcode",
"columnName":"postcode",
"affinity":"TEXT"
},
{
"fieldPath":"address.street",
"columnName":"street",
"affinity":"TEXT"
},
{
"fieldPath":"faultReport.created",
"columnName":"fault_report_created",
"affinity":"INTEGER"
},
{
"fieldPath":"faultReport.description",
"columnName":"fault_report_description",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.twentyfourSeven",
"columnName":"twentyfourSeven",
"affinity":"INTEGER"
},
{
"fieldPath":"openinghours.description",
"columnName":"description",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.monday.start",
"columnName":"mostart",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.monday.end",
"columnName":"moend",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.tuesday.start",
"columnName":"tustart",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.tuesday.end",
"columnName":"tuend",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.wednesday.start",
"columnName":"westart",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.wednesday.end",
"columnName":"weend",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.thursday.start",
"columnName":"thstart",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.thursday.end",
"columnName":"thend",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.friday.start",
"columnName":"frstart",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.friday.end",
"columnName":"frend",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.saturday.start",
"columnName":"sastart",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.saturday.end",
"columnName":"saend",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.sunday.start",
"columnName":"sustart",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.sunday.end",
"columnName":"suend",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.holiday.start",
"columnName":"hostart",
"affinity":"TEXT"
},
{
"fieldPath":"openinghours.days.holiday.end",
"columnName":"hoend",
"affinity":"TEXT"
},
{
"fieldPath":"cost.freecharging",
"columnName":"freecharging",
"affinity":"INTEGER"
},
{
"fieldPath":"cost.freeparking",
"columnName":"freeparking",
"affinity":"INTEGER"
},
{
"fieldPath":"cost.descriptionShort",
"columnName":"descriptionShort",
"affinity":"TEXT"
},
{
"fieldPath":"cost.descriptionLong",
"columnName":"descriptionLong",
"affinity":"TEXT"
},
{
"fieldPath":"chargepriceData.country",
"columnName":"chargepricecountry",
"affinity":"TEXT"
},
{
"fieldPath":"chargepriceData.network",
"columnName":"chargepricenetwork",
"affinity":"TEXT"
},
{
"fieldPath":"chargepriceData.plugTypes",
"columnName":"chargepriceplugTypes",
"affinity":"TEXT"
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id",
"dataSource"
]
}
},
{
"tableName":"Favorite",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`favoriteId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `chargerId` INTEGER NOT NULL, `chargerDataSource` TEXT NOT NULL, FOREIGN KEY(`chargerId`, `chargerDataSource`) REFERENCES `ChargeLocation`(`id`, `dataSource`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
"createSql":"CREATE INDEX IF NOT EXISTS `index_Favorite_chargerId_chargerDataSource` ON `${TABLE_NAME}` (`chargerId`, `chargerDataSource`)"
}
],
"foreignKeys":[
{
"table":"ChargeLocation",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"chargerId",
"chargerDataSource"
],
"referencedColumns":[
"id",
"dataSource"
]
}
]
},
{
"tableName":"BooleanFilterValue",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`key` TEXT NOT NULL, `value` INTEGER NOT NULL, `dataSource` TEXT NOT NULL, `profile` INTEGER NOT NULL, PRIMARY KEY(`key`, `profile`, `dataSource`), FOREIGN KEY(`profile`, `dataSource`) REFERENCES `FilterProfile`(`id`, `dataSource`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"createSql":"CREATE INDEX IF NOT EXISTS `index_BooleanFilterValue_profile_dataSource` ON `${TABLE_NAME}` (`profile`, `dataSource`)"
}
],
"foreignKeys":[
{
"table":"FilterProfile",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"profile",
"dataSource"
],
"referencedColumns":[
"id",
"dataSource"
]
}
]
},
{
"tableName":"MultipleChoiceFilterValue",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`key` TEXT NOT NULL, `values` TEXT NOT NULL, `all` INTEGER NOT NULL, `dataSource` TEXT NOT NULL, `profile` INTEGER NOT NULL, PRIMARY KEY(`key`, `profile`, `dataSource`), FOREIGN KEY(`profile`, `dataSource`) REFERENCES `FilterProfile`(`id`, `dataSource`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"createSql":"CREATE INDEX IF NOT EXISTS `index_MultipleChoiceFilterValue_profile_dataSource` ON `${TABLE_NAME}` (`profile`, `dataSource`)"
}
],
"foreignKeys":[
{
"table":"FilterProfile",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"profile",
"dataSource"
],
"referencedColumns":[
"id",
"dataSource"
]
}
]
},
{
"tableName":"SliderFilterValue",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`key` TEXT NOT NULL, `value` INTEGER NOT NULL, `dataSource` TEXT NOT NULL, `profile` INTEGER NOT NULL, PRIMARY KEY(`key`, `profile`, `dataSource`), FOREIGN KEY(`profile`, `dataSource`) REFERENCES `FilterProfile`(`id`, `dataSource`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"createSql":"CREATE INDEX IF NOT EXISTS `index_SliderFilterValue_profile_dataSource` ON `${TABLE_NAME}` (`profile`, `dataSource`)"
}
],
"foreignKeys":[
{
"table":"FilterProfile",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"profile",
"dataSource"
],
"referencedColumns":[
"id",
"dataSource"
]
}
]
},
{
"tableName":"FilterProfile",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, `dataSource` TEXT NOT NULL, `id` INTEGER NOT NULL, `order` INTEGER NOT NULL, PRIMARY KEY(`dataSource`, `id`))",
"fields":[
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"dataSource",
"columnName":"dataSource",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"order",
"columnName":"order",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"dataSource",
"id"
]
},
"indices":[
{
"name":"index_FilterProfile_dataSource_name",
"unique":true,
"columnNames":[
"dataSource",
"name"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_FilterProfile_dataSource_name` ON `${TABLE_NAME}` (`dataSource`, `name`)"
}
]
},
{
"tableName":"RecentAutocompletePlace",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `dataSource` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `primaryText` TEXT NOT NULL, `secondaryText` TEXT NOT NULL, `latLng` TEXT NOT NULL, `viewport` TEXT, `types` TEXT NOT NULL, PRIMARY KEY(`id`, `dataSource`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"dataSource",
"columnName":"dataSource",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"timestamp",
"columnName":"timestamp",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"primaryText",
"columnName":"primaryText",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"secondaryText",
"columnName":"secondaryText",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"latLng",
"columnName":"latLng",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"viewport",
"columnName":"viewport",
"affinity":"TEXT"
},
{
"fieldPath":"types",
"columnName":"types",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id",
"dataSource"
]
}
},
{
"tableName":"GEPlug",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, PRIMARY KEY(`name`))",
"fields":[
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"name"
]
}
},
{
"tableName":"GENetwork",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, PRIMARY KEY(`name`))",
"fields":[
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"name"
]
}
},
{
"tableName":"GEChargeCard",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `url` TEXT NOT NULL, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id"
]
}
},
{
"tableName":"OCMConnectionType",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `title` TEXT NOT NULL, `formalName` TEXT, `discontinued` INTEGER, `obsolete` INTEGER, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"formalName",
"columnName":"formalName",
"affinity":"TEXT"
},
{
"fieldPath":"discontinued",
"columnName":"discontinued",
"affinity":"INTEGER"
},
{
"fieldPath":"obsolete",
"columnName":"obsolete",
"affinity":"INTEGER"
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id"
]
}
},
{
"tableName":"OCMCountry",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `isoCode` TEXT NOT NULL, `continentCode` TEXT, `title` TEXT NOT NULL, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"isoCode",
"columnName":"isoCode",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"continentCode",
"columnName":"continentCode",
"affinity":"TEXT"
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id"
]
}
},
{
"tableName":"OCMOperator",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `websiteUrl` TEXT, `title` TEXT NOT NULL, `contactEmail` TEXT, `contactTelephone1` TEXT, `contactTelephone2` TEXT, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"websiteUrl",
"columnName":"websiteUrl",
"affinity":"TEXT"
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"contactEmail",
"columnName":"contactEmail",
"affinity":"TEXT"
},
{
"fieldPath":"contactTelephone1",
"columnName":"contactTelephone1",
"affinity":"TEXT"
},
{
"fieldPath":"contactTelephone2",
"columnName":"contactTelephone2",
"affinity":"TEXT"
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id"
]
}
},
{
"tableName":"SavedRegion",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`region` BLOB NOT NULL, `dataSource` TEXT NOT NULL, `timeRetrieved` INTEGER NOT NULL, `filters` TEXT, `isDetailed` INTEGER NOT NULL, `id` INTEGER PRIMARY KEY AUTOINCREMENT)",
"fields":[
{
"fieldPath":"region",
"columnName":"region",
"affinity":"BLOB",
"notNull":true
},
{
"fieldPath":"dataSource",
"columnName":"dataSource",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"timeRetrieved",
"columnName":"timeRetrieved",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"filters",
"columnName":"filters",
"affinity":"TEXT"
},
{
"fieldPath":"isDetailed",
"columnName":"isDetailed",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER"
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"id"
]
},
"indices":[
{
"name":"index_SavedRegion_filters_dataSource",
"unique":false,
"columnNames":[
"filters",
"dataSource"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_SavedRegion_filters_dataSource` ON `${TABLE_NAME}` (`filters`, `dataSource`)"
}
]
}
],
"setupQueries":[
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '5dbaaa5adf8cb9b6e8a8314bb7766447')"
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `dataSource` TEXT NOT NULL, `name` TEXT NOT NULL, `coordinates` BLOB NOT NULL, `chargepoints` TEXT NOT NULL, `network` TEXT, `url` TEXT NOT NULL, `editUrl` TEXT, `verified` INTEGER NOT NULL, `barrierFree` INTEGER, `operator` TEXT, `generalInformation` TEXT, `amenities` TEXT, `locationDescription` TEXT, `photos` TEXT, `chargecards` TEXT, `license` TEXT, `networkUrl` TEXT, `chargerUrl` TEXT, `timeRetrieved` INTEGER NOT NULL, `isDetailed` INTEGER NOT NULL, `city` TEXT, `country` TEXT, `postcode` TEXT, `street` TEXT, `fault_report_created` INTEGER, `fault_report_description` TEXT, `twentyfourSeven` INTEGER, `description` TEXT, `mostart` TEXT, `moend` TEXT, `tustart` TEXT, `tuend` TEXT, `westart` TEXT, `weend` TEXT, `thstart` TEXT, `thend` TEXT, `frstart` TEXT, `frend` TEXT, `sastart` TEXT, `saend` TEXT, `sustart` TEXT, `suend` TEXT, `hostart` TEXT, `hoend` TEXT, `freecharging` INTEGER, `freeparking` INTEGER, `descriptionShort` TEXT, `descriptionLong` TEXT, `chargepricecountry` TEXT, `chargepricenetwork` TEXT, `chargepriceplugTypes` TEXT, PRIMARY KEY(`id`, `dataSource`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"dataSource",
"columnName":"dataSource",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"coordinates",
"columnName":"coordinates",
"affinity":"BLOB",
"notNull":true
},
{
"fieldPath":"chargepoints",
"columnName":"chargepoints",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"network",
"columnName":"network",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"editUrl",
"columnName":"editUrl",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"verified",
"columnName":"verified",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"barrierFree",
"columnName":"barrierFree",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"operator",
"columnName":"operator",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"generalInformation",
"columnName":"generalInformation",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"amenities",
"columnName":"amenities",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"locationDescription",
"columnName":"locationDescription",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"photos",
"columnName":"photos",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"chargecards",
"columnName":"chargecards",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"license",
"columnName":"license",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"networkUrl",
"columnName":"networkUrl",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"chargerUrl",
"columnName":"chargerUrl",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"timeRetrieved",
"columnName":"timeRetrieved",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"isDetailed",
"columnName":"isDetailed",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"address.city",
"columnName":"city",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"address.country",
"columnName":"country",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"address.postcode",
"columnName":"postcode",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"address.street",
"columnName":"street",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"faultReport.created",
"columnName":"fault_report_created",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"faultReport.description",
"columnName":"fault_report_description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.twentyfourSeven",
"columnName":"twentyfourSeven",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"openinghours.description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.monday.start",
"columnName":"mostart",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.monday.end",
"columnName":"moend",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.tuesday.start",
"columnName":"tustart",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.tuesday.end",
"columnName":"tuend",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.wednesday.start",
"columnName":"westart",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.wednesday.end",
"columnName":"weend",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.thursday.start",
"columnName":"thstart",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.thursday.end",
"columnName":"thend",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.friday.start",
"columnName":"frstart",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.friday.end",
"columnName":"frend",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.saturday.start",
"columnName":"sastart",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.saturday.end",
"columnName":"saend",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.sunday.start",
"columnName":"sustart",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.sunday.end",
"columnName":"suend",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.holiday.start",
"columnName":"hostart",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"openinghours.days.holiday.end",
"columnName":"hoend",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"cost.freecharging",
"columnName":"freecharging",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"cost.freeparking",
"columnName":"freeparking",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"cost.descriptionShort",
"columnName":"descriptionShort",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"cost.descriptionLong",
"columnName":"descriptionLong",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"chargepriceData.country",
"columnName":"chargepricecountry",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"chargepriceData.network",
"columnName":"chargepricenetwork",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"chargepriceData.plugTypes",
"columnName":"chargepriceplugTypes",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id",
"dataSource"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"Favorite",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`favoriteId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `chargerId` INTEGER NOT NULL, `chargerDataSource` TEXT NOT NULL, FOREIGN KEY(`chargerId`, `chargerDataSource`) REFERENCES `ChargeLocation`(`id`, `dataSource`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
"createSql":"CREATE INDEX IF NOT EXISTS `index_Favorite_chargerId_chargerDataSource` ON `${TABLE_NAME}` (`chargerId`, `chargerDataSource`)"
}
],
"foreignKeys":[
{
"table":"ChargeLocation",
"onDelete":"NO ACTION",
"onUpdate":"NO ACTION",
"columns":[
"chargerId",
"chargerDataSource"
],
"referencedColumns":[
"id",
"dataSource"
]
}
]
},
{
"tableName":"BooleanFilterValue",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`key` TEXT NOT NULL, `value` INTEGER NOT NULL, `dataSource` TEXT NOT NULL, `profile` INTEGER NOT NULL, PRIMARY KEY(`key`, `profile`, `dataSource`), FOREIGN KEY(`profile`, `dataSource`) REFERENCES `FilterProfile`(`id`, `dataSource`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"createSql":"CREATE INDEX IF NOT EXISTS `index_BooleanFilterValue_profile_dataSource` ON `${TABLE_NAME}` (`profile`, `dataSource`)"
}
],
"foreignKeys":[
{
"table":"FilterProfile",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"profile",
"dataSource"
],
"referencedColumns":[
"id",
"dataSource"
]
}
]
},
{
"tableName":"MultipleChoiceFilterValue",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`key` TEXT NOT NULL, `values` TEXT NOT NULL, `all` INTEGER NOT NULL, `dataSource` TEXT NOT NULL, `profile` INTEGER NOT NULL, PRIMARY KEY(`key`, `profile`, `dataSource`), FOREIGN KEY(`profile`, `dataSource`) REFERENCES `FilterProfile`(`id`, `dataSource`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"createSql":"CREATE INDEX IF NOT EXISTS `index_MultipleChoiceFilterValue_profile_dataSource` ON `${TABLE_NAME}` (`profile`, `dataSource`)"
}
],
"foreignKeys":[
{
"table":"FilterProfile",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"profile",
"dataSource"
],
"referencedColumns":[
"id",
"dataSource"
]
}
]
},
{
"tableName":"SliderFilterValue",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`key` TEXT NOT NULL, `value` INTEGER NOT NULL, `dataSource` TEXT NOT NULL, `profile` INTEGER NOT NULL, PRIMARY KEY(`key`, `profile`, `dataSource`), FOREIGN KEY(`profile`, `dataSource`) REFERENCES `FilterProfile`(`id`, `dataSource`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"createSql":"CREATE INDEX IF NOT EXISTS `index_SliderFilterValue_profile_dataSource` ON `${TABLE_NAME}` (`profile`, `dataSource`)"
}
],
"foreignKeys":[
{
"table":"FilterProfile",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"profile",
"dataSource"
],
"referencedColumns":[
"id",
"dataSource"
]
}
]
},
{
"tableName":"FilterProfile",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, `dataSource` TEXT NOT NULL, `id` INTEGER NOT NULL, `order` INTEGER NOT NULL, PRIMARY KEY(`dataSource`, `id`))",
"fields":[
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"dataSource",
"columnName":"dataSource",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"order",
"columnName":"order",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"dataSource",
"id"
]
},
"indices":[
{
"name":"index_FilterProfile_dataSource_name",
"unique":true,
"columnNames":[
"dataSource",
"name"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_FilterProfile_dataSource_name` ON `${TABLE_NAME}` (`dataSource`, `name`)"
}
],
"foreignKeys":[]
},
{
"tableName":"RecentAutocompletePlace",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `dataSource` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `primaryText` TEXT NOT NULL, `secondaryText` TEXT NOT NULL, `latLng` TEXT NOT NULL, `viewport` TEXT, `types` TEXT NOT NULL, PRIMARY KEY(`id`, `dataSource`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"dataSource",
"columnName":"dataSource",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"timestamp",
"columnName":"timestamp",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"primaryText",
"columnName":"primaryText",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"secondaryText",
"columnName":"secondaryText",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"latLng",
"columnName":"latLng",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"viewport",
"columnName":"viewport",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"types",
"columnName":"types",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id",
"dataSource"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"GEPlug",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, PRIMARY KEY(`name`))",
"fields":[
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"name"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"GENetwork",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, PRIMARY KEY(`name`))",
"fields":[
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"name"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"GEChargeCard",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `url` TEXT NOT NULL, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"OCMConnectionType",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `title` TEXT NOT NULL, `formalName` TEXT, `discontinued` INTEGER, `obsolete` INTEGER, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"formalName",
"columnName":"formalName",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"discontinued",
"columnName":"discontinued",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"obsolete",
"columnName":"obsolete",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"OCMCountry",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `isoCode` TEXT NOT NULL, `continentCode` TEXT, `title` TEXT NOT NULL, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"isoCode",
"columnName":"isoCode",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"continentCode",
"columnName":"continentCode",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"OCMOperator",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `websiteUrl` TEXT, `title` TEXT NOT NULL, `contactEmail` TEXT, `contactTelephone1` TEXT, `contactTelephone2` TEXT, PRIMARY KEY(`id`))",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"websiteUrl",
"columnName":"websiteUrl",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"contactEmail",
"columnName":"contactEmail",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"contactTelephone1",
"columnName":"contactTelephone1",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"contactTelephone2",
"columnName":"contactTelephone2",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"id"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"OSMNetwork",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, PRIMARY KEY(`name`))",
"fields":[
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"name"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"SavedRegion",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`region` BLOB NOT NULL, `dataSource` TEXT NOT NULL, `timeRetrieved` INTEGER NOT NULL, `filters` TEXT, `isDetailed` INTEGER NOT NULL, `id` INTEGER PRIMARY KEY AUTOINCREMENT)",
"fields":[
{
"fieldPath":"region",
"columnName":"region",
"affinity":"BLOB",
"notNull":true
},
{
"fieldPath":"dataSource",
"columnName":"dataSource",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"timeRetrieved",
"columnName":"timeRetrieved",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"filters",
"columnName":"filters",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"isDetailed",
"columnName":"isDetailed",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"id"
]
},
"indices":[
{
"name":"index_SavedRegion_filters_dataSource",
"unique":false,
"columnNames":[
"filters",
"dataSource"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_SavedRegion_filters_dataSource` ON `${TABLE_NAME}` (`filters`, `dataSource`)"
}
],
"foreignKeys":[]
}
],
"views":[],
"setupQueries":[
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'e9e169ba4257824c82e4acb030730e97')"
// TODO: This is a emporary workaround until Car App Library 1.7.0 is released - previous versions would crash if the car reported an invalid speed display unit
<stringname="auto_location_permission_needed">Per eseguire EVMap sulla propria auto, è necessario concedere l\'accesso alla propria posizione.</string>
<stringname="donations_info"formatted="false">Findest du EVMap nützlich? Unterstütze die Weiterentwicklung der App mit einer Spende an den Entwickler.\n\nGoogle zieht von der Spende 30% Gebühren ab.</string>
<stringname="donations_info"formatted="false">Findest du EVMap nützlich? Unterstütze die Weiterentwicklung der App mit einer Spende an den Entwickler.</string>
<stringname="donations_info"formatted="false">Kas EVMap on sulle kasulik? Oma arendajale saadetava rahalise toetusega edendad ka arendustegevust.</string>
<stringname="donations_info"formatted="false">Vond je EVMap nuttig? Je kan de ontwikkeling ondersteunen door een donatie te sturen naar de ontwikkelaar.</string>
<stringname="donate_paypal">Doneer via PayPal</string>
<stringname="data_sources_hint">De kaartgegevens zijn afkomstig van OpenStreetMap.</string>
<stringname="data_sources_hint">Os dados do mapa são fornecidos pelo OpenStreetMap.</string>
<stringname="donate_paypal">Doar com o PayPal</string>
<stringname="donations_info"formatted="false">Acha que o EVMap é útil? Apoie a manutenção e desenvolvimento com uma doação para o desenvolvedor da app.</string>
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.