Commit graph

9773 commits

Author SHA1 Message Date
Eric House
fa7de741eb fix NPE: PrefsActivity needs to delegate onStart() too 2016-07-29 08:03:14 -07:00
Eric House
5fc6ae5591 only log what's there 2016-07-29 08:02:00 -07:00
Eric House
ec96a00b46 remove compile-time enabling of chat: it's not coming out 2016-07-29 07:32:50 -07:00
Eric House
36f127fb18 log fragment IDs for now while still debugging this stuff 2016-07-29 07:20:14 -07:00
Eric House
e4c7b7ab40 handle intents on startup via a post()
When app's launched via a move-made intent that will lead to opening
the board, let the GamesList fragment get fully in place before
opening the board. To open two at the same time confuses my fragment
code (OS kills it with a fatal exception.)
2016-07-29 07:19:54 -07:00
Eric House
2b3ddcb431 cleanup thread->env mapping code 2016-07-28 08:52:11 -07:00
Eric House
39cafc2dcf remove unused imports and be explicit that LinearLayout.LayoutParams are being passed to FrameLayout instance. 2016-07-27 15:06:49 -07:00
Eric House
524a288999 change adb utility scripts so they work with more than just one set of apps. 2016-07-26 22:08:29 -07:00
Eric House
d6dd851349 fix NPE: ringtone can be null on older OS 2016-07-26 11:49:08 -07:00
Eric House
73fdb4a578 open chat later, via post(new Runnable())
When during onResume() of BoardDelegate we notice an undisplayed chat
message, don't add add a Chat fragment because (perhaps due to a bug
in my code) it'll come up blank. Instead use post() to open it via a
Runnable() that'll run after onResume() and the rest of current
fragment setup have completed.
2016-07-26 09:34:32 -07:00
Eric House
bc9b8466f5 check for existing JNIThread first
When loading gamelistitems in dual-pane mode there will often be an
open game. Don't hold up the whole process by first waiting 1 second
to get a lock that's unavailable. Instead check if there's a JNIThread
instance available and if so use its lock to get the summary. Required
fixing JNIThread to not crash trying to save when released too early.
2016-07-26 07:44:21 -07:00
Eric House
272f8a3960 don't bother saving if no data loaded yet
Fixes, or at least makes extremely unlikely, race condition where one
thread makes use of an existing JNIThread instance then releases it
before the thread that created it has had a chance to call configure()
to actually load the game.
2016-07-26 07:27:13 -07:00
Eric House
9d95630654 make capture of thumbnail part of save
Problem was that changes to games didn't show up in the thumbnail
until the game was closed. Simply using existing snapshot didn't work
because it changes the board layout in order to "draw" to
ThumbnailCanvas and that change isn't easily reversed. So copy
existing code to open a new JNI object with just-saved game data
and use it to create a thumbnail bitmap.
2016-07-25 15:57:48 -07:00
Eric House
6fcd340e07 add some commented-out logging 2016-07-25 15:44:22 -07:00
Eric House
2faf9c5334 bug: update lastturn timestamp for single-player games too 2016-07-25 08:38:24 -07:00
Eric House
53e40be2e3 add lastMoveTime to summary table (gtk version) 2016-07-25 08:28:37 -07:00
Eric House
dd779597d8 remove compile-time option for thumbnails: they're not going away 2016-07-23 16:25:06 -07:00
Eric House
a1de8cdd01 disable reset for options menu too (same as delete) 2016-07-22 16:35:46 -07:00
Eric House
7a865f279b disable reset context menu too when game selected 2016-07-22 16:26:37 -07:00
Eric House
4d24fd38f5 disable delete context menuitem when game open 2016-07-22 16:11:27 -07:00
Eric House
cfbd06927a fix long-tap menus in dual-pane mode
The DualpaneDelegate needed to handle (delegate) the necessary
methods.
2016-07-22 16:11:01 -07:00
Eric House
2105c43987 fix problems recently introduced to GameConfig 2016-07-22 16:10:45 -07:00
Eric House
d6b4070905 hang onto DelegateBase instance until replaced via an onStart() call.
They're often needed when the fragment isn't frontmost, i.e. when
onPause() has been called. My caching instances fix is feeling a bit
fragile, but I think it's better than nothing. Alternative is probably
to go with DialogFragments, a big change that might not be easy to
make work back to oldest Android.
2016-07-22 16:10:23 -07:00
Eric House
7634c425ef stop referring to this in AlertDialog buttons
There's a problem in dual-pane mode where activites outlive
DelegateBase instances that are tied to fragments. AlertDialogs, being
bound to the MainActivity, can sometimes outlive the delegates that
create them, meaning the 'this' referred to from closures bound to
onClick() handlers can come to be invalid (e.g. referencing a removed
fragment). So add a global registry of current DelegateBase instances
by class, and from onClick() handlers fetch and use the current
instance instead of the 'this' that's bound.
2016-07-22 16:09:36 -07:00
Eric House
aef95ae498 dispatch onActivityResult() from DualpaneDelegate
Inviting didn't work because it's done by a separate activity whose
onActivityResult() was dropped because DualpaneDelegate was the
recipient. That now handles it by asking MainActivity to sent it to a
contained Delegate. Currently will go only to the top (rightmost) one.
2016-07-21 08:47:03 -07:00
Eric House
176820aac9 start game later so UI's ready
Was opening game in init(), but in dual-pane case there's no
onWindowFocusChanged() call from which to check state, so open it
instead from onResume(), at which point things are already in place to
handle callbacks immediately. That is, post() will work.
2016-07-21 08:41:21 -07:00
Eric House
0ea181687e add constant controlling id logging 2016-07-21 07:05:35 -07:00
Eric House
a8b2c09491 fix startFragmentForResult
use s/getTargetFragment(), but there's still the hack of capturing
state in setResult() and then invoking fragment.onActivityResult()
blindly the next time the backstack is popped.
2016-07-21 07:03:44 -07:00
Eric House
c57b5a232f cleanup: chat delegate no longer "returns" a result 2016-07-20 09:30:01 -07:00
Eric House
5b4e04bc5a fix fragment exception launching after dict download
create queue of Runnables to be run only when Delegate is
visible (onResume() has been called and onPause() hasn't.)  When
missing dict finishes downloading, rather than immediately opening its
game, post a Runnable to do it that will be run only after the main
activity is ready to have fragment transactions committing again.
2016-07-20 08:58:34 -07:00
Eric House
d3bd8047b1 cleanup 2016-07-20 08:51:31 -07:00
Eric House
c0bef59aad don't hide commit-trade menuitem when not player's turn 2016-07-20 07:25:12 -07:00
Eric House
5dee7080a0 fix so when left pane launches a fragment it replaces the right
Required passing parent into constructors so it's available for
matching against the left pane later.
2016-07-19 17:38:50 -07:00
Eric House
2b58072524 cleanup: don't test for what can't happen 2016-07-19 17:35:20 -07:00
Eric House
d6ffd4dc25 get game lock and ptr from jnithread if available
When the game's already opened references must be obtained this
way. This may not be necessary however once game config is opened on
top of games list instead of on top of the game as it should be.
2016-07-19 09:30:08 -07:00
Eric House
98e3cd4281 remove unused code 2016-07-19 09:27:08 -07:00
Eric House
9a1a4f989f ignore new files 2016-07-18 13:26:14 -07:00
Eric House
e2a3e622af generate project.properties file
For some reason the 'clean-debug' cycle stopped working because the
file was nuked then not regenerated. Rather than figure out why, just
add a target to generate it every time.
2016-07-18 13:25:55 -07:00
Eric House
d26a215f34 add and use fragment for dicts list view 2016-07-18 13:08:06 -07:00
Eric House
1ed9dc7c9d fix onResult stuff, at least for game config 2016-07-18 12:54:52 -07:00
Eric House
5bb707fc57 fix unnecessary crashes launching prefs activity 2016-07-18 12:03:56 -07:00
Eric House
d0b64f8f51 Merge branch 'android_108_release' into android_branch 2016-07-18 10:17:44 -07:00
Eric House
4f067edece up version code (since already uploaded as a beta) 2016-07-18 09:31:41 -07:00
Eric House
01ffdb8b87 up changes log to include new fix 2016-07-18 09:27:33 -07:00
Eric House
959b2aec33 don't dismiss alert when about to post it again
On 4.2 and 4.3 at least, the dimiss comes after the second post
causing that to be dismissed, leaving no alert and the app in some
weird state where not even the back button works. It's been this way
on those older versions since I redid invitations for beta 98.
2016-07-18 09:23:14 -07:00
Eric House
5f8e5dc343 don't dismiss alert when about to post it again
On 4.2 and 4.3 at least, the dimiss comes after the second post
causing that to be dismissed, leaving no alert and the app in some
weird state where not even the back button works. It's been this way
on those older versions since I redid invitations for beta 98.
2016-07-18 09:19:09 -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
e3c5028b83 make script actually work 2016-07-18 08:49:36 -07:00
Eric House
f91e5f68c7 don't save state we won't need 2016-07-18 08:49:15 -07:00
Eric House
5a0304904f sdk's generating an additional comment for German strings 2016-07-14 07:37:59 -07:00
Eric House
db0fb8e2f1 cleanup: remove EOL whitespace from java files
New diff tool is complaining about it, and sed is so easy...
2016-07-14 07:37:11 -07:00
Eric House
15256ac2ad cleanup 2016-07-14 07:01:02 -07:00
Eric House
dcb4968ed9 fix NPE
I think I'm in a bad state when this happens, but no point in
crashing regardless.
2016-07-13 17:08:39 -07:00
Eric House
472a173297 disable delete if selected game is currently open 2016-07-13 17:03:18 -07:00
Eric House
1be2d514f0 Don't call executePendingTransactions().
Not doing so no longer crashes on when handling notifications, and is
causing runtime exceptions from the OS when board opening chat causes
it to be called recursively.
2016-07-13 16:42:58 -07:00
Eric House
7b2392842e handle orientation changes at least as well as the old dualpane stuff
did. Only obvious problem is that the board doesn't always lay itself
out optimally for its half of the board when orientation changes.
2016-07-13 15:50:48 -07:00
Eric House
325304d83d fix finish() to not exit whole activity in dualpane mode 2016-07-13 13:35:31 -07:00
Eric House
a7013f3ede Setting FLAG_ACTIVITY_SINGLE_TOP for notification intents fixes
display problems with GamesList in dual-pane mode, I think because it
prevents stacked activities. Need to figure out if it introduces
problems elsewhere.
2016-07-13 12:35:54 -07:00
Eric House
9cfed0be8b add, disabled, some logging/notification posting stuff useful for debugging 2016-07-13 12:29:42 -07:00
Eric House
54e5e61e4d dispatch backPressed to the right-most fragment before, if still
unhandled, letting super interpret it as a pop-fragment action.
2016-07-13 12:23:36 -07:00
Eric House
4fc2dd97b3 handle notification intents: each delegate gets a chance to handle
them (only GamesListDelegate does), and MainActivity pops
fragments/delegates until one's exposed that does.
2016-07-13 11:13:04 -07:00
Eric House
0c4c1af926 call executePendingTransactions() to fix crash on opening
notification. Not sure why I had it commented out before.
2016-07-13 09:14:30 -07:00
Eric House
a375aed0fa use class.getSimpleName() rather than getName for logging 2016-07-13 09:07:48 -07:00
Eric House
dd96c1a5c2 cleanup: change map key type 2016-07-11 12:31:42 -07:00
Eric House
91c561f6aa fix NPEs by using existing mechanism for finding the right DlgDelegate
instance.
2016-07-11 11:52:55 -07:00
Eric House
a2b7c71fc1 convert remaining delegate launches to work, to varying degrees (but
as they did before), in dual pane mode.
2016-07-10 15:01:19 -07:00
Eric House
76404258a3 launch chat next to board. Works to send, but crash when opening the
notification that results.
2016-07-10 14:21:18 -07:00
Eric House
b8b73cc321 change how games are launched: works to show next to games list! But
there seems to be something wrong with how alerts are being posted.
2016-07-10 14:16:01 -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
12b1f3e38b rename GamesListActivity -> MainActivity 2016-07-10 13:09:20 -07:00
Eric House
c3817ef452 change version strings for new release 2016-07-08 06:18:07 -07:00
Eric House
c11c1f4a64 save and restore chat text selection 2016-07-07 06:37:33 -07:00
Eric House
91a58ab041 position caret at end of restored chat pending text 2016-07-06 21:39:55 -07:00
Eric House
a86ff8b7b0 revert change that broke board updating on 2.3.7. Yay for git
bisect!!!!
2016-07-05 20:17:55 -07:00
Eric House
9dc50c9aa8 preserve unsent chats across activity reload. Use pairs table rather
than creating a new one.
2016-07-03 12:32:32 -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
68df61daa8 fix crash on old device by using new API conditionally 2016-07-02 12:29:16 -07:00
Eric House
88d8e61620 cleanup; tweak string 2016-07-02 12:28:57 -07:00
Eric House
1a6f5842c6 wait for dismissal of one alert before posting another. There really
needs to be some sort of queuing built into DlgDelegate, but for now
just handle in this one place.
2016-06-30 08:01:58 -07:00
Eric House
446663ea86 update to new gradle plugin as recommended/generated by AS 2016-06-30 07:15:21 -07:00
Eric House
624ec870f2 clean up .gitignore files for localization stuff 2016-06-30 07:01:30 -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
a243b19fd0 fix NPE when relay's re-added to a game 2016-06-30 06:21:12 -07:00
Eric House
03492b97e8 fix doubled response to alert button: dismiss != negative 2016-06-29 07:01:08 -07:00
Eric House
f66fa5f75a cleanup: remove commented out code etc. 2016-06-28 06:05:31 -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
3d682c425f remove Main activity 2016-06-26 15:41:15 -07:00
Eric House
94dadd4ca3 fix for single-device case 2016-06-26 14:54:01 -07:00
Eric House
3651137016 Merge branch 'android_branch' of ssh://maidu2/home/eehouse/src/git/repos/xwords into android_branch
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-06-26 14:38:50 -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
6c5b5489ad cleanup: Remove some commented-out code 2016-06-26 13:53:59 -07:00
Eric House
61ea4b01e1 ignore files 2016-06-24 22:40:35 -07:00
Eric House
89a0426521 Merge remote-tracking branch 'weblate/android_translate' into android_translate 2016-06-24 22:37:24 -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
aab779f258 duh: we're storing whether it's disabled, so reverse boolean 2016-06-23 06:27:01 -07:00
Eric House
7d47098947 start/stop relay service when pref changed; warn user when opens
relay-connected game and relay is disabled.
2016-06-22 07:20:23 -07:00
Eric House
6ef9c60cb9 add some generated .gitignore files 2016-06-22 06:53:02 -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
a4ab8658fb something's adding line in a different format to .gitignore files; go
with it.
2016-06-20 07:25:32 -07:00
Eric House
bd08b0cfee cleanup: remove unneeded imports (from one old file) 2016-06-17 07:14:45 -07:00
Eric House
dc92007811 add grep: start process of having this script add value 2016-06-14 06:05:05 -07:00
Eric House
bba16c481e improve game query script to filter on connnames and clarify filter param 2016-06-12 18:30:19 -07:00
Eric House
03efa3a7e6 toward being able to do release builds of CrossDbg 2016-06-09 21:30:04 -07:00
Eric House
777b1a7aab turn off dualpane option. It's broken: makes it too easy to get lots
of instances of the games list and board views stacked on top of each
other.
2016-06-08 21:36:33 -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
032d073d6f cleanup: there's no solo network status any more 2016-05-31 06:28:48 -07:00
Roland Illig
16cbbc5bee Translated using Weblate (German)
Currently translated at 8.4% (62 of 730 strings)
2016-05-31 03:44:40 +02:00
Eric House
d3318f6631 fix chat edittext to expand vertically when there's more than one line
of text in it.
2016-05-30 15:14:52 -07:00
Eric House
124c85a2e9 fix gradle builds too to use combined constants files 2016-05-30 13:13:01 -07:00
Eric House
49e7abd23d Combine the two generated constants files 2016-05-30 13:10:20 -07:00
Bernard Massot
6e16ec69c1 Translated using Weblate (French)
Currently translated at 100.0% (730 of 730 strings)
2016-05-29 18:46:59 +02:00
Roland Illig
75f14a985a Added translation using Weblate (German) 2016-05-29 02:34:06 +02:00
naofum
48ddd271dc Translated using Weblate (Japanese)
Currently translated at 100.0% (730 of 730 strings)
2016-05-28 13:01:01 +02:00
Weblate
b14c6b5003 Merge remote-tracking branch 'origin/android_translate' into android_translate 2016-05-28 08:43:40 +02:00
Eric House
06ef079af1 fix. seems to do gradle builds correctly, though those builds need a
lot of work still.
2016-05-23 08:39:51 -07:00
Eric House
8082a1e0dc add files generated as a result of earlier change 2016-05-23 08:39:05 -07:00
Eric House
28a7d425cd remove gradle build files from a directory where, AFAIK,they don't belong 2016-05-23 08:37:50 -07:00
Eric House
73598462b8 don't include carriage return in generated file name 2016-05-23 07:42:43 -07:00
Eric House
f8cfb9cc44 change string and enum name to indicate Bluetooth is where the connect
failure is.
2016-05-21 14:35:53 -07:00
Eric House
f001455589 fix so tablets are found in BT scans: they're considered computers, not phones 2016-05-21 14:25:54 -07:00
Eric House
f51565839a no need to set summary to null when pausing. 2016-05-21 14:05:47 -07:00
Eric House
e127c8a3aa fix to uninstall (by default) based on directory invoked from 2016-05-21 13:36:56 -07:00
Eric House
17945b2dc0 turn on auto-capitalization of sentences in chat 2016-05-17 22:21:11 -07:00
Eric House
4791ccaca8 commented out code to add notification used to duplicate the bug
addresses by the previous commit.
2016-05-17 21:09:32 -07:00
Eric House
80ebcff4c9 Handle case where we want to open a game that's already open (likely
in the process of being closed.) If we're successful in getting a
JNIThread object that's already initialized, re-use it, closing only
the JNI part (which probably can't be cleanly re-used with a different
Context.) I worry about the case where the thread's event queue isn't
empty, so there's an assert to catch that case.
2016-05-17 21:08:03 -07:00
Eric House
79efbd2076 upgrade gradle (recommended by AS) 2016-05-17 20:56:31 -07:00
Eric House
253c0d7496 turn off saving logs for now; move capture of title to where it's more
likely to succeed, and assert that it is. I think this will fix the
title-not-reverting problem I've been seeing.
2016-05-10 06:40:23 -07:00
Eric House
608533d189 Merge branch 'from_android_beta_106' into android_branch 2016-05-03 06:44:39 -07:00
Eric House
c013c152d7 up version strings for release 107 (f-droid only is the plan) 2016-05-02 21:56:11 -07:00
Eric House
f0dc295bde break gradle release builds with an error message that will, with
luck, communicate to the f-droid maintainer that ant it still the way
to build. Should stop the flood of error reports from f-droid users.
2016-05-02 21:45:53 -07:00
Eric House
1cb75bd970 turn off an especially oft-occurring log message 2016-04-22 21:14:58 -07:00
Eric House
d376679d00 add new database table for persisting logs. DEBUG builds only for
now. Keep the most recent 5K worth of messages. TODO: add a display
activity and the ability to email them.
2016-04-22 21:14:36 -07:00
Eric House
1216ec49d7 cleanup: move method 2016-04-22 07:08:13 -07:00
Eric House
bf871a20fb test for null to avoid NPE. I'm not sure how it gets here -- race
condition on opening maybe -- but not showing the one menuitem in this
case is harmless.
2016-04-21 06:35:42 -07:00
Eric House
18503f2237 If we get an intent and can't open the game it names, that's probably because GamesListActivity has been relauched on top of itself. So exit with a (temporary) Toast message. 2016-04-20 21:50:09 -07:00
Eric House
c9a1f00a43 catch up with non-dbg changes, esp. enabling dual-pane mode (though
it's off now thanks to a compile-time constant)
2016-04-18 06:21:49 -07:00
Eric House
406eb77f54 post notification (rather than just play sound) when turn comes into
boarddelegate but it's not visible
2016-04-14 22:16:18 -07:00
Eric House
c860773234 still learning magit: check preference before playing sound 2016-04-14 21:50:18 -07:00
Eric House
99effcac89 looks like I missed a hunk in previous commit 2016-04-14 21:42:22 -07:00
Eric House
e239430260 play notification sound when a move or chat is added to the board or
chat view. Still TODO: post a notification when that view isn't visible.
2016-04-14 21:39:23 -07:00
Eric House
994672667c gitignore some stuff 2016-04-14 21:07:12 -07:00
Eric House
33225f3bc5 refactor message receiving/distributing code into superclass. 2016-04-11 06:01:25 -07:00
Eric House
f288fe2860 use malloc to allocate storate for hci_inquiry instead of the
stack. That *seems* to fix it always returning 0, something that
changed with newer version of linux or libbluetooth or who knows
what. BT still doesn't work from linux, but this is a necessary start.
2016-04-09 15:49:11 -07:00
Eric House
a0ae117e35 fix invitations breakage introduced when JNIThread because self-initing. 2016-04-09 14:47:48 -07:00
Eric House
27b3004b43 exclude computers from BT paried devices scan -- since doesn't work on
ubuntu right now.
2016-04-09 13:57:16 -07:00
Eric House
baee084a90 add assert to catch case where exception may otherwise be thrown 2016-04-09 13:34:13 -07:00
Eric House
57dcbabab6 use a constant 2016-04-09 13:10:04 -07:00
Eric House
04a697b260 fix NPE: put back setReceiver() call lost when JNIThread became
self-initing.
2016-04-09 12:42:47 -07:00
Eric House
3dd69d90d9 This stuff has to be done before content gets added. Move into
Activity for now, though this may not work in dual-pane mode.
2016-04-09 12:23:26 -07:00
Eric House
8c9e3ce14c use pthreads mutex to synchronize alloc and free operations in (debug
only) mpool. I'm getting assertions about failure to free now that
multiple threads are accessing open games, but I think they're bogus:
due to multiple threads modifying the leak-detection counters. This
seems to fix the assertions I was seeing in mpool_destroy().
2016-04-09 11:54:08 -07:00
Eric House
f876c49cd6 don't require that ant be run before install 2016-04-09 11:51:48 -07:00
Eric House
1c6e97e164 AS-generated changes adapting to the 2.0 release 2016-04-07 12:34:58 -07:00
Eric House
589535cdbc Make JNIThread responsible for opening/owning game and other objects
whose lifespan matches its, e.g. the gameptr and gi. This is a big
change, and there are still some bugs/crashes, but it's worth
committing this snapshot.
2016-04-07 12:23:13 -07:00
Eric House
160d69640a log refcount changes 2016-04-07 09:48:23 -07:00
Eric House
b2c4bd9e23 better chat text hint 2016-04-07 09:30:29 -07:00
Eric House
14bdde7ff0 save game whenever refcount is released. Works around BoardDelegate
reloading the game every time it resumes. Better fix would be to have
JNIThread() own loading the game and only do so when first created.
2016-04-07 09:27:00 -07:00
Eric House
d541c976bf add PENDING comment 2016-04-07 09:23:07 -07:00
Eric House
9f05d45e05 sometimes when return from background ChatDelegate is the first to try
to reference JNIThread. Until I can make that work, just finish() --
to avoid crashes.
2016-04-07 09:22:41 -07:00
Eric House
049c25f16d save when exiting to prevent data loss opening chat window. 2016-04-06 21:41:48 -07:00
Eric House
a55e17cd41 cleanup; log rowid in release() and retain() 2016-04-06 21:40:46 -07:00
Eric House
a90ec29ff0 fix delete game problem: delete first using lock we already have. 2016-04-06 18:42:37 -07:00
Eric House
3a368a8efd toward working better in background: log and print stack when doing
nothing because jnithread is null. Pass incoming chat messages to
ChatDelegate if it's up, and otherwise launch it as before.
2016-04-06 11:16:51 -07:00
Eric House
919e44f21e first cut at accepting input when running. Won't work when whole app is in background. 2016-04-06 11:08:27 -07:00
Eric House
347ff60434 toward working in background: log when called on null thread rather than crashing 2016-04-06 11:07:30 -07:00
Eric House
70c0db6504 chat: add hint string, and make textfield full width 2016-04-06 11:06:10 -07:00
Eric House
4bb16e88ef better logging 2016-04-06 11:03:18 -07:00
Eric House
7b045fb413 add constant to disable dualpane on debug builds too 2016-04-06 11:03:02 -07:00
Eric House
f6cbe2ec61 Toward launching fragment for result. Fires an assert on returning
since that's not done yet.
2016-04-05 09:37:17 -07:00
Eric House
b68775b620 oops -- fix compilation error 2016-04-05 09:17:03 -07:00
Eric House
b3f6e1b0a3 Make config work as a fragment, and clean up all the fragment
subclasses: only one method needs to be overridden.
2016-04-05 08:56:33 -07:00
Eric House
8cb2cecc18 add logging toward catching board layout problems; throw exception
when can't unlock game (possible fix to multiple instances of
GamesListActivity stacking up); cleanup of GamesListDelegate tracking
of open games.
2016-04-05 08:18:12 -07:00
Eric House
21ef6d4e13 tossing stuff at the wall trying to fix occasional failures to layout
board in dual-pane mode (that show up as all-white BoardView). I think
there was a slight reduction in frequency, which varies with screen
size at least.
2016-04-04 14:30:04 -07:00
Eric House
ae8a66f37b snapshot on the way to handling rotation of the board view. Pass
orientation changes down to it (or any other interested delegate), and
have it lay its container out again. There appear to be race
conditions here: sometimes the toolbar winds up in the wrong
orientation, and on some devices the board can be blank. One problem
is that on a multi-paned device a single pane may be portrait (taller
than wide) though the whole device is in landscape mode. The big
challege is to get the view's max dimensions (and whether it's
landscape or portrait) when layout hasn't yet begun, because we that
for the jni part of layout. Messy still, but better than before and I
think progress in the right direction.
2016-04-04 13:43:16 -07:00
Eric House
b6431f0373 when normal means don't succeed in generating summary, try again with
via JNIThread's cache.
2016-04-04 11:35:39 -07:00
Eric House
f47a11aa42 snapshot of changes adding refcounting to jnithread so and instance
can be shared by multiple delegates, e.g. Board and Chat. Works but
with lots of crashes and stuff remaining to be done.
2016-03-31 22:05:58 -07:00
Bernard Massot
1aba000f89 Translated using Weblate (French)
Currently translated at 99.4% (721 of 725 strings)
2016-03-31 00:44:28 +02:00
Bernard Massot
e8cf76be72 Translated using Weblate (French)
Currently translated at 99.4% (721 of 725 strings)

this string should be split into a singular and a plural versions
2016-03-28 21:46:12 +02:00
Bernard Massot
978f15d1c9 Translated using Weblate (French)
Currently translated at 99.4% (721 of 725 strings)
2016-03-28 21:45:59 +02:00
Bernard Massot
4ca62547fc Translated using Weblate (French)
Currently translated at 99.4% (721 of 725 strings)

this string should be split into a singular and a plural versions
2016-03-28 21:00:24 +02:00
Bernard Massot
fb66c6ecbc Translated using Weblate (French)
Currently translated at 97.2% (705 of 725 strings)
2016-03-28 20:38:41 +02:00
Eric House
b6f992533a fix NPE. Method isn't called unless positive/confirming button has
been pressed.
2016-03-19 05:44:37 -07:00
Eric House
ab26e263ef cleanup: remove unnecessary file. 2016-03-14 22:01:55 -07:00
Eric House
0bc6387714 add support for behavior: when the left fragment opens a new fragment
it replaces the right one rather than pushing the left off the
screen. Use that to make dictionary browser, chat, and studylist all
able to swap places while the open board is on the left.
2016-03-14 21:48:07 -07:00
Eric House
f23a28cbce log onDestroy too 2016-03-14 21:46:28 -07:00
Eric House
0a843bd430 add chat fragment, which displays ok but can't send. Turn menus off/on
as fragments are made visible.
2016-03-13 19:53:59 -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
61ff6a6c33 Merge branch 'android_beta_106_branch' into android_branch
Conflicts:
	xwords4/android/XWords4/src/org/eehouse/android/xw4/ChatDelegate.java
2016-03-13 17:16:47 -07:00
Eric House
a8ebaaf789 better summary text 2016-03-13 14:42:50 -07:00
Eric House
1bcd977fa0 oops: fix crash by passing the right table name 2016-03-13 14:42:37 -07:00
Eric House
365695423c add a bunch of logging to code converting old-format chat. I've seen
this code fail once, can't reproduce even on the same data, so I want
this in place (debug builds only) in case it happens again.
2016-03-13 13:55:46 -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
b07a783fe1 revert to sdk 19 for gradle builds too (though they're just for
debugging at this point)
2016-03-13 12:42:31 -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
a157c9bb43 up strings and changelog for release 2016-03-12 17:39:18 -08:00
Eric House
d208e4ef51 ignore more AS metadata 2016-03-12 17:38:25 -08:00
Eric House
78f0ac7783 delete a game's entries in chats table when it's deleted 2016-03-12 17:23:25 -08:00
Eric House
9e9d9a740c add and use fragment for dict browser. Works except for the relaunch
logic around changing the parameters (e.g. word length filters.)
2016-03-12 16:46:44 -08:00
Eric House
117752d965 move static stuff from activity to delegate 2016-03-12 15:47:34 -08:00
Eric House
a111cf8953 move static stuff from activity to delegate 2016-03-12 15:46:59 -08:00
Eric House
8981765897 fix finish() so it pops stack in fragment case 2016-03-12 15:32:53 -08:00
Eric House
31d01e4ef0 remove dead file 2016-03-12 15:32:32 -08:00
Eric House
5928c8a9e6 handle dialogs correctly in Fragment activity, at least to the extent
of fixing the new game name one.
2016-03-12 15:17:19 -08:00
Eric House
e72443b850 go straight to single-pane implementation for non-debug builds. If this works
might be able to fold this branch into what I'm releasing from.
2016-03-12 15:14:06 -08:00
Eric House
04144213d5 fix so at least games list and board work. Required finishing the list view implementation. 2016-03-12 14:29:16 -08:00
Eric House
aa4f4e0e99 launch the Main activity after installing 2016-03-12 14:28:40 -08:00
Eric House
9837fc61bf fix gradle build: compile support library 2016-03-12 14:23:38 -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
b7694b67d2 Merge branch 'android_branch' into android_dualpane2. Compiles after a ton of conflict resolution and some file removal. No idea if it runs, but little confidence.
Conflicts:
	xwords4/android/XWords4/.gitignore
	xwords4/android/XWords4/archive/R.java
	xwords4/android/XWords4/res/values/strings.xml
	xwords4/android/XWords4/res/values/styles.xml
	xwords4/android/XWords4/res_src/values-ba_CK/strings.xml
	xwords4/android/XWords4/res_src/values-ca_PS/strings.xml
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BTInviteDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BTService.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/ChatDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/Delegator.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/DlgDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/DwnldDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesListActivity.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesListDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/InviteDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/ListDelegateBase.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/MultiService.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/NewGameDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayGameDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/RelayService.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/SMSInviteDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/SMSService.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/StudyListDelegate.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/XWActivity.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/XWListActivity.java
	xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocItemEditDelegate.java
	xwords4/android/scripts/adb-install.sh
	xwords4/android/scripts/find-and-ant.sh
2016-03-11 22:19:37 -08:00
Eric House
08da6e5472 use logdf instead 2016-03-11 18:23:59 -08:00
Eric House
e0cf48779d delete a game's entries in chats table when it's deleted 2016-03-11 18:21:25 -08:00
Eric House
054cf5bf52 drop mysterious exception that seems to happen only on one emulator
and that can be safely dropped then.
2016-03-11 18:20:53 -08:00
Eric House
7f4729ad73 send messages from within chat delegate, without closing it. Requires
leaving the board delegate's game and jnithread open and adding a
static to JNIThread to chat can get the current instance to use for
sending, all a bit of a hack that depends on onDestroy getting called
in a timely manner. TODO: display chats that arrive while the
receiving game's window is open.
2016-03-10 07:38:55 -08:00
Eric House
5d9de30170 merge remote changes 2016-03-08 07:27:30 -08:00
Eric House
a03dd9423d move dbg build back to target-19 too 2016-03-08 07:20:52 -08:00
Eric House
78fb130e4f stack-overflow config wierdness to fix long chat lines not
wrapping. Needs testing on multiple OS versions.
2016-03-08 07:20:40 -08:00
Eric House
5dc7b66e89 use different background color for local player's chat lines 2016-03-08 07:20:02 -08:00
Eric House
cd93bdb03e move to sdk-22 breaks jni on x86, so revert to -19 for now. 2016-03-06 09:59:22 -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
2ca0fe5ca4 add board_getSelPlayer() 2016-03-06 06:34:49 -08:00
Eric House
d67d9a704c script to make it easier to launch logcat with multiple devices connected 2016-03-06 06:34:25 -08:00
Eric House
f5bc9ca434 toward using chat senders' names in history: add chats table so we can
keep track of sender as a separate column rather than a prepended
string. I'm committing this separately for easier debugging of the
code that uses it and that converts from the old format.
2016-03-05 21:30:21 -08:00
Eric House
ff12cc6f91 tweak scripts to have better default behavior 2016-03-05 12:16:23 -08:00
Eric House
d536d05e24 remove unnecessary override (identical to parent's implemenation) 2016-03-04 19:49:59 -08:00
Eric House
4402b81bdf fix crash (assertion failure) finding words associated with a cell
when there's a trade above it on the move stack.
2016-03-04 19:29:42 -08:00
Eric House
9fb5f49595 when a game's opened from an Android db, there's no row data to delete 2016-03-04 19:28:38 -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
0f6615b25b formatting 2016-03-04 08:16:42 -08:00
Eric House
36bce5332d undo changes forcing there to be a single checked item, since that
made it impossible to do bulk deletes.
2016-02-29 07:38:08 -08:00
Eric House
eb4613c842 deal with case where invitation via relay requires a wordlist that
must be downloaded. (Does not solve the problem that if the download
fails the invitation must be resent.)
2016-02-26 07:13:12 -08:00
Eric House
830d66e538 ignore AS metadata 2016-02-25 21:37:15 -08:00
Eric House
03dc1206a5 remove Android Studio metadata. 2016-02-25 21:34:00 -08:00
Eric House
b8c98487d7 use sdk 22 for gradle builds too; rename apk file based on git revision number 2016-02-25 21:20:17 -08:00
Eric House
ca41a2390c usage should exit with an error 2016-02-24 22:16:56 -08:00
Eric House
6fe302eab1 first cut at fix to hundreds of games leading to attention-grabbing
battery usage: rather than have every single ExpiringDelegate set its
own timer, run a single time they can attach themselves to.
2016-02-24 22:16:40 -08:00
Eric House
dd0a677d97 upgrade to latest crittercism (java code only) 2016-02-24 07:23:50 -08:00
Eric House
8c3f1ee100 up sdk version to 22 in order to drop timestamp from marshmallow logs
(since they provide it natively)
2016-02-24 07:12:10 -08:00
Eric House
3a94f38820 use android-19 instead of -14, which seems to be no longer supported 2016-02-21 13:36:57 -08:00
Eric House
841715a78b pass constant 2016-02-21 08:01:27 -08:00
Eric House
19d1a6059e new script for working with gradle builds. Probably totally broken:
I'm committing it now because I'm tired of it being in the way during
branch changes.
2016-02-19 07:12:00 -08:00
Eric House
bf3c0021a6 up version and changelog for new release 2016-02-19 07:10:28 -08:00
Eric House
50107949f2 merge local heads 2016-02-18 07:47:46 -08:00
Eric House
86883eb51a handle tap on scoreboard by showing last move summary (as happens for
long-tap) when option to switch users is disabled.
2016-02-18 07:46:36 -08:00
Eric House
53f44af199 fix assertion failure by handling missing case 2016-02-18 07:45:41 -08:00
Eric House
33916761fb include various options, e.g. whether hints are allowed, in data used
to clone a game prior to a rematch so they're not lost. Thanks A.B.!
2016-02-18 06:48:48 -08:00
Eric House
ee0caad464 make String private 2016-02-18 06:39:40 -08:00
Eric House
05e82d4ee7 find apks from android root; print cmd in way it can be run from shell 2016-02-18 06:39:06 -08:00
Eric House
c09088658e rewrite to search for variants and attached devices when none
specified, and more. Requires modern bash now rather than /bin/sh.
2016-02-17 07:34:10 -08:00
Eric House
4157169d91 add dict.xwd so I don't have to keep creating it 2016-02-16 20:48:28 -08:00
Eric House
ac9ab226a4 Merge remote-tracking branch 'weblate/android_translate' into android_branch 2016-02-09 07:15:57 -08:00
Eric House
5084e70843 fix bug: if you're iterating through hints and you drag a tile to the
left of tray divider (without moving divider) it may still be included
in hinted moves. Fix is to reset engine whenever the set of tiles left
of divider changes.
2016-02-05 07:29:51 -08:00
Eric House
ff49ce61a5 ignore new language files 2016-02-05 07:13:55 -08:00
naofum
ccdf1d6bf9 Translated using Weblate (Japanese)
Currently translated at 100.0% (725 of 725 strings)
2016-02-05 12:57:57 +01:00
Eric House
bec115568e remove FIXED -- was a one-time thing 2016-02-04 20:45:17 -08:00
Eric House
856bb89749 drop french, since there are better dictionaries; don't say FIXED for
languages that didn't have the thing before
2016-02-03 20:53:58 -08:00
Eric House
0684139183 add ability to build a second variant. Works, but they can't both be
installed because of duplicate permissions.
2016-02-03 20:44:40 -08:00
Eric House
2cb989022c up name and version code for new release 2016-02-03 20:40:46 -08:00
Eric House
ee5c0707f0 generated files 2016-02-03 20:40:12 -08:00
Eric House
37bf8179aa add to list of languages thefreedictionary.com supports (and put tmp
FIXED! in its name for people who got used to it being broken)
2016-02-03 20:39:48 -08:00
Eric House
c4eaf912d6 better string 2016-02-03 20:39:07 -08:00
Eric House
f49925bcb4 fix thefreedictionary lookups, at least for English 2016-02-03 06:16:31 -08:00
Eric House
874b479a69 avoid NPE by dropping message after test 2016-02-02 20:54:35 -08:00
Eric House
5ccb9bf7a3 notes and version code changes for release 2016-02-02 19:41:16 -08:00
Eric House
6e30d77ada pull int (ptr) out of GamePtr inside jni code where it can be done
once instead of at every call site. There's probably a performance
penalty to making bunch of extra calls back into java, but the code's
much cleaner. Will pay attention to performance changes.
2016-02-02 07:50:02 -08:00
Eric House
5ddb4da466 when resending messages, be willing to do it more frequently, and
don't count toward quota unless a send actually happens.
2016-02-02 07:32:41 -08:00
Eric House
d3e521ca6e cleanup 2016-02-02 07:04:29 -08:00
Eric House
19713a40ad add param to comms_resendAll to limit type of message sent
(e.g. BT). Meant to be used when a single type has become available.
2016-02-02 07:01:48 -08:00
Eric House
9c6908d14a ignore 2016-02-01 06:55:11 -08:00
Eric House
75939d9203 remove bogus flag (incompatible with my key). And confirm that can be
installed on top of a build signed with SHA256, the new default.
2016-02-01 06:27:29 -08:00
Eric House
36551a310a add jarsigner params that are supposed to fix for installing on older devices 2016-02-01 06:17:36 -08:00
Eric House
45224a75fa add (disabled) code for case where game ptr wrapper is passed instead
of the ptr itself.
2016-01-31 20:06:45 -08:00
Eric House
9455c0ef26 wrap jni ptr so can detect leaks (failure to call
game_dispose()). There was one that had been undetected for years. The
int is still passed into the jni, and each call site has to pull it
from the wrapper. Better would be to pass the wrapper, but I'm worried
about the performance hit of making a call back into the java world
from every jni entrypoint. Will test....
2016-01-31 19:51:51 -08:00
Eric House
8327fa71a1 Merge branch 'android_branch' into android_translate
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-01-29 06:03:58 -08:00
Eric House
86068cfdfe oops -- forget to let these get generated 2016-01-29 06:01:53 -08:00
Eric House
7b452e37e4 Merge branch 'android_translate' of git://git.weblate.org/xwords into android_translate
# Conflicts:
#	xwords4/android/XWords4/res_src/values-fr/strings.xml
2016-01-29 06:00:56 -08:00
jean-christophe
93e3468501 Translated using Weblate (French)
Currently translated at 99.1% (704 of 710 strings)
2016-01-29 00:32:38 +01:00
naofum
20c99c61b6 Translated using Weblate (Japanese)
Currently translated at 100.0% (710 of 710 strings)
2016-01-28 12:44:42 +01:00
Eric House
794bce1ceb cleanup from review of diff since last release. All whitespace or
removing logging except for one check for null.
2016-01-27 07:31:10 -08:00
Eric House
813d5c18b3 show explanatory text when there are no invitations 2016-01-25 07:29:26 -08:00
Eric House
3c92b8837a add changelog mention of weblate additions 2016-01-24 10:32:07 -08:00
Eric House
f07dd2a344 remove unused string 2016-01-23 22:09:40 -08:00
Eric House
e6fa514982 Merge branch 'android_branch' into android_translate 2016-01-23 22:03:40 -08:00
Eric House
5ef7495d51 The Japanese translation has a number of plurals with "one" quantities
but no "other", which crashes. "Fix" these by making the copy script
turn one into other, which may well make sense given Japanese
grammer. At any rate it prevents crashes until I can work it out with
the translator and/or weblate.
2016-01-23 21:59:31 -08:00
Eric House
b9b9038c66 remove empty strings 2016-01-23 21:55:07 -08:00
Eric House
c0e8f9cb65 look for plurals too 2016-01-23 21:06:37 -08:00
Eric House
805f160556 don't break r.{string,plurals}.id across lines: my script's too dumb
to recognize them then
2016-01-23 21:04:20 -08:00
Eric House
ca09c48d95 deal with case where target of symlink is gone 2016-01-23 20:55:32 -08:00
Eric House
3500d8c8b9 bring in latest French changes 2016-01-22 07:26:26 -08:00
Eric House
b289154e19 up app version strings, changes list for new release 2016-01-21 20:56:45 -08:00
Eric House
dcedbefd63 fix rematch info getting overwritten the first time a game is
opened. Some GameSummary fields are unknown to jni code and so
shouldn't be saved if they happen to be empty (as they will be when
the GameSummary is created by jni and never merged with what was read
from the DB when the game was loaded.
2016-01-21 07:14:57 -08:00
Eric House
7325377bcb remove comment 2016-01-21 07:13:46 -08:00
Eric House
16b558a566 fix BT and SMS game creation in response to invitations by passing a
UtilCtxt they can use to get the devices ID, allowing relay messages
to reach the games when they're not open. Move into superclass while
at it.
2016-01-21 06:27:51 -08:00
Eric House
3bff4c070a fix compiler warning 2016-01-21 06:25:19 -08:00
Eric House
7d62614ced Recent AS metadata changes. I'm waiting for the changes to stop.... 2016-01-20 07:58:41 -08:00
Eric House
eb08e8e78d give user a chance to turn on play-via-SMS when sending an SMS
invitation (which will otherwise fail silently). Required a hack
passing params from one dialog to another, but I like that better
(today) than creating new single-purpose iVars in BoardDelegate.
2016-01-20 07:58:01 -08:00
Eric House
f65d42732b offer invites-info menu on release builds too if debug features
enabled.
2016-01-19 07:17:29 -08:00
Eric House
7ba7879a55 cleanup: track only checked items, not all items. 2016-01-19 06:53:43 -08:00
Eric House
eee13bcdd6 fix assertion failure by dropping packet for which I can't get an
address. It was in a three-player game with two on the server device.
2016-01-19 06:41:44 -08:00
Bernard Massot
fe235b2348 Translated using Weblate (French)
Currently translated at 98.8% (702 of 710 strings)
2016-01-18 21:44:26 +01:00