Commit graph

12189 commits

Author SHA1 Message Date
Eric House
e9ec30206d add debug-only field tracking place in iterator 2020-09-28 19:18:04 -07:00
Eric House
0f7d924a8e accept dicts with full paths (linux) 2020-09-28 16:12:24 -07:00
Eric House
2f849efe2a make tap on whole line toggle expander 2020-09-28 13:05:24 -07:00
Eric House
574e50f235 keep players in sorted order
Sorting in common/ is hard because there's not locale-aware sort
available. Java should do the right thing so do it there.
2020-09-28 12:23:48 -07:00
Eric House
0c7e9836e2 cleanup 2020-09-28 11:48:26 -07:00
Eric House
7b097ea67d Don't allow duplicates when renaming 2020-09-28 11:17:51 -07:00
Eric House
ba9164641a Toward more generic naming/use of Renamer
Not quite done
2020-09-28 09:32:46 -07:00
Eric House
8406d9e551 implement Known Player renaming
Used existing GameNamer which now needs to be made more general.
2020-09-28 08:59:39 -07:00
Eric House
3d078d0894 don't show KP menuitem when there are none 2020-09-28 08:16:48 -07:00
Eric House
aff75053ac implement deleting known players 2020-09-27 20:52:56 -07:00
Eric House
9e78e47954 fix so non-drag movement stops timer to show words
The last change meant the test whether to show the words under the
pen-down cell would pass when it shouldn't because a drag to an occupied
location didn't register as movement. Change so movement counts to stop
the timer even if it wouldn't change the drag-target's location.
2020-09-27 17:32:23 -07:00
Eric House
80160d740f null-terminate words buffer 2020-09-27 14:23:39 -07:00
Eric House
7fe249ad8d Don't allow drag of tile to place it can't be
Rather than have a tile revert to its original location if it's dropped
where it can't be (on an occupied tile or outside the board), put it in
the last place it could have been. Do that by only updating cur when
it's to a legal location, and then relocating to cur when drag ends.
2020-09-27 13:44:21 -07:00
Eric House
fda432468a UI tweak 2020-09-26 21:26:01 -07:00
Eric House
dd177b96c5 tweaks and cleanup 2020-09-26 21:17:55 -07:00
Eric House
810030125b when inviting show means, not knowns, by default
If you've bypassed the quick-start game it's probably because you want
to play somebody not yet in the Known Players list. So don't start out
with that list as how you'll invite.
2020-09-26 20:40:19 -07:00
Eric House
af3eee42df start with expanders minimized 2020-09-26 20:35:02 -07:00
Eric House
9bc73b8bfc add known players browser
There's lots to do, but it shows what's know about each one and has
unimplemented UI for changing names and deleting.
2020-09-26 19:22:03 -07:00
Eric House
9b12f60dbf Don't use EditWClear; fix spinner size 2020-09-26 11:00:11 -07:00
Eric House
b0c1c5ac1b don't deref ptr after free(); cleanup 2020-09-26 11:00:11 -07:00
Eric House
fad252d8c0 use created stamp to decide between conflicting addresses
Not at all tested, but now the game's timestamp is kept and passed in to
where it can be used to determine, e.g., which of two Bluetooth device
names to keep for a given opponent.
2020-09-26 09:48:35 -07:00
Eric House
c4b55385a3 add creation timestamp to game struct
Address resolution will want to know which address is older. Game
creation is a good enough proxy for that, so add it in a cross-platform
way.
2020-09-26 09:48:35 -07:00
Eric House
d17ac7ea0b rename gamesdb public functions (linux only) 2020-09-26 09:48:35 -07:00
Eric House
f0f2a598e0 make up new name rather than drop new player 2020-09-26 09:48:35 -07:00
Eric House
a054762323 use EditWClear for new quick-game-with-know alert 2020-09-26 09:48:35 -07:00
Eric House
c17dc91672 add not-again explanation of quick-connect alert 2020-09-26 09:48:35 -07:00
Eric House
982f238b9d disable the robot button in invites for now 2020-09-26 09:48:35 -07:00
Eric House
49909c84d6 make known-player stuff conditional
and ifdefs to C and BuildConfig flag to java so the feature can be
hidden in release builds until it's ready.
2020-09-26 09:48:35 -07:00
Eric House
b3fa1edda5 missing file 2020-09-26 09:48:35 -07:00
Eric House
8fa92ad00e provide choice to invite known players
Add second type of option to the current list of "InviteMeans", so you
can configure a game then skip sending email if the player's address is
known.
2020-09-26 09:48:35 -07:00
Eric House
fc05612b74 rough implementation of creating and inviting a known player
Followed the way rematch works. Which is gross. Eventually the two
paths (invitee and rematch) should be unified with rematch getting a lot
simpler.)
2020-09-26 09:48:35 -07:00
Eric House
b8c588e02c add new jni methods (untested) 2020-09-26 09:48:35 -07:00
Eric House
11266ece5b gtk known-player invitation works 2020-09-26 09:48:35 -07:00
Eric House
736c9f3503 harvest players on open; save and make available
Got as far as having gtk client display list of previously harvested
known players to be invited. Their addresses, or at least mqtt ids are
saved. Next is to actually invite one.
2020-09-26 09:48:35 -07:00
Eric House
187323192f Test for game type before calling resend_all
I have a case where app crashed on launch due to the assert that resend_all()
wasn't being called on a standalone game. That happened because somehow
the game's android-side db entry showed pending packets to send, though the
game type was correct. Fix is to check for game type also, but also to add
a test so comms won't get invoked with a null ptr on release builds.
2020-09-26 09:43:48 -07:00
Eric House
d8d894da46 put groupless games into "recovered" group
At least one device was mysteriously losing games. They were winding up
with a group ID for a non-existant group. Now on startup I look for such
games and assign them to a new "recovered games" group. We'll see how
common this is before deciding whether it's a good enough
solution. Another perhaps better solution would be to display all games,
ordered by groups, rather than displaying all known groups and their
games.
2020-09-25 18:02:17 -07:00
Eric House
f4e4dfacb6 up strings for new release 2020-09-23 12:41:40 -07:00
Eric House
471a85e7ef use html entities instead of curly quotes
Fixes problem on older phones
2020-09-23 12:22:24 -07:00
Eric House
24125aad0c disable ill-timed not-again hint
On new installs it happens at the wrong time. So get rid of it for now.
2020-09-23 12:12:27 -07:00
Eric House
43c1e13563 remove dead code 2020-09-23 12:01:17 -07:00
Eric House
00c2052af8 add creation time to set displayable in gamelistitem
I'm storing the create time in the DB on Android so don't need to add it
to CurGameInfo right away.
2020-09-23 11:58:43 -07:00
Eric House
8072a0c629 write 0 where flags will be
unused for now.
2020-09-22 10:56:06 -07:00
Eric House
4183d4362c shrink game-type icons so they look ok as alert title icons
On a small-screen (?) emulator (Nexus 5 1080x1920) the icons in the
new-game alerts are huge. Setting their size to 32x32 instead of 120x120
seems to fix this. Haven't tested on more than two devices, on one of
which they were ok before and still are.
2020-09-22 10:52:19 -07:00
Eric House
774a05f8dc in log script, print sender as well as addressee 2020-09-19 22:52:21 -07:00
Eric House
608b4010a0 move user-vis strings (resIDs) into enum 2020-09-16 22:41:53 -07:00
Eric House
9e2ef3a698 rewrite not-installed php script in py 2020-09-15 12:27:41 -07:00
Eric House
ca64d69cef accept invites with https scheme
Will switch to sending them in a few months
2020-09-15 08:01:05 -07:00
Eric House
584c9e2332 use same ID for all upgrade notifications
Don't want them stacking up
2020-09-14 21:37:15 -07:00
Eric House
38ae14296c Pass message to SMS app same as to email
Doing away with letting user build a local phone list (left over from
the NBS case where it made sense.) Just launch the default SMS app with
the message and let 'em choose a recipient. Hard to test, but works on
two of two phones so far.
2020-09-14 21:21:17 -07:00
Eric House
9be9caae54 don't show the dup-invite alert
It's coming up too often, sometimes several times in a row so that all
must be dismissed. Until I can detect which result from explicit user
action (tapping a URL) rather than duplicated delivery over MQTT and
bluetooth, this is better.
2020-09-14 21:12:35 -07:00