Commit graph

3249 commits

Author SHA1 Message Date
Eric House
f601f2bf57 use dictmgr in java. This requires jni globals that live across boards being opened and that include a mempool dicts will be allocated out of. Seems to work, and to get ref counts as high as 6 or so before they drop down to one when all boards are closed. (The final is held by the dictmgr which won't give it up until the app itself is GC'd) 2014-03-10 19:14:59 -07:00
Eric House
a2671f5ef0 add global mempool that can survive individual games, and include it every game's globals. Use it instead of game's mempool to create dictionaries so they can outlive a game and not trip asserts on pool delete. Wrap dicts in a java class that refcounts them when BoardCanvas wants to keep one so that, I hope, the bug using a deleted dict will go away. 2014-03-09 14:46:33 -07:00
Eric House
9f5d470c07 no need for final 2014-03-09 14:39:18 -07:00
Eric House
9d9c822bb8 save, commented out, how to call the contstructor of a nested class -- in case I go back to doing things that way. 2014-03-09 14:23:24 -07:00
Eric House
a7c114e3f9 refcount dicts. Model "owns" its copy and so increments the refcount when gaining one and decrements the count on any being replaced (and on all on exit). This is setting up the real change, which is to let the java world wrap dicts in objects that hang onto them until they're destroyed, which should fix problems where dicts are referenced after they've been destroyed. 2014-03-08 20:57:27 -08:00
Eric House
e0c17c50b3 catch off-thrown exception. This should prevent a crash, but the fix is probably to figure out why it's happening -- later. 2014-03-08 12:55:46 -08:00
Eric House
fb7c1682b4 tweak string 2014-03-07 19:10:06 -08:00
Eric House
3b971e0153 tweak build timestamp format 2014-03-06 22:11:13 -08:00
Eric House
c31c9cb365 don't show resend menuitem unless there are moves to resend 2014-03-06 07:43:20 -08:00
Eric House
c982fb54d9 up strings and notes for new release 2014-03-06 06:47:43 -08:00
Eric House
3daa877bee Send from resend asyncTask using factored-out code in CommsTransport. Works for SMS at least. 2014-03-05 07:15:34 -08:00
Eric House
923ac6db98 show loadDB menuitem only when nothing's selected 2014-03-05 06:37:02 -08:00
Eric House
45ace48490 tweak string 2014-03-05 06:32:03 -08:00
Eric House
bcfd27ee7f don't crash when there's a SMS game with pending messages 2014-03-04 21:38:22 -08:00
Eric House
5ebbf87c24 don't kick off async task if there's nothing to send 2014-03-04 21:13:23 -08:00
Eric House
811be34a20 remove logging 2014-03-04 21:12:40 -08:00
Eric House
cfee7ef8ac resend all messages from the network change broadcast receiver itself instead of GamesList, which will not be listening if another activity is in front or if the app's in the background. 2014-03-04 19:03:39 -08:00
Eric House
3c0b4a899f resend all unacked messages each time we regain network, but only up to four times/hour. 2014-03-04 18:36:46 -08:00
Eric House
431b24409f Fix kitkat-only problem where expiring rects are clipped at top and left 2014-03-04 07:40:25 -08:00
Eric House
0a601a73a4 (commented out) line to cause ndk to be built without optimization for better source-level debugging 2014-03-04 07:07:44 -08:00
Eric House
df771f50c4 add function that resends all pending (un-ackd, at the comms level) messages for unlocked games and, for testing mostly, a menuitem on the main activity to trigger it. Probably crashes if there's a message for a game connected by other than relay. 2014-03-04 07:05:55 -08:00
Eric House
60bce8f22b add menuitems recently added to non-small-devices' menu 2014-03-02 20:34:58 -08:00
Eric House
9d174740c8 don't show "send pending messages" menuitem when there are none 2014-03-01 16:15:35 -08:00
Eric House
386c28e596 don't notify network change listeners unless a change is in fact a change and until there's been two seconds without changes. There's a lot of connection up-and-down spam when connecting and maybe with iffy connectivity, and no point in passing that through to code that will do stuff like stopping a send thread in response. 2014-03-01 15:17:14 -08:00
Eric House
23638310bc register for net state changes, and toast/log on debug builds. This is toward resending from all games with packets pending on reconnect. 2014-03-01 14:59:17 -08:00
Eric House
56c05869da allow to run from bin directory, which turns out to be useful 2014-03-01 12:39:51 -08:00
Eric House
c1e22dd3cf add summary DB column and jni code to fetch it to store and display number of unacked messages a game has. And add debug-only option to display it in the main list. In the future I want to be able to iterate over all these games and resend their packets (without opening them visually) when an internet connection comes back up. 2014-02-28 18:59:12 -08:00
Eric House
e536a6d3ee format build timestamp added to about dialog 2014-02-28 06:47:44 -08:00
Eric House
1d85a74a6c readd old assertions -- and fix compile error 2014-02-28 06:47:27 -08:00
Eric House
9a94663fb8 log when we drop a message because two possible receiving games are open 2014-02-28 06:13:52 -08:00
Eric House
61080e1b62 revert changes pausing instead of exiting JNI thread (and so not saving game data) from BoardActivity's onPause() when onFinishing() returned false. This is necessary because there are cases where moves were generated and sent without local state ever being saved because onPause() was called only once on what turned out to be activity termination. 2014-02-28 05:57:32 -08:00
Eric House
2f7839f7e0 cleanup 2014-02-28 04:35:39 -08:00
Eric House
5274a803b2 move menuitem 2014-02-27 19:13:22 -08:00
Eric House
29d08b95ce expose comms_getStats() via a debug-build-only menu and dialog 2014-02-26 21:41:49 -08:00
Eric House
1f9a4180e8 remove misleading comments 2014-02-25 07:56:22 -08:00
Eric House
fc799449e9 save game and summary in a synchronized block so lock doesn't get released halfway through 2014-02-24 21:50:17 -08:00
Eric House
a72932486b toward having networking and activity swaps work without fully
shutting down the game in onPause(): use pause() and resume() to
suspend the jnithread when the game's been unlocked.
2014-02-13 19:29:35 -08:00
Eric House
7c45e3c5b3 add pause() and resume() 2014-02-13 19:26:09 -08:00
Eric House
1e30582c3b more logging 2014-02-13 07:50:21 -08:00
Eric House
802e798180 refactor 2014-02-13 06:44:57 -08:00
Eric House
89435fc688 fix to compile 2014-02-13 06:40:39 -08:00
Eric House
b3cce8c535 reduce verbosity and add info to GameLock logging 2014-02-13 06:33:30 -08:00
Eric House
de7638525a commit sdk-generated file (might be better to ignore it?) 2014-02-13 06:31:31 -08:00
Eric House
44e52278a4 remove unused method 2014-02-12 07:52:39 -08:00
Eric House
218d232798 add dictNames() variant that takes a GameLock 2014-02-12 07:35:49 -08:00
Eric House
61334efa1a fix to generate rather than copy 2014-02-12 07:35:12 -08:00
Eric House
536a1e3b13 install dbg variant too 2014-02-11 22:11:28 -08:00
Eric House
c0e7c0bf88 only log stack for first and last attempts to get lock 2014-02-11 22:11:16 -08:00
Eric House
80c3374728 add build timestamp to about dialog (needs better formatting) 2014-02-10 19:20:35 -08:00
Eric House
ea6da8cd74 add crittercism library 2014-02-10 18:55:16 -08:00