Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[APPMOD][07.11.10] Brut Google Maps 4.6.0.4686-brut17

OP Brut.all

10th February 2010, 04:01 AM   |  #1  
OP Recognized Developer
Thanks Meter: 339
 
1,467 posts
Join Date:Joined: Jul 2009
More
Features:
  • worldwide navigation using Google Maps Directions
  • map tiles caching on SD card
  • force-enable MT. If you're on Eclair or some custom Donut and don't have multitouch zooming, then maybe this will enable it.
  • force-enable Buzz feature
  • fix for map shift issue in China
  • option to hide zoom buttons
  • installable on non-rooted devices
  • could be installed beside original app

Credits:
  • canadiancow for starting a brainstorm; an idea to use maps directions as backend for navigation; great Nav Launcher app; helping and support
  • TAPP for enabling "Navigate" button; first version for non-rooters
  • acamar for his research on map shift issue in China
  • many, many people for testing it, complaining ;), helping others, etc.
  • Google for making this great app and service and for not sending C&D to me so far ;)

Download:

maps4.6.0.4686-brut.apk
md5sum: 456b3fe71f74bb8b76a443be4075473c

maps4.6.0.4686-brut-renamed.apk - probably not usable - random ANRs
md5sum: a378ce5d9ddd07c489d129e972a5c2bd

maps4.6.0.4686-brut-renamed-tagged.apk - probably not usable - random ANRs
md5sum: 1bf581213c77fe2e3aa9fa1b7001d01b

Variants:

This mod consists of many independent changes and some of them may be good or bad for some people. Unfortunately not all changes could be configured at runtime, so we need several apk files to let people choose what they want.

There are 3 packs of changes:
  • -brut - it's a BrutMod itself: international navi, map caching, etc. All of these changes are configurable at runtime.
  • -renamed - Android package name was changed from original com.google.android.apps.maps to brut.googlemaps . See "Package name changing" below if you don't know, what this means.
  • -tagged - all icons in the launcher, widgets, etc. were tagged with red "BRUT" sign, all icon names were suffixed with "[brut]". It's to distinguish modded and original GM if you have installed both.

Then we could create several variants of this mod with different combinations of changes, but fortunately only 3 of them actually make sense: -brut, -brut-renamed and -brut-renamed-tagged.

Note: I know this may be confusing for some people, who get used to brut.googlemaps as normal package name for this mod and com.google.android.apps.maps as "stockified" modification of it. You should take into account that starting point is original GM with original package name, so com.google.android.apps.maps is actually "normal" and brut.googlemaps is modded/renamed one.

Installation:

For -renamed variants: just download & install. For others: see section below.

Package name changing:

Generally it means that modded app is identified by Android OS as totally different app, not connected to Google Maps at all. There are several consequences:
  • Android forbids to install same app twice. If you want to install modded app, you have to uninstall original one first. -renamed variant is detected as different app, so you could install it normally and then you will have installed both original and modded app.
  • It's much worse if you want to replace system app - and Google Maps is a system app on many devices. You can't uninstall system apps just like that, cause they're write-protected. You need root and probably some hacking, so if you had Google Maps preinstalled on your device and don't have a root or don't want to hack, then use one of -renamed variants.
  • Some apps call GM by name and if you have -renamed variant, then they can't find modded GM, cause it's detected as different app. People have such problems with Car Dock, Street View and few others.

Maps cache - formats:

BrutMod natively supports two formats for stored tiles: Andnav format and BrutMod old, which is kept for backward compatibility and will be eventually removed. You could also set custom path to stored tiles if you want to use different format.

If you have cached tiles from other maps/navigation app and they're stored in "one tile, one file" format, then you should be able to use them with BrutMod. You have to choose custom database format and set path to tiles. Path can contain variables - currently supported are:
  • (Z) - zoom level
  • (Y) - Y id of a tile
  • (X) - X id of a tile

So for example custom path for AndNav format would be: (Z)/(X)/(Y).png.andnav . If you would set something like: (Z)-(X)-(Y).png , then all tiles would be stored in one directory. Be cautions when setting a path: it's very simple and not very smart algorithm - if you would do something wrong, for example don't close bracket, then BrutMod will read/write everything from/to special "ERR" file.

Maps cache - zip support:

Having thousands of files isn't good for a filesystem. Usually they use more of space than they should - sometimes A LOT more. BrutMod supports tiles zipped into one file and format is identical as for normal files.

For example: we use AndNav format and we have /sdcard/brut.googlemaps/tiles/map-en_US-andnav directory. Inside of it we have "13" and "14" subdirectories. We could zip these subdirs into a zip file, so they will be in the root (right after opening a zip file you will see "13" and "14" dirs) and place it to: /sdcard/brut.googlemaps/tiles/map-en_US-andnav.zip . Then you could remove original "13" and "14" dirs and tiles will be read from a zip file.

If you have "Save map to cache" option enabled, then you could compact all saved tiles from time to time. Just open zip file and add all loose tiles to it. Then remove tiles. Maybe someday I will add automatic compactor to BrutMod.

Maps cache - downloading maps:

There are several downloaders available, I recommend Mobile Atlas Creator. Open it, select some area and zoom levels, click "Add selection" button, choose "AndNav atlas format", click "Create atlas" and wait. Then open directory with atlases, open your new atlas ("Unnamed atlas_<date>"), open "Google Maps" dir (or something else, if you didn't download Google's map) and you should see directories "0" - "19" - depending on which zoom levels you have chosen. Copy these directories to e.g. /sdcard/brut.googlemaps/tiles/map-en_US-andnav/ dir or zip them all and copy to /sdcard/brut.googlemaps/tiles/map-en_US-andnav.zip . If you have zip file already, then you could add new files to archive or do a unzip, copy, zip combo.

And one more advice related to maps cache. If you have any problems with creating custom tile path, zipping or pushing predownloaded tiles, then enable "Debug mode" in BrutMod menu and look into logcat. There you will see where BrutMod looks for files and why it can't find them.

FAQ:

Q: Phone reboots when I try to reinstall maps.
A: Uninstall it and then install. It's Android issue, may occur even when updating original Maps from Market.

Q: When navigating directions are in English, but I set different locale.
A: They are forced to "en_US" to guess turn symbols from them. You could disable this feature in BrutMod menu, but you will lost turn symbols.

Q: Feature X doesn't work!
A: Did you enabled it in Menu -> More -> Brut Mod?

Q: Could you add feature X?
A: Just ask in this thread, but you should take into account that I'm not an author of this app, but a modder. I work mainly on features, that Google probably won't add for some reasons: licensing concerns (int navi), non-standard ROM support (MT), "whole world is online" assumption (maps caching), etc. GM is rapidly developing, so if you have e.g. some UI suggestions, you should ask Google about them. I could work on some of these, but they have low priority.

Q: Car Dock, Google Voice Search or other app always use original Google Maps - it doesn't ask me about your mod. What can I do?
A: See "Package name changing" above.

Q: Multitouch still doesn't work even if I enabled it in BrutMod menu.
A: As description says, it may work, but may not. There are plenty of custom roms, each has different bits and sometimes GM disables MT even if it could use it normally. My mod could force it to enable, but it won't add MT support.

Q: What is "Unlock hidden features" option?
A: There are features that are hidden for some reason: they aren't finished yet, are for debugging, etc. If feature does not give you something really useful, but is for curiosity and maybe some fun, it will be controllable through this option. For now there are:
  • navi: menu->Switch to Walking/Driving - seems working fine, don't know, why they are hidden.
  • navi: menu->Report a Problem - doesn't work for me, but it is location related, so maybe works for someone else. When I was migrating to 4.2.0, I saw many new resources related to this feature. Will be quite good feature, when it will be finally enabled.
  • navi menu->Settings - for now it's nearly empty, has one option related to above "report a problem" feature
  • navi: Enable/Disable mock location - quite funny and really, really useful for me. There would be no voice fix, if I would not find it :)

Q: How does navigation hack work? Could you hack Google Voice and other services to work outside of USA as well?
A: No, I can't. Generally it's not possible to bypass security of most server-side services, because their owners have full control over a situation. GMM navigation is an exception of this rule, cause of Google Directions. GD is some kind of navigation service, only limited. It uses exactly same data as navi and uses it in similar way. So why Google has created two navigation services: one full and one limited if both are for free? Because of licenses which G has signed with map providers - Google can't use map data for "real-time, turn-by-turn navigation", but they can for just "directions". This is why GD is available worldwide, but navi in supported places only.

I have modded GMM, so each time it wants to ask servers about navigation route from A to B, it actually asks about Google Directions between these points. GMM gets GD response which is missing a lot of data required by navigation, e.g. turn symbols, voice, etc. Then I try to somehow guess and add these missing things, so response will be as much as possible similar to real navi response.

Pretty smart, huh? Thanks @canadiancow for this wonderful idea :)

Q: You didn't answer my question/help request.
A: Usually I totally ignore people, who ignore me. I spend time to make all necessary info, instructions and answers easily findable - in first post. If you ask about something, that was answered there, I will probably ignore you. If you are lucky, someone else will answer you.

TODO:
  • navi: map caching
  • navi: routes caching
  • navi: "continue on turn left on" issue
  • navi: turn symbols without forcing locale
  • navi: automatically use normal navi when available
  • navi: guess ramp direction
  • MT on custom Donuts using backported Eclair bits.
  • MT on stock Donuts through Luke Hutchinson's lib

Limits (issues that we know of, but are impossible or very hard to fix, so they aren't on TODO):
  • navi: too long directions in top bar

Changelog:

brut17 (07.11.10)
  • updated GM to version 4.6.0.4686
  • from now GM is released in 3 variants: -brut, -brut-renamed and -brut-renamed-tagged
  • added an option to choose map cache format - AndNav is a default, but old one is also supported
  • added support for zipped map cache
  • app directory is always /sdcard/brut.googlemaps - it does not depend on package name
  • readded es_MX language
  • removed Vector map test
  • fixed some ContextNotSet warnings

brut16 (09.08.10)
  • fixed "Data exceeds UNCOMPRESS_DATA_MAX" issue
  • removed es_MX language - es is used instead (caused by above issue)

brut15 (07.08.10)
  • does not work for many ROMs - "Data exceeds UNCOMPRESS_DATA_MAX" issue
  • updated GM to version 4.4.0.4414

brut14 (24.06.10)
  • updated GM to version 4.3.0.4305
  • added vector maps test
  • added BrutMod menu to navigation app
  • tagged gohome icon, Latitude widget and shortcut
  • fixed ContextNotSet issue

brut13 (19.05.10)
  • navi: fixed voice feature!
  • added "Unlock hidden features" option (see Q/A section)
  • added "I'm in USA" option

brut12 (18.05.10)
  • added fix for map shift issue in China - many thanks to acamar :)
  • added option to force enable Buzz feature
  • TurnUtil: Added "* turns slightly *" support

brut11 (12.05.10)
  • Google Maps updated to 4.2.0.4210
  • unlocked DestinationActivity when int navi is enabled
  • fixed "disabled MT" bug

brut10 (08.05.10)
  • added simple map caching feature! For now it's some kind of demo (but usable), will be more featureful soon.
  • readded multitouch force-enable feature
  • reworked Brut Mod screen: added some credits, link to XDA, categorized preferences
  • navi: added turn symbol for merges
  • fixed force locale bug
  • fixed some exceptions right after navigation start

brut9 (05.05.10)
  • added option to force locale in navi requests to en_US, so turn symbols will work
  • added option to hide zoom buttons
  • international navigation is now enabled by default

brut8 (04.05.10)
  • navi: fixed turn symbols feature - I've screwed it up right before brut7 release

brut7 (04.05.10)
  • navi: added "street names" in top bar
  • navi: added turn symbols (for now you must set "en" locale to use it)
  • added possibility to use hacked or normal navigation - you can choose this from menu (and int navi is disabled by default - if you're updating and want to use it, then remember to enable it)
  • reverted MT mods for now
  • based on GM4.1.1
  • seems more bug free to me

rev6 (04.03)
  • mod version included in app versionName (4.0.0-brut6)
  • added "[brut]" postfix to Add -> Shortcuts -> Directions & Navigation
  • fixed navi shortcut bug
  • fixed directions to contact bug

rev5 (01.03)
Minor update, but great from technical point of view:
  • repackaged all resources
  • changed app name and icon to distinguish it from original maps
  • changed package name to brut.googlemaps

rev4 (10.02):
  • now MT depends on existence of MT framework, not on Android version, so it will be enabled for 2.0 and 1.6 with backported MT bits, but app will work on stock 1.6 too (without MT)
Last edited by Brut.all; 27th December 2010 at 04:02 PM.
The Following 11 Users Say Thank You to Brut.all For This Useful Post: [ View ]
10th February 2010, 04:36 AM   |  #2  
Senior Member
Flag Edmonton
Thanks Meter: 171
 
684 posts
Join Date:Joined: Jan 2010
Donate to Me
More
Very nice, works great on superD, thank you.
10th February 2010, 04:58 AM   |  #3  
ytwytw's Avatar
Senior Member
Flag Toronto, ON
Thanks Meter: 44
 
449 posts
Join Date:Joined: Nov 2008
More
Thank you for amazing work
but i cannot find Buzz...
where is it?
Rogers in Canada using OpenElrair 1.0.1
10th February 2010, 05:08 AM   |  #4  
zoth's Avatar
Senior Member
Flag TEXAS
Thanks Meter: 105
 
957 posts
Join Date:Joined: Nov 2009
More
zip version please...
How about the zip version. Thanks in advance.
10th February 2010, 05:20 AM   |  #5  
Senior Member
Flag Atlanta, GA
Thanks Meter: 50
 
724 posts
Join Date:Joined: Jul 2009
More
Not sure if it matters, but I also encountered the exact same bugs that canadiancow encountered. Just to confirm his findings.
10th February 2010, 05:26 AM   |  #6  
Member
Flag Nanjing
Thanks Meter: 0
 
73 posts
Join Date:Joined: Mar 2009
More
Quote:
Originally Posted by ytwytw

Thank you for amazing work
but i cannot find Buzz...
where is it?
Rogers in Canada using OpenElrair 1.0.1

Same question..@@ Where is my buzz layer?
Last edited by biAji; 11th February 2010 at 04:05 AM.
10th February 2010, 05:42 AM   |  #7  
elzee's Avatar
Senior Member
Flag Sydney
Thanks Meter: 3
 
144 posts
Join Date:Joined: Jul 2009
More
Some reason I can't download this. Is there another link?
all I get is 12kb ??

Seems it wouldn't download via the Nexus One .. got home and tried it again on my Desktop with success .. go figure!
All good .. maps working again including Buzzzzzz!! Zzz!! Zzz!! lol!
Last edited by elzee; 10th February 2010 at 12:26 PM. Reason: Added the successful result :)
10th February 2010, 05:57 AM   |  #8  
Senior Member
Thanks Meter: 4
 
262 posts
Join Date:Joined: Oct 2009
Buzz is awesome on this! Using CM 4.2.14.1 HTC Dream.

Layers > Buzz

One weird thing though, I used:
adb push Maps.apk /system/apps/Maps.apk

And it pushed fine, but now the Market sees Maps as not being installed. Which is perfectly fine, since now it won't bug me to update it. Just saying. It's really a non-issue, since the Maps 4.0.0 works great! Thanks!
10th February 2010, 07:01 AM   |  #9  
neok44's Avatar
Senior Member
Flag Florida
Thanks Meter: 156
 
1,522 posts
Join Date:Joined: May 2009
More
this looks like a good start, but the other ones were much better. No ADP and no glitches.

I rather just flash it and not have everything working.

Good start though.
The Following User Says Thank You to neok44 For This Useful Post: [ View ]
10th February 2010, 07:52 AM   |  #10  
Member
Thanks Meter: 3
 
32 posts
Join Date:Joined: Dec 2009
Runing on latest CM.

Great work for the maps, it just works. Done everything with ADB as described.

Problem: The My Tracks and My Maps Editor apps are force closing on startup now. Any soltuion? I tried even uninstalling this 4.0 version and puting back the maps from the DRC83_base_defanged.zip, but did not help.

Post Reply Subscribe to Thread

Tags
brut, buzz, google maps, navigation, offline
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes