Remember hash, size and number of entries in dictionaries

Julien LepillerWed May 27 01:11:48+0200 2020

1c9e9d4

Remember hash, size and number of entries in dictionaries

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

1212
abstract public class Dictionary {
1313
    private String name;
1414
    private String description, fullDescription;
15+
    private int expectedFileSize;
16+
    private int expectedEntries;
17+
    private String sha256;
1518
    File file;
1619
17-
    Dictionary(String n, String descr, String fullDescr, File cacheDir) {
20+
    Dictionary(String n, String descr, String fullDescr, File cacheDir, int fileSize, int entries, String hash) {
1821
        name = n;
1922
        description = descr;
2023
        fullDescription = fullDescr;
24+
        expectedEntries = entries;
25+
        expectedFileSize = fileSize;
26+
        sha256 = hash;
2127
        this.file = new File(cacheDir, "/dico/" + name);
2228
    }
2329
2430
    public String getName() {
2531
        return name;
2632
    }
27-
2833
    public String getDescription() {
2934
        return description;
3035
    }
3136
    public String getFullDescription() {
3237
        return fullDescription;
3338
    }
39+
    public int getExpectedFileSize() {
40+
        return expectedFileSize;
41+
    }
42+
    public int getExpectedEntries() {
43+
        return expectedEntries;
44+
    }
45+
    public String getSha256() {
46+
        return sha256;
47+
    }
3448
3549
    protected File getFile() {
3650
        return file;

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

9292
                                    chooseLanguage(synopsis),
9393
                                    chooseLanguage(description),
9494
                                    cacheDir,
95-
                                    url));
95+
                                    url,
96+
                                    size,
97+
                                    entries,
98+
                                    sha256));
9699
                        } else if (type.compareTo("jmdict") == 0) {
97100
                            dictionaries.add(new JMDict(name,
98101
                                    chooseLanguage(synopsis),
99102
                                    chooseLanguage(description),
100103
                                    cacheDir,
101-
                                    url));
104+
                                    url,
105+
                                    size,
106+
                                    entries,
107+
                                    sha256));
102108
                        }
103109
                    }
104110

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

3939
    private String mUrl;
4040
    private static String TAG = "FILEDIC";
4141
42-
    FileDictionary(String name, String description, String fullDescription, File cacheDir, String url) {
43-
        super(name, description, fullDescription, cacheDir);
42+
    FileDictionary(String name, String description, String fullDescription, File cacheDir, String url,
43+
                   int fileSize, int entries, String hash) {
44+
        super(name, description, fullDescription, cacheDir, fileSize, entries, hash);
4445
        mUrl = url;
4546
    }
4647

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

2020
    final private static String TAG = "JMDICT";
2121
    private Huffman kanjiHuffman, readingHuffman, meaningHuffman;
2222
23-
    JMDict(String name, String description, String fullDescription, File cacheDir, String url) {
24-
        super(name, description, fullDescription, cacheDir, url);
23+
    JMDict(String name, String description, String fullDescription, File cacheDir, String url,
24+
           int fileSize, int entries, String hash) {
25+
        super(name, description, fullDescription, cacheDir, url, fileSize, entries, hash);
2526
    }
2627
2728
    @Override

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

9494
        }
9595
    }
9696
97-
    RadicalDict(String name, String description, String fullDescription, File cacheDir, String url) {
98-
        super(name, description, fullDescription, cacheDir, url);
97+
    RadicalDict(String name, String description, String fullDescription, File cacheDir, String url,
98+
                int fileSize, int entries, String hash) {
99+
        super(name, description, fullDescription, cacheDir, url, fileSize, entries, hash);
99100
    }
100101
101102
    private boolean contains(List<String> lst, String s) {