Fix #156: fiddly logic to extend keys over the top (/side) of the arrow portion.
Provide a static version.h for development builds.

I forgot to add this in last week's versioning revamp, meaning that
dev builds straight from source control would fail for lack of
version.h because Buildscr is the only thing that knows how to create
it. Other projects that I restructured this way come with a static
version of version.h so that local builds can still work; I forgot
that in this one.


git-svn-id: svn://svn.tartarus.org/sgt/puzzles@10274 cda61777-01e9-0310-a592-d414129be87e
WebView best practices from Dario Incalza's talk at xda:devcon.

Also be explicit about activities to export.
Part of #186: decide whether grid is allowed based on a resource, not screen metrics.

This gives a consistent answer, where previously, a screen close to 600dip might have got different answers depending on orientation, I guess because the navigation bar is not included.
Fix #185: highlight current game and scroll to it on resume.

Reluctantly introduce another view to hold a highlight colour, so the keyboard-focus rectangle can still appear around it.

Also tweak columns threshold so a 600dp-wide screen gets 2.
Fix #187: give bridges an l key to lock the current island.
Bind gamepad "X" button to right click.
Gamepad: undo/redo on left/right shoulder buttons.
Fix #186 I hope: remove redundant clipping that became incorrect when zoom was added.

I'm surprised this didn't break on other devices.
Fix #184 again by making the overdraw an integer in all directions to get consistent behaviour.
Merge branch 'upstream'
Bump version.
Fix #188: ignore chooser choice within 300ms of open.

This seems short enough that it's very unlikely anyone has deliberately identified and clicked on a puzzle they wanted within that time, and much more likely that it's an accidental click.

That scenario will be further mitigated by #191, but this still seems worth having as well.

The ignoring is done with a touch listener so you don't get a background flash, nor a click sound effect, where applicable.
Fix #190: briefly toast how to scroll when zooming from 1x to >1x (on finishing gesture).

Also fix bogus use of isIdentity (zoomMatrix has a translation in it).
Fix #176: show reminder of long-press action, and make it and scroll reminder optional.

This happens when opening the app with an existing game, or switching game, to a game which isn't going to show the arrow keys.
Fix antialiasing artifacts around edges of Bridges islands.

When an island changes colour (because it becomes locked or
highlighted, or goes back to plain COL_FOREGROUND from one of those
states), we were just redrawing a filled circle over the previous one,
which only really worked before antialiasing was introduced.

Fixed by reworking the entire drawing edifice to be grid-square based,
so that every grid square is either redrawn in full or left alone.
Grid squares come in two types - island and bridge - but a bridge
square can have neighbouring islands overlap into it, and the bridges
entering an island overlap the island square too, so we end up with
quite a large collection of bitfields describing each square's
contents, and some care must be taken to draw each square in the right
order.


git-svn-id: svn://svn.tartarus.org/sgt/puzzles@10282 cda61777-01e9-0310-a592-d414129be87e
Fix #193: several errors about unclipping (see #186).

 * Clip rect is in game coordinates (i.e. the zoom matrix will be applied to it).
 * We do need the ox,oy after all, to know the margin and clip to it (focus of this bug).
 * We should use w,h after we know their new values.
Merge branch 'upstream'
Bump version.
Fix #191: save game per puzzle not just one.