Commit graph

222 commits

Author SHA1 Message Date
Eric House
59c80f8277 add special title to permissions rationale alerts 2016-12-31 16:27:17 -08:00
Eric House
503ea46ca5 fix crash rematching SMS without PHONE permission
You need PHONE permission to start and play an SMS game but not to have
started it in response to an invitation. But to rematch you need it. So
ask, including offering a rationale that differs depending on whether
there's a way for the game to communicate once SMS is removed.
2016-12-31 15:05:39 -08:00
Eric House
250f4b0139 get rid of raw-string toast error messages
They were hacks for debugging SMS early on, probably infrequently
seen. Instead post messages. BUT: they aren't being received because of
how listeners get cleared in onPause(). Needs to be fixed, but there's
no harm in having them dangle for now.
2016-12-30 20:11:02 -08:00
Eric House
39828bfaf8 fix problems with localized files
Remove strings that no longer exist in English, add missing "other"
quantities in Japanese (taking a guess from context that it's ok to use
generic counters), and in a couple of languages fix typos in format
specifiers that would have caused crashes.
2016-12-30 11:01:51 -08:00
Eric House
7b30a0229a add button to launch BT settings
Let's make it easier to add to the set of available BT devices from the
place where the user sees the need. TODO: update the descriptive text,
but not this release since it'll break existing localizations.
2016-12-30 06:35:45 -08:00
Eric House
f199aef738 permissions: ask for READ_CONTACTS
On launching SMS invite dialog, ask for READ_CONTACTS permission. Where
it's needed, though, is for the user-invisible process of translating
phone numbers to names (not launching the Contacts app via an
Intent). This just seems like the best place to ask since the user's
thinking about contacts and phone numbers.
2016-12-19 06:34:20 -08:00
Eric House
29afb19cb4 permissions: ask when opening SMS game
Add post-open test for SMS and then ask for SMS permission, giving
rationale if the OS says I should. Meant adding a new interface for
rationales and wiring that in. It's a bit spaghetti and I may think of a
cleaner way later.
2016-12-16 21:04:15 -08:00
Eric House
5f6cf35d93 permissions: move opening game to BoardDelegate
When opening a game that sends via SMS, check if it has permission and
offer to remove the config if it doesn't, removing a similar check from
pre-opening code. (Here it'll catch e.g. games opened from the
GameConfig process.) Sends/receives without SMS permission are already
caught by existing catch{} blocks, so there's no crash.
2016-12-16 07:35:30 -08:00
Eric House
e9d0b61254 Merge branch 'android_branch' into android_sdk_23_take_3 2016-12-15 08:10:06 -08:00
Eric House
9503491890 invitations: tweak file and class names
No behavior changes, just cleanup
2016-12-15 08:02:06 -08:00
Eric House
cd14001db1 start rewrite of invitation dialogs
Moving stuff into superclass and trying in general to simplify
things. BT and SMS invitation work, but the option to have more than one
player per device isn't available. RelayID invitation is a mess, but was
before I think.  WiDir invitation crashes in assert because I can't
debug it on this branch. Lots of work and cleanup still required.
2016-12-14 08:14:00 -08:00
Eric House
c398af2ac9 perms: ask for the set needed to open a game
rewrite perms23 class to use Builder pattern, making it easier to pass
more than one required permission. Use that (with hard-coded set for
now) to check and ask for permissions a game needs to communicate. Offer
to remove the comms methods the user doesn't want to permit (but that's
not implemented yet.)
2016-12-11 20:54:24 -08:00
Eric House
b6194f6986 Merge remote-tracking branch 'maidu2/android_branch' into android_sdk_23_take_3 2016-12-09 22:01:48 -08:00
Eric House
e0f0666b1c wifi: make invitations work
Add UI, minor thanks to recent refactoring, to allow invitations via
wifi direct. Uses a mapping of all currently known device mac addresses
to names, with only the latter shown to users. Works well, though
something I changed seems to have causes devices to start losing track
of their connections to each other.
2016-11-21 21:10:16 -08:00
Eric House
3f0bef48f6 refactor invite UI
In order that wifi direct invitation dialog isn't another near-copy of
an existing file move a bunch of stuff into the common superclass.
2016-11-21 20:54:29 -08:00
Eric House
33326d38a7 wifi direct: harvest and send mac address
Grab and store the local device's mac address. Add p2p as a type of
address, represented by the mac address of the recipient. Include the
local device's address in invitations sent when specified by user. Now
the WifiDirectService class is being passed a packet and the address of
the recipient; it will next need to set up sockets with every device it
encounters and map them to their mac addresses so that it can do a send.
2016-11-14 08:06:53 -08:00
Eric House
da9ee4195c re-add lollipop-friendly notification icon
This one looks better white-on-black, but still needs work! Had been
added before, in ref 885b375a55.
2016-10-31 08:00:04 -07:00
Eric House
c0eb827b77 generated files: should have gone with prev commit 2016-09-04 09:42:00 -07:00
Eric House
bd3caf25eb re-create list when size limits change
Problem: brain-dead Android code (on 5.1.0 anyway) caches the
SectionIndexer separately from the ListAdapter that implements it, so
when you change the ListAdapter it keeps using the old one for its
SectionIndexer. Solution is to replace the ListView in the layout with a
FrameLayout into which a ListView is inserted at runtime on init and
whenever the data changes.
2016-08-20 13:37:35 -07:00
Eric House
6cc67b2347 always show toast announcing dual-pane mode
on startup, even for non-debug builds. And move the string into a
resource for localization.
2016-08-19 11:37:24 -07:00
Eric House
62461d8de0 move toolbar button to left
Put it where it'll be visible/discoverable on more devices since it's a
pretty cool feature now.
2016-08-18 13:10:41 -07:00
Eric House
6da7c85dbf use custom layout for board/toolbar relationship
Correct or not, this is my solution to the circular problem of how to
choose a vertical or horizontal toolbar before beginning the layout of
the board and toolbar. Adding a new custom container that holds the
board, toolbar(s) and tile exchange buttons and uses the ratio of its
own dimensions to choose which toolbar to show. Also drive toolbar
initialization from the layout process because when started from
BoardDelegate it now tries to install button listeners too early.
2016-08-16 11:01:46 -07:00
Eric House
0a41471410 use dimen resource for toolbar button size
I need a way to have the buttons be smaller when the view's in a
fragment in dualpane mode. This probably is isn't the fix but it's worth
preserving.
2016-08-15 16:42:09 -07:00
Eric House
fd0bf23915 remove volume-keys-zoom option
Seem sit hasn't worked in a while on newer devices and nobody's
complained. We all pinch to zoom now.
2016-08-15 16:23:24 -07:00
Eric House
d15eab013d remove zoom button and menu
Everybody has multi-touch phones now.
2016-08-15 16:13:01 -07:00
Eric House
8fdc2b90ea explain before exiting when dual-pane enabled 2016-08-15 14:03:01 -07:00
Eric House
3baeb79a45 cleanup: "message" => either "chat" or "move" 2016-08-12 11:18:56 -07:00
Eric House
06fb4ef0ee improve experience switching dualpane mode
better strings, and explain when pref changed that user must restart for
it to take effect. Actually restarting from inside prefs delegate is
hard enough I'm not doing it for what should be advanced users.
2016-08-10 11:56:05 -07:00
Eric House
08269c8962 offer to turn on dual-pane mode for upgraders
When a device is a tablet and not a first-time install, put up an offer
to enable dual-pane mode. Change confirm-alerts to include
do-not-show-again box, and use that. Add menu item, hidden when not in
dual-pane mode, to turn it back off. Exit app after posting a
notification and a toast on changing that preference so it'll take
effect.
2016-08-02 21:49:17 -07:00
Eric House
b5afc25ead catch up with generated changes: there's a new localized language now 2016-07-18 08:49:57 -07:00
Eric House
5a0304904f sdk's generating an additional comment for German strings 2016-07-14 07:37:59 -07:00
Eric House
9865c0c68c load new dualpane delegate when enabled. It does nothing so far, not
even allowing you to disable it again.
2016-07-10 13:26:09 -07:00
Eric House
377ac269c9 Turn enable-dualpane prefs back on. Ignored so far. 2016-07-10 13:12:29 -07:00
Eric House
f05375273c add send button to right of chat entry field for devices that don't
have action bar.
2016-07-02 12:54:04 -07:00
Eric House
2f71119eea add ability to skip including localization resources on per-language,
per-variant basis. Just in case German isn't ready yet.
2016-06-30 06:54:36 -07:00
Eric House
3bc60c59d0 Add option to remove relay from a game once it's been turned off. 2016-06-26 15:53:26 -07:00
Eric House
e703ae7ec5 get rid of Main activity. Next release I need to find a way at launch
time to choose between dual-pane and regular mode that doesn't mess
up sending Intents and make it harder to prevent there being
multiple instances of activities that are supposed to be single-top.
2016-06-26 14:28:17 -07:00
Eric House
372b0c2f1e when user tries to turn on the preference disabling relay play and has
relay games in play, warn, and only disable if confirmed.
2016-06-24 21:19:30 -07:00
Eric House
aef5e5e046 add preference, off by default, to disable relay play. This is for
people who use the app for standalone play only and don't like the
battery implications of it hitting the network (which it does too
often right now.)
2016-06-21 06:08:25 -07:00
Eric House
44c4d50051 Add config.xml file and use to enable dualpane option for CrossDbg builds 2016-06-07 04:31:31 -07:00
Eric House
70c0db6504 chat: add hint string, and make textfield full width 2016-04-06 11:06:10 -07:00
Eric House
c35020ef97 Merge branch 'android_branch' into android_dualpane2
Conflicts:
	xwords4/android/XWords4/archive/R.java
2016-03-13 17:27:02 -07:00
Eric House
d25d33689a put a colon after chat sender's name in display 2016-03-13 12:50:09 -07:00
Eric House
0338bedf38 revert change adding new notification icon. It's not required when
building for SDK 19, and I don't want to release it without testing on
more OS versions.
2016-03-12 17:40:20 -08:00
Eric House
29992a5d8b changes the initial post-merge commit didn't pick up. Still no idea if it runs. 2016-03-11 22:21:07 -08:00
Eric House
0b7dca2222 store and present chat sender's name instead of the lame "Me"/"Not me"
thing. Requires a new table, and includes code to convert from old
format. Still need to clean up the presentation (TableRow).
2016-03-06 07:03:54 -08:00
Eric House
4f3d620cd6 in search of why some game summaries never load: show a different
state string when the load has timed out.
2016-03-04 08:34:47 -08:00
Eric House
885b375a55 add a notification icon that looks better on lollipop. But: still needs polish. 2016-03-04 08:29:31 -08:00
Eric House
813d5c18b3 show explanatory text when there are no invitations 2016-01-25 07:29:26 -08:00
Eric House
f07dd2a344 remove unused string 2016-01-23 22:09:40 -08:00