yashsingh1/xdaforums huggingface dataset:
[Android Software Development] wkwkwk:
Thanks. Let me put a bit of information. I have a Nexus 4 running a recent CM10.2 nightly (Android 4.3).

/sdcard is available to apps (and it's virtual under /data/media/0/ as the nexus 4 doesn't have an external one).

In c:geo I've selected under Map Sources: OSM Mapnik. If I click on the live map the tiles load but I noticed if I close the app and relaunch it the map tiles will load again so they don't seem to be cached.

Under cache details the tickbox: "store cache static maps for offline use" is ticked.

I also have the osmand app if that helps with anything as I have the osm map for offline use downloaded.

Is there a place under /sdcard that stores the map tiles? There's a /sdcard/.cgeo that's about 22MB.

Would I be able to manually download the osm map tiles and put them under /sdcard (where?) so all apps can access them?

My question was more around: "where are the apps looking for the map tiles?"

As a last resort, I'm wondering if I replace system/etc/permissions/com.google.android.maps.xml and system/framework/com.google.android.maps.jar with the google provided ones, will it work (show the google map)?

I have openpdroid installed but since it's not a standard app I have no idea what data is it leaking.

Thank you.

Update: the relevant logcat when opening the map in tasker:

I/MapaAPI ( 3788): MapView: Using tile source: com.google.android.maps.XYTileSource@417f34c8
I/MapsAPI ( 3788): MapTileFileStorageProviderBase: sdcard state: mounted
I/MapaAPI ( 3788): MapView: Using tile source: com.google.android.maps.XYTileSource@417f34c8
W/ContextImpl( 1274): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:-1 android.privacy.PrivacySettingsManagerService.notification:-1 android.privacy.IPrivacySettingsManager$Stub.onTransact:-1 android.os.Binder.execTransact:-1 dalvik.system.NativeStart.run:-2
V/PDroidAlternative( 3000): NotificationHandler: Notification for: net.dinglisch.android.taskerm:networkInfoCurrent:0
V/PDroidAlternative( 3000): NotificationHandler: Log setting on for net.dinglisch.android.taskerm
I/ActivityManager( 1274): Displayed net.dinglisch.android.taskerm/.LocSelect: +218ms
[Android Software Development] MaR-V-iN:
You should select "Google: Map" as map source - this will use the system map api, which you just replaced with osm (c:geo can't know if you're using original Google Maps or NOGAPPS). When you select "OSM: Mapnik" c:geo will use its own map api and other apps can't access the cache (they could, but they must be aware of c:geo which they're most likely not)

NOGAPPS Maps API v1 does not support osmand offline maps, but there are plans to support at least one offline map format in v2.

map tiles are stored in /sdcard/.openmaps/tiles/Mapnik - you can place map tiles there manually if you like

This most likely will show the maps, but i think caching won't work. the maps api always has the permissions and data of the app using it. You would need to restrict the app using maps api with pdroid if you wish to restrict the maps api.
[Android Software Development] MaR-V-iN:
Nope, replicant tries to replace the hardware drivers with open source ones - let's say it is simply a buggy aosp rom for only a few devices. However it should be possible to install NOGAPPS on replicant.
[Android Software Development] sabret00the:
This is exciting. It may be the first real reason for Android forking.
[Android Software Development] kladd:
Things are always better when they're free (both kinds). Definitely looking forward to the success of this project.
[Android Software Development] Entropy512:
Similar but different. Replicant aims to replace the proprietary "blob" hardware drivers on various devices, but not Google's apps. This replaces Google's app stack.

You can think of it of having complimentary and similar, but not identical goals.
[Android Software Development] dkephart:
You laugh now, but...

Funny..until Apple comes after you suing for infringement of their patent on being in a geographical location :)
[Android Software Development] icyeye:
i like your idea. tbh i rly hated google because of thing like this...'' those gapps do track them more than most other apps'' . many,many gapps got tracking thing..damn why? huh...

so i am hoping that u will sucess with your idea. GL m8!

sry on word mistake..
[Android Software Development] Fr4gg0r:
looks promising.. I would especially like a better market app.

System apps get some extra permissions (for example installing and deleting applications) but definetely not all (for example not the permission to kill running apps).
[Android Software Development] MaR-V-iN:
That is partly incorrect. It's right that system apps do not get full system access like you have with root, however they might kill running apps - simply think about Settings-App beeing a system app - so everything you may do within settings app is possible in any system app
[Android Software Development] Fr4gg0r:
Settings app is signed with the platform key. I modded a launcher to kill running apps, it did not work when installed in /system but when signed with cyanogenmod's platform key.

<permission android:name="android.permission.FORCE_STOP_PACKAGES"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="signature"
android:label="@string/permlab_forceStopPackages"
android:description="@string/permdesc_forceStopPackages" />

https://github.com/CyanogenMod/android_frameworks_base/blob/ics/core/res/AndroidManifest.xml ;)

If you want all permission, your process has to run as root - which is theoretically no problem, but I haven't figured out yet how to create a proper Context object.
[Android Software Development] MaR-V-iN:
I thought fc has signatureOrSystem because it was not in the internal section at the end of the file mentioned. However that is not important, as I'm not gonna need to kill an app ;)
[Android Software Development] 1ceb0x:
Will look into this project with greatly interest. As a person who always wants free and open sourced apps, this is a dream came true.

However, what's the problem with your Open Source market? Why do we need to use it with a new google account?

Cheers! :highfive:

What a wonderful project!
[Android Software Development] MaR-V-iN:
You don't need to use a new account, that's only my personal suggestion, because Google may close the account, because ToS infringement. (Google forbids using apps other than their own )
[Android Software Development] 1ceb0x:
Well, is this tested?
[Android Software Development] MaR-V-iN:
My Secondary Google Account didn't stop working even though I did some strange things with their API. But this doesn't mean anything, as Google may change their behavior after the app is published - depending on whether it's used or not.
[Android Software Development] sabret00the:
Is there an official replicant thread on XDA?
[Android Software Development] Cookie Ninja:
Great work. I heartily support any project that avoids using Google's sneaky, data stealing method in the name of providing 'user specific advertising' user experience. Way to go!

Sent from my HTC Incredible S
[Android Software Development] hillyard:
Putting the "Don't do Evil" back. Good!
[Android Software Development] XdxH62:
Great project!

The main problem I see with your approach is the NIH[0] syndrome. There are projects around for most things you're trying to achieve.

Do you know f-droid?[1]

It's a free software repository and client. Applications are added by the community and are (when possible) build on the server to ensure they only use open source code.

If you want your project to be independent you could still use the server and client and just create a different repository (maybe with different rules).

Beeing compatible with the official API sounds great but you should try to use open data sources. The best one I know of is openBmap. It might not meet your needs yet, but you should at least plan to integrate different data sources sooner or later.

Beem[3] looks pretty stable and they already started working on jingle interation. If it doesn't have to be XMPP you should take a look at CSipSimple[4].

There are dictionaries and RSS clients in the f-droid repository. ;)

Dominik is working on a local calendar provider.[5]

aCal[6] does what you need. It's not a provider but an independent client. (and it's in f-droid)

As mentioned in the thread, OsmAnd[7] might at least be a good basis to start with - if not the solution. Check the FAQ if you want to use it with Google Maps.

I'm not sure why we need this. Osmdroid does already help applications using OSM instead of Google Maps. The right thing might be to tell the developers of "DB Navigator" to use free Maps instead of Google (and to release the source). ;)

I love the idea of having some essential free apps included in a custom rom but please don't go too far. If you distribute a free "Market" people can decide what they really want to install on their phone.

And if we're talking about essential stuff - I vote for including a notepad application.

Thanks a lot for this great project!

[0] https://en.wikipedia.org/wiki/Not_invented_here

[1] http://f-droid.org/

[2] http://openbmap.org/

[3] http://beem-project.com/

[4] https://code.google.com/p/csipsimple/

[5] https://gitorious.org/local-calendar/

[6] http://acal.me/

[7] https://code.google.com/p/osmand/
[Android Software Development] MaR-V-iN:
As you made you pm public, i'll do the same with my answer

I'll add: You want me to provide a free market > that's what i do. I know you wanted to say that you want people to use only open source software, but i dont want people to restrict their apps on an idea, that makes in most cases no sense for them (most users are using windows = proprietary software and they have no problem with that)

But privacy is something that should be imported for everyone.

PS: Sorry for spamming this thread.
[Android Software Development] motodroidfreak:
Im gonna keep my eye on this project.... ill help test, code, whatever....
[Android Software Development] wkwkwk:
I see. I initially had Google Maps selected but I switched to OSM as it didn't work.

It seems like it's correct:

root@android:/sdcard/.openmaps # find . |grep tiles|wc -l

164

root@android:/sdcard/.openmaps #

But tasker still doesn't show anything. I installed temporarily the google jar and the map showed. I selected what I had to and replaced the jar with your one.

Thanks again for all your work - it's highly appreciated.
[Android Software Development] :
Wow incredible. After two years my phone finally runs google free and it's only thanks to you. You are awesome! Thank you so much.

Edit: I have problems finding out my device id. When I enter *#*#8255#*#* it's just instantly deleted and I can't dial. How else can I find out my device id?

Edit: app "device id" helped. Your play store is in fact working, awesome!

Edit 2: Faux clock says my license is invalid. Are there problems with license checking?
[Android Software Development] MaR-V-iN:
PlayStore license check is not implemented yet.
[Android Software Development] aelmahmoudy:
Hello,

I didn't find "Device Id:" nor anything with "android-" prefix, yet I found an "aid" field, so I used it to create the account. Now the Market app opens, but when I try to install an app, or list the installed apps, it crashes.

I noticed the following in the logcat when I start the market app:

E/ ( 4616): Device driver API match

E/ ( 4616): Device driver API version: 17

E/ ( 4616): User space API version: 17

E/ ( 4616): mali: REVISION=Linux-r3p1-01rel1 BUILD_DATE=Tue Jul 2 15:06:24 KST 2013

I am running CyanogenMod 10.1.3 on my phone.

Also I tried to get my Id using the firefox method you mentioned, but I get the following response in the web console:

ReferenceError: initProps is not defined

UPDATE: I generated a new android id, and it worked.
[Android Software Development] SHAWDAH:
A noble project you've got here.

Running stock latest cyanogenmod, no gapps at all.

Is there any I've got to do to get blankstore working apart from whats listed in instructions?

Does blankstore automatically update or will I have to reinstall/reflash it if I want the latest version?

Does it keep apps installed from the play store up to date?

Thanks.
[Android Software Development] thelieisajoke:
Nope

Update: no or not yet

You got to copy the latest APK to /system/app.

You can manually update apps. Maybe Marvin is going to make updating your personal ****ton of apps easier in the next updates.

N7105 | NOGAPPS | PROBAM | AGNI
[Android Software Development] charlie95113:
Is there a all inn one flashable zip
[Android Software Development] tinyXperia:
Is there any way to use Google calendar without GSF? Maybe a third party app?

Edit:

NetworkLocation FC every time after reboot. Do I have to rename cells-europe.db to cells.db?

11:55:46.926 Error AndroidRuntime 692 FATAL EXCEPTION: Thread-51
11:55:46.927 Error AndroidRuntime 692 java.lang.SecurityException: Requires INSTALL_LOCATION_PROVIDER permission
11:55:46.927 Error AndroidRuntime 692	at android.os.Parcel.readException(Parcel.java:1425)
11:55:46.927 Error AndroidRuntime 692	at android.os.Parcel.readException(Parcel.java:1379)
11:55:46.928 Error AndroidRuntime 692	at android.location.ILocationManager$Stub$Proxy.reportLocation(ILocationManager.java:956)
11:55:46.928 Error AndroidRuntime 692	at com.android.location.provider.LocationProvider.reportLocation(LocationProvider.java:169)
11:55:46.929 Error AndroidRuntime 692	at org.microg.netlocation.provider.NetworkLocationProvider.onLocationChanged(NetworkLocationProvider.java:133)
11:55:46.930 Error AndroidRuntime 692	at org.microg.netlocation.data.LocationData.onLocationChanged(LocationData.java:121)
11:55:46.930 Error AndroidRuntime 692	at org.microg.netlocation.data.LocationData.getCurrentLocation(LocationData.java:82)
11:55:46.931 Error AndroidRuntime 692	at org.microg.netlocation.NetworkLocationThread.run(NetworkLocationThread.java:112)

?
[Android Software Development] MaR-V-iN:
not yet, but will come in the future :)

You can use caldav with Google calendar. There are several free caldav clients for android (see here) Google Caldav url is https://www.google.com/calendar/dav/YOUREMAIL@DOMAIN.COM/user [untested]

Did you install NetworkLocation to /system/app? Yes you need to rename it to cells.db, other filenames are not found.
[Android Software Development] thelieisajoke:
I'm using proprietary caldav-sync at the moment but now theres foss DAVdroid (also in fdroid repo).

But you need an own caldav-server like Radicale. (Owncloud also has one)

N7105 | NOGAPPS | PROBAM | AGNI
[Android Software Development] :
Whats the point of using google calendar but not using google on your phone?
[Android Software Development] tinyXperia:
My goal is not to use no Google services, but less Google services. To each their own I guess.
[Android Software Development] :
Well, if you want some advice on getting rid of google calendar, let me know ;)
[Android Software Development] thelieisajoke:
Dude everything got already posted in here.

N7105 | NOGAPPS | PROBAM | AGNI
[Android Software Development] tinyXperia:
Calendar sync says it's connected [thanks to OP's response here, I used this app, DAVdroid didn't work.] (still no results to be seen though), but it would be nice if someone could help me with contacts sync. Not all apps support both caldav and carddav, but I can't get hold of the correct url anyway, all that's to be found are guides for OS X and iOS. The guide for Thunderbird lists an url [https://google.com/m8/carddav/principals/__uids__/ Your name@gmail.com/lists/default/], but that one doesn't work for me either.

Anyone managed to get contact sync working?
[Android Software Development] Mevordel:
Use https://play.google.com/store/apps/details?id=org.dmfs.carddav.sync (The free one's broken in Blank Store, so you'll need the APK from Aptoide or some other method.)

When adding an account, just use "google.com" as the domain. No extra URL needed. Two-way sync works without any problems for me.
[Android Software Development] wkwkwk:
Hi,

Did I understand correctly that networklocation is only using nearby wi-fi points from apple's servers?

Is there any reason why it's not using the cellid? With wi-fi off it won't find any network location.

Thanks.
[Android Software Development] Mevordel:
You have to manually download a cell database for it to use CellID.
[Android Software Development] wkwkwk:
Thanks. So there's no way to use Apple's database for cell location, right?

I've put the .db under /sdcard/.nogapps/cells.db but all I get in logcat is "unable to locate using wlan". Do I have to do anything else to activate it?

Thanks
[Android Software Development] MaR-V-iN:
As I don't know how to access Apple's cell location database, this is impossible. Also note that Apple's wifi db is more like a temporary work-around than how it should be.

Did you restart your phone? if no message appears mentioning cells.db not found at boot, than everything is fine (if you get no location, this could also mean your cell is not in the database)
[Android Software Development] wkwkwk:
I did. There's nothing in logcat with cells.db in place or removed.

It's just the message about not being able to locate via wlan.

Would you have an .apk with more verbosity enabled?

Thanks.
[Android Software Development] MaR-V-iN:
Try this one: http://d-h.st/pSH
[Android Software Development] wkwkwk:
Thank you, it seems to be working (although the coverage for NZ is extremely poor in the cell.db database, it's better than nothing).

Thanks again.

I/DBFileCellLocationSource( 1686): checking /storage/emulated/0/.nogapps/cells.db for 530/5/xxxxxx

D/CellLocationData( 1686): could not get location via gsm calculateLocation is null

---------- Post added at 12:37 PM ---------- Previous post was at 12:27 PM ----------

One last question please.

What are the two last fields in the sqlite3 db?

-7.272552967|112.743209839|510|1|13372|60041

I want to write a tasker script that grabs the network location via wi-fi or gps when available to try and populate a bit the cells.db database for my area.

The first ones seem to be lat/long/mcc/mnc and one of the two is probably the cell id.

Thanks.
[Android Software Development] MaR-V-iN:
I didn't update those cells.db for a time now, you may want to check if your cellids are in the upstream database by using the url http://www.opencellid.org/cell/get?mnc=MNC&mcc=MCC&cellid=CELLID

the table fields are: lat,lon,mcc,mnc,lac,cellid - lac is location area code

you could've find this out by using the "-headers"-option in sqlite3 :)

It would be much better if this would be a part of the app, than a tasker script, wouldn't it?

Sorry, just some sort of notes here...

This "measures" should be kept independently, so they may be pushed upstream @ http://www.opencellid.org/api

There should also be a possibility to get cell updates from opencellid independently from the dumps.
[Android Software Development] wkwkwk:
The current cell doesn't seem to be in the database but as I mentioned, the database for NZ is almost non existent.

Thanks for that, I'm more of a mysql person and I'm trying to guess my way around sqlite3.

Is lac mandatory? Tasker seems to be giving me just the cellid (mcc and mnc are constant)

It would be rather nice but, as a sysadmin, my coding skills are good around shell scripting only and with tasker I call a php script that updates a mysql database.

Speaking about this, would I be able to generate my own cells.db from opencellid.org and get only my own MCC/MNC? Other carriers/countries aren't very useful.

I didn't dig enough around the issue but I'm assuming I should be able to push my findings so other people can use them. (edit: yes, it looks quite straight forward)

Edit: I've answered my own questions :)

First one is nice and easy http://www.opencellid.org/cell/getInArea?mcc=$mcc&mnc=$mnc&fmt=xml (parse it and dump it into sqlite3)

For the second one I got an API Key and already uploaded 2 cellids.
[Android Software Development] MaR-V-iN:
Currently LAC is not used in NetworkLocation.

Note that this is limited to 200 cells by default (you may increase limit, but not to unlimited). Daily dumps are provided here, you could extract from those.
[Android Software Development] bonanza123:
[MENTION=3999488]MaR-V-iN[/MENTION]

would it also be possible to change the WLAN database from google/apple to http://www.openwlanmap.org/ or https://location.services.mozilla.com/ ?
[Android Software Development] MaR-V-iN:
Generally yes, the interface is designed to support multiple backends and potentially let the user choose which one to use.

OpenWlanMap: seems to be a mainly germany project. Although most NOGAPPS users are from germany (at least i suppose) this should not be the only source, and as long as there is no ui to select the backend, this can't be added usefully. Also note that there data is very rare outside big cities and most likely not up-to-date (ending in potentially wrong location which is worse than no location)

Mozilla: This service is really needed by Mozilla. Their browser and os still use Google's API which is not what some (or most) users want. However this service is still in testing, they also focus on a non-privacy-friendly way of location calculation (send all your radios to server and get user location rather than get location of all radios and calculate user location on device), which is not compatible with the current design. (also note this is no great idea, because caching is almost impossible, so you would require a relevant amount of your data plan for location and geolocation is not available without network)
[Android Software Development] thelieisajoke:
Please implement batch-updating.

Need this so hard.

N7105 | NOGAPPS | PROBAM | AGNI
[Android Software Development] wkwkwk:
Excellent. I've just uploaded 160 measurements and I have a Tasker profile that collects cellids and location to keep this going.

Would you happen to have a one liner (or a script) that converts the daily dumps into the sqlite3 database?

I can "grep" my way around the dump but I'm not sure how to create the sqlite3 structure. If the inserts are mysql style that should be straight forward.

Thanks.
[Android Software Development] dmueller2:
Error on CM 10.2 Milestone, Android 4.3.1

Networklocation.apk Problems on Android 4.3.1 / CM 10.1 Milestone

is my system screwed or is this a problem in networklocation:

11-05 22:15:19.233 I/ActivityManager(721): Start proc com.google.android.location for service com.google.android.location/.NetworkLocationService: pid=1071 uid=10063 gids={50063, 1028, 3003, 1015}
11-05 22:15:19.383 W/dalvikvm(1071): [B]Unable to resolve superclass of Lorg/microg/netlocation/provider/NetworkLocationProvider; (650)[/B]
11-05 22:15:19.383 W/dalvikvm(1071): [B]Link of class 'Lorg/microg/netlocation/provider/NetworkLocationProvider;' failed[/B]
11-05 22:15:19.383 E/dalvikvm(1071): [B]Could not find class 'org.microg.netlocation.provider.NetworkLocationProvider', referenced from method org.microg.netlocation.MainService.onCreate[/B]
11-05 22:15:19.383 W/dalvikvm(1071): VFY: unable to resolve new-instance 815 (Lorg/microg/netlocation/provider/NetworkLocationProvider;) in Lorg/microg/netlocation/MainService;
11-05 22:15:19.393 W/dalvikvm(1071): Unable to resolve superclass of Lorg/microg/netlocation/provider/NetworkLocationProvider; (650)
11-05 22:15:19.393 W/dalvikvm(1071): Link of class 'Lorg/microg/netlocation/provider/NetworkLocationProvider;' failed
[Android Software Development] bonanza123:
I installed the "debug-version" you posted above. But what is the keyword to check the logcat? I tried almost everything with "network" and "location".

Thanks for your help
[Android Software Development] MaR-V-iN:
None of both, this messages just say your system is not compatible with the old NetworkLocationProvider interface, which has been disabled in JellyBean. The new NetworkLocationProviderV2 is used on this systems automatically (dalvik is just complaining it can't use components that are never used)

you should search for "Location" or even better use "adb logcat | grep $(adb shell ps | grep com.google.android.location)" (assuming you use a unixish system)