Commit graph

32 commits

Author SHA1 Message Date
Andy2
63c0c5cf09 fix compile warning by passing ptr to embedded super 2011-11-17 06:11:42 -08:00
Andy2
284bd2d0c4 turn on sanity checking of dicts in download directory, but from
DictLangCache rather than when the directory's walked initially.  Need
to test still with bogus dict and make sure it's never shown.
2011-11-10 19:02:18 -08:00
Andy2
c237717de5 dict_getInfo returns false if the dict doesn't parse so can be used to
test validity of downloaded dict.  Internally (in jni), add lots of
checks that format is correct and we don't run off end of ptr walking
truncated dict.
2011-10-23 14:21:57 -07:00
Andy2
2aa5447301 remove some logging 2011-09-08 19:03:08 -07:00
Andy2
8087153b73 log name of dict being set -- as an easy way to confirm that the right
dicts are getting passed to the jin.
2011-09-03 20:19:51 -07:00
Andy2
84e61f3b3f remove no-op line 2011-08-22 18:43:42 -07:00
Andy2
c41af221b7 fix non-debug compile warning 2011-08-21 11:33:23 -07:00
Andy2
8adb925cca only load and pass in dict as byte[] when path isn't available
(i.e. when it's a builtin), and use mmap in that case.  Works!  Still
need to try a speed test.
2011-08-08 20:27:42 -07:00
Andy2
755d3e5bb2 as first step in using mmap for dictionaries instead of passing byte
arrays into the jni, pass the full file paths in in addition to the
byte arrays.  This isn't possible with the built-in dicts, but does
work for the downloaded ones (which are usually larger).  This checkin
does the mmap and uses memcmp to verify that the bytes are the same as
passed in.  Next step is to not pass the bytes when the path will do
and to actually use the mmap'd ptr.
2011-08-08 19:41:45 -07:00
Andy2
cd844a5bad plug memory leak flushed out by auto-juggle code: null dict doesn't
mean the end of the list.
2011-06-29 18:28:55 -07:00
Andy2
bf67a88c5a expect the array of dicts passed to include the game dict (as part of
changes to always have a game dict and to have player dicts only when
they're different.)
2011-04-25 20:16:38 -07:00
eehouse@eehouse.org
5a21aea2e5 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-04-13 06:58:58 -07:00
Eric House
baedbdff2c remove logging 2011-04-12 22:17:56 -07:00
Andy2
002bb40a09 report counts/values using language rather than dictionary name. To
support that, pass lang name from java into jni.
2011-04-11 18:55:42 -07:00
Andy2
c6cd60deef Save and restore per-player dicts; load games that have 'em correctly.
Robots default to BasEnglish dict and humans to CollegeEng.  Add new
per-game default for robot dict.  Still need to deal with language
changes and non-English case in general.
2011-04-11 06:42:17 -07:00
Andy2
977feada82 use a reference to a byte array in the java heap (locking down the
object) rather than allocating a new array in the C heap -- for the
DAWG data of a dictionary.  This can use up to 5% of the java heap for
huge dictionaries, but I'm hoping it fixes a problem reported by a
user of the large German dictionary that seems to involve allocation.
If I'm reading correctly, as long as I stay within 16M (24M or more on
newer devices) I'm sure to get my memory in the java world while it's
less a sure thing in the JNI world (where in addition linux's
aggressive overallocation is used, meaning I'll fail when I try to
swap in memory on write rather than get back NULL from malloc.)
2011-01-31 18:56:20 -08:00
Andy2
53de4eab9b correctly detect empty dict and set top ptr to null. Fixes crash
using empty dicts.
2010-12-17 18:54:27 -08:00
Andy2
ff9e03ef4b read rather than just skipping word count 2010-12-06 07:30:28 -08:00
Andy2
e2bb50ef62 skip new header if present 2010-12-06 07:22:07 -08:00
Eric House
c4cdc24b78 initial changes to add a header to xwd format so that stuff like
number of words can be included.  Changed to build dicts and linux to
open them.  Android still needs to learn.  Also, some of the tools in
dawg/ need to be fixed to read old-format (pre-utf8) .xwd files.
2010-12-05 19:33:10 -08:00
Andy2
cf6d8efb29 new jni method to get lang code. Takes a dict's raw bytes and builds
a dict object just to fetch the code, which is pretty inefficient, so
caching should be added later on the java side.
2010-08-25 06:33:16 -07:00
eehouse
5d31c18658 copy dict name into dict struct so e.g. Counts and Values works 2010-04-23 08:36:20 +00:00
eehouse
c2c463171c fix dict_splitFaces to work for utf8 -- by calling into existing java
code.  Fixes multi-device play with Catalan dict.
2010-04-22 04:56:48 +00:00
eehouse
94d3f7483c Since we're not using bitmaps any more remove the code to parse and
convert them.
2010-04-22 04:56:14 +00:00
eehouse
fbe46c1284 pass boolean isUTF8 in from jni, and if false create InputStreamReader
to decode ISO8859_1 rather than utf-8.  Fixes problem with Ñ in old
Spanish dicts.  Should fix all pre-utf8-format dicts, actually.
2010-04-20 02:38:42 +00:00
eehouse
b07808e8db add copyright notice; turn logging back on for jni code 2010-03-28 23:38:53 +00:00
eehouse
5806aa0aca get rid of excess logging 2010-03-21 03:10:47 +00:00
eehouse
135d936a7d Fix warnings that appear when logging off. 2010-02-15 02:54:10 +00:00
eehouse
c6b28e9416 turned on -Wall and fixed errors/warnings it reported 2010-02-12 07:13:42 +00:00
eehouse
bd611bb6f4 implement dictChanged. And so that utf8 dicts could be opened without
their games being drawn (no BoardActivity around) break the two
android-only callbacks out of UtilCtxt and into a new JNIUtils
interface that then requires new handing in C.
2010-02-11 13:27:09 +00:00
eehouse
1ee94f23aa factor out and_dictionary_make_empty 2010-02-09 14:22:59 +00:00
eehouse
6dfac28b13 rearrange to work with newer version of ndk and sdk just installed 2010-01-30 03:18:01 +00:00
Renamed from xwords4/android/anddict.c (Browse further)