Search in lower case and reverse result order.

Julien LepillerThu Jun 25 14:03:52+0200 2020

be82059

Search in lower case and reverse result order.

app/src/main/java/eu/lepiller/nani/dictionary/ResultDictionary.java

126126
                    return null;
127127
128128
                // Check file format version
129-
                if(!Arrays.equals(header, "NANI_JMDICT002".getBytes()))
129+
                if(!Arrays.equals(header, "NANI_JMDICT002".getBytes())) {
130+
                    Log.d(TAG, "search: incompatible header: " + header);
130131
                    throw new IncompatibleFormatException(getName());
132+
                }
131133
132-
                byte[] search = text.getBytes();
134+
                byte[] search = text.toLowerCase().getBytes();
133135
136+
                long tagsListPos = file.readInt();
134137
                long kanjiTriePos = file.readInt();
135138
                long readingTriePos = file.readInt();
136139
                long meaningTriePos = file.readInt();

147150
                logHuffman(readingHuffman, new ArrayList<Boolean>());
148151
149152
                // Search in Japanese, by kanji and reading
153+
                Log.d(TAG, "search: by kanji and reading");
150154
                ArrayList<Integer> results = searchTrie(file, kanjiTriePos, search);
151155
                ArrayList<Integer> readingResults = searchTrie(file, readingTriePos, search);
152156
                if(results != null && readingResults != null)

154158
                else if (results == null)
155159
                    results = readingResults;
156160
161+
                Log.d(TAG, "search: by meaning");
157162
                // Search in other language, by meaning
158163
                if(results == null || results.isEmpty())
159164
                    results = searchTrie(file, meaningTriePos, search);

181186
                    if(num > 10)
182187
                        break;
183188
                    num++;
184-
                    r.add(getValue(file, i));
189+
                    r.add(0, getValue(file, i));
185190
                }
186191
                return r;
187192
            } catch (FileNotFoundException e) {