From e5936319c7199803c7f857f2d7203e783c5e727a Mon Sep 17 00:00:00 2001 From: ale5000 Date: Sat, 24 Dec 2016 14:37:09 +0100 Subject: [PATCH 1/4] Update README Minor fixes to README Added Android 7 to README Include most of the changes of @KAMiKAZOW at #95 --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index aa68848..d40c354 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Installation ------------ Release builds may be found on the [release page](https://github.com/microg/android_packages_apps_UnifiedNlp/releases). -### Android 4.4 - 6.0 (KitKat / Lollipop / Marshmallow) +### Android 4.4 - 7.1.1 (KitKat / Lollipop / Marshmallow / Nougat) Most modern ROMs come with support for non-Google geolocation providers. On these systems installation is easy: 1. Make sure that no Google geolocation tool is installed (it is usually listed as Google Play Services in Apps) @@ -24,39 +24,39 @@ Some ROMs, especially those not based on AOSP might have problems using this met 3. Copy `NetworkLocation.apk` to `/system/priv-app` (from your PC, call `adb push NetworkLocation.apk /system/priv-app/NetworkLocation.apk`) 4. Reboot (from you PC, call `adb reboot`) and continue at [Usage](#usage) -### Android 2.3 - 4.3 (Gingerbread / Honeycomb / Ice Cream Sandwich / Jelly Bean) +### Android 2.3 - 4.3.1 (Gingerbread / Honeycomb / Ice Cream Sandwich / Jelly Bean) Older Android versions are no longer officially supported. However I still provide a legacy build, that should be compatible with those systems. It is required to have a rooted system to install on Jelly Bean and older. 1. Download `LegacyNetworkLocation.apk` 2. Mount `/system` read-write (from your PC, call `adb root && adb remount`) -3. Copy `LegacyNetworkLocation.apk` to `/system/app` (from your PC, call `adb push LegacyNetworkLocation.apk /system/priv-app/NetworkLocation.apk`) +3. Copy `LegacyNetworkLocation.apk` to `/system/app` (from your PC, call `adb push LegacyNetworkLocation.apk /system/app/LegacyNetworkLocation.apk`) 4. Reboot (from you PC, call `adb reboot`) and continue at [Usage](#usage) Usage ----- -UnifiedNlp alone does not provide any features, but acts as a middleware for multiple backends.Most of them can be downloaded and updated using [F-Droid](https://f-droid.org) +UnifiedNlp alone does not provide any features, but acts as a middleware for multiple backends. Most of them can be downloaded and updated using [F-Droid](https://f-droid.org) Here is a list of backends for geolocation and (reverse) geocoding known to me: -- [AppleWifiNlpBackend](https://github.com/microg/AppleWifiNlpBackend) - backend that uses Apple's service to resolve wifi locations -- [OpenWlanMapNlpBackend](https://github.com/microg/OpenWlanMapNlpBackend) - backend that uses OpenWlanMap.org to resolve user location. -- [OpenBmapNlpBackend](https://github.com/wish7code/org.openbmap.unifiedNlpProvider) - backend that uses openBmap to resolve user location. -- [MozillaNlpBackend](https://github.com/microg/IchnaeaNlpBackend) - backend that uses the Mozilla Location Service to resolve user location. -- [PersonalWifiBackend](https://github.com/n76/wifi_backend) - Local location provider for WiFi APs using on-phone generated database. -- [LocalGSMLocationProvider](https://github.com/rtreffer/LocalGSMLocationProvider) - Local opencellid based location provider backend -- [LocalGSMBackend](https://github.com/n76/Local-GSM-Backend) - Local location provider for gsm cells with separate database file (lacells.db) +- [AppleWifiNlpBackend](https://github.com/microg/AppleWifiNlpBackend) - Uses Apple's service to resolve Wi-Fi locations. It has excellent coverage but the database is proprietary. +- [OpenWlanMapNlpBackend](https://github.com/microg/OpenWlanMapNlpBackend) - Uses OpenWlanMap.org to resolve user location but the NLP backend did not reach release-quality, yet. Users interested in a freely licensed and downloadable database for offline use should stick with openBmap for now. +- [OpenBmapNlpBackend](https://github.com/wish7code/org.openbmap.unifiedNlpProvider) - Uses [openBmap](https://radiocells.org/) to resolve user location. Community-created, freely licensed database that can optionally be downloaded for offline operation. The coverage [varies from country to country](https://radiocells.org/stats/countries) (it's best in central Europe). +- [MozillaNlpBackend](https://github.com/microg/IchnaeaNlpBackend) - Uses the Mozilla Location Service to resolve user location. The coverage is OK. Only the cell tower database is free. +- [PersonalWifiBackend](https://github.com/n76/wifi_backend) - Local location provider for Wi-Fi APs using on-phone generated database. +- [LocalGSMLocationProvider](https://github.com/rtreffer/LocalGSMLocationProvider) - Local opencellid based location provider backend. Has been surpassed by LocalGSMBackend which also has an OpenCellID option. +- [LocalGSMBackend](https://github.com/n76/Local-GSM-Backend) - Local location provider for GSM cells. It works offline by downloading freely licensed database files from Mozilla, OpenCellID, or lacells.db. -  + -- [NominatimGeocoderBackend](https://github.com/microg/NominatimGeocoderService) +- [NominatimGeocoderBackend](https://github.com/microg/NominatimGeocoderService) - Address lookup backend. - (...) Create issue or pull request to extend either list :) After installing a backend, you can use UnifiedNlp by activating network-based geolocation in Settings->Location. Since KitKat, you need to select any mode but "device only", on older Android version this setting is called "Wi-Fi & mobile network location" (ignore any misleading texts saying this is for Google's location service, you don't have Google's service installed but UnifiedNlp :smile:) -Backend-development +Backend development ------------------- The API is available [here](https://github.com/microg/android_external_UnifiedNlpApi). Documentation may be found in the README provided with the API. @@ -85,13 +85,13 @@ Note that you need to add [UnifiedNlpApi](https://github.com/microg/android_exte Attribution ----------- -Some components: Copyright (C) 2013 The Android Open Source Project +Some components: Copyright © 2013 The Android Open Source Project `compat`-folder is extracted from different AOSP versions for cross-version compatibility License ------- - Copyright 2013-2015 microG Project Team + Copyright © 2013-2016 microG Project Team Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From 6d51630921f67e05dd2829def790d56048a7717a Mon Sep 17 00:00:00 2001 From: ale5000 Date: Sat, 24 Dec 2016 16:54:55 +0100 Subject: [PATCH 2/4] Separate better the lists of backends --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index d40c354..694dcf9 100644 --- a/README.md +++ b/README.md @@ -36,21 +36,22 @@ It is required to have a rooted system to install on Jelly Bean and older. Usage ----- -UnifiedNlp alone does not provide any features, but acts as a middleware for multiple backends. Most of them can be downloaded and updated using [F-Droid](https://f-droid.org) -Here is a list of backends for geolocation and (reverse) geocoding known to me: - -- [AppleWifiNlpBackend](https://github.com/microg/AppleWifiNlpBackend) - Uses Apple's service to resolve Wi-Fi locations. It has excellent coverage but the database is proprietary. -- [OpenWlanMapNlpBackend](https://github.com/microg/OpenWlanMapNlpBackend) - Uses OpenWlanMap.org to resolve user location but the NLP backend did not reach release-quality, yet. Users interested in a freely licensed and downloadable database for offline use should stick with openBmap for now. -- [OpenBmapNlpBackend](https://github.com/wish7code/org.openbmap.unifiedNlpProvider) - Uses [openBmap](https://radiocells.org/) to resolve user location. Community-created, freely licensed database that can optionally be downloaded for offline operation. The coverage [varies from country to country](https://radiocells.org/stats/countries) (it's best in central Europe). -- [MozillaNlpBackend](https://github.com/microg/IchnaeaNlpBackend) - Uses the Mozilla Location Service to resolve user location. The coverage is OK. Only the cell tower database is free. -- [PersonalWifiBackend](https://github.com/n76/wifi_backend) - Local location provider for Wi-Fi APs using on-phone generated database. -- [LocalGSMLocationProvider](https://github.com/rtreffer/LocalGSMLocationProvider) - Local opencellid based location provider backend. Has been surpassed by LocalGSMBackend which also has an OpenCellID option. -- [LocalGSMBackend](https://github.com/n76/Local-GSM-Backend) - Local location provider for GSM cells. It works offline by downloading freely licensed database files from Mozilla, OpenCellID, or lacells.db. - - - -- [NominatimGeocoderBackend](https://github.com/microg/NominatimGeocoderService) - Address lookup backend. -- (...) Create issue or pull request to extend either list :) +UnifiedNlp alone does not provide any features, but acts as a middleware for multiple backends. Most of them can be downloaded and updated using [F-Droid](https://f-droid.org). +Here is a list of backends known to me. + +List of backends for geolocation: +* [AppleWifiNlpBackend](https://github.com/microg/AppleWifiNlpBackend) - Uses Apple's service to resolve Wi-Fi locations. It has excellent coverage but the database is proprietary. +* [OpenWlanMapNlpBackend](https://github.com/microg/OpenWlanMapNlpBackend) - Uses OpenWlanMap.org to resolve user location but the NLP backend did not reach release-quality, yet. Users interested in a freely licensed and downloadable database for offline use should stick with openBmap for now. +* [OpenBmapNlpBackend](https://github.com/wish7code/org.openbmap.unifiedNlpProvider) - Uses [openBmap](https://radiocells.org/) to resolve user location. Community-created, freely licensed database that can optionally be downloaded for offline operation. The coverage [varies from country to country](https://radiocells.org/stats/countries) (it's best in central Europe). +* [MozillaNlpBackend](https://github.com/microg/IchnaeaNlpBackend) - Uses the Mozilla Location Service to resolve user location. The coverage is OK. Only the cell tower database is free. +* [PersonalWifiBackend](https://github.com/n76/wifi_backend) - Local location provider for Wi-Fi APs using on-phone generated database. +* [LocalGSMLocationProvider](https://github.com/rtreffer/LocalGSMLocationProvider) - Local opencellid based location provider backend. Has been surpassed by LocalGSMBackend which also has an OpenCellID option. +* [LocalGSMBackend](https://github.com/n76/Local-GSM-Backend) - Local location provider for GSM cells. It works offline by downloading freely licensed database files from Mozilla, OpenCellID, or lacells.db. + +List of backends for (reverse) geocoding: +* [NominatimGeocoderBackend](https://github.com/microg/NominatimGeocoderService) - Address lookup backend. + +(...) Create issue or pull request to extend either list :) After installing a backend, you can use UnifiedNlp by activating network-based geolocation in Settings->Location. Since KitKat, you need to select any mode but "device only", on older Android version this setting is called "Wi-Fi & mobile network location" From d1da350622d55993a04fbd04f860f758a517f9d1 Mon Sep 17 00:00:00 2001 From: ale5000 Date: Wed, 28 Dec 2016 17:48:24 +0100 Subject: [PATCH 3/4] Follow @gdt recommendations Added special note for Nougat Corrected name Report last update year for unmaintained backends --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 694dcf9..9489ba1 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ Some ROMs, especially those not based on AOSP might have problems using this met 3. Copy `NetworkLocation.apk` to `/system/priv-app` (from your PC, call `adb push NetworkLocation.apk /system/priv-app/NetworkLocation.apk`) 4. Reboot (from you PC, call `adb reboot`) and continue at [Usage](#usage) +**Note:** On Android 7 (or later) an [additional patch](https://github.com/microg/android_packages_apps_UnifiedNlp/blob/master/patches/android_frameworks_base-N.patch) is needed to make it working, or alternatively, you can install it in `/system/priv-app` as explained above. + ### Android 2.3 - 4.3.1 (Gingerbread / Honeycomb / Ice Cream Sandwich / Jelly Bean) Older Android versions are no longer officially supported. However I still provide a legacy build, that should be compatible with those systems. It is required to have a rooted system to install on Jelly Bean and older. @@ -41,11 +43,11 @@ Here is a list of backends known to me. List of backends for geolocation: * [AppleWifiNlpBackend](https://github.com/microg/AppleWifiNlpBackend) - Uses Apple's service to resolve Wi-Fi locations. It has excellent coverage but the database is proprietary. -* [OpenWlanMapNlpBackend](https://github.com/microg/OpenWlanMapNlpBackend) - Uses OpenWlanMap.org to resolve user location but the NLP backend did not reach release-quality, yet. Users interested in a freely licensed and downloadable database for offline use should stick with openBmap for now. +* [OpenWlanMapNlpBackend](https://github.com/microg/OpenWlanMapNlpBackend) - Uses OpenWlanMap.org to resolve user location but the NLP backend did not reach release-quality, yet. Users interested in a freely licensed and downloadable database for offline use should stick with openBmap for now - *Last updated in 2015* * [OpenBmapNlpBackend](https://github.com/wish7code/org.openbmap.unifiedNlpProvider) - Uses [openBmap](https://radiocells.org/) to resolve user location. Community-created, freely licensed database that can optionally be downloaded for offline operation. The coverage [varies from country to country](https://radiocells.org/stats/countries) (it's best in central Europe). * [MozillaNlpBackend](https://github.com/microg/IchnaeaNlpBackend) - Uses the Mozilla Location Service to resolve user location. The coverage is OK. Only the cell tower database is free. -* [PersonalWifiBackend](https://github.com/n76/wifi_backend) - Local location provider for Wi-Fi APs using on-phone generated database. -* [LocalGSMLocationProvider](https://github.com/rtreffer/LocalGSMLocationProvider) - Local opencellid based location provider backend. Has been surpassed by LocalGSMBackend which also has an OpenCellID option. +* [LocalWifiNlpBackend](https://github.com/n76/wifi_backend) - Local location provider for Wi-Fi APs using on-phone generated database. +* [LocalGSMLocationProvider](https://github.com/rtreffer/LocalGSMLocationProvider) - Local opencellid based location provider backend. Has been surpassed by LocalGSMBackend which also has an OpenCellID option - *Last update in 2014* * [LocalGSMBackend](https://github.com/n76/Local-GSM-Backend) - Local location provider for GSM cells. It works offline by downloading freely licensed database files from Mozilla, OpenCellID, or lacells.db. List of backends for (reverse) geocoding: From 48c5f5f76416f77b14aceb17fee2077047b063e5 Mon Sep 17 00:00:00 2001 From: ale5000 Date: Wed, 28 Dec 2016 19:40:25 +0100 Subject: [PATCH 4/4] Keep (C) as per request --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9489ba1..d1d0c79 100644 --- a/README.md +++ b/README.md @@ -88,13 +88,13 @@ Note that you need to add [UnifiedNlpApi](https://github.com/microg/android_exte Attribution ----------- -Some components: Copyright © 2013 The Android Open Source Project +Some components: Copyright (C) 2013 The Android Open Source Project `compat`-folder is extracted from different AOSP versions for cross-version compatibility License ------- - Copyright © 2013-2016 microG Project Team + Copyright (C) 2013-2016 microG Project Team Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.