Fix warnings from the IDE

Julien LepillerWed Jun 10 23:54:17+0200 2020

36af59b

Fix warnings from the IDE

.idea/dictionaries/tyreunom.xml

22
  <dictionary name="tyreunom">
33
    <words>
44
      <w>dico</w>
5+
      <w>jmdict</w>
56
      <w>kanji</w>
67
      <w>kanjis</w>
78
      <w>lepiller</w>
9+
      <w>moji</w>
810
      <w>mozc</w>
11+
      <w>radk</w>
12+
      <w>romaji</w>
13+
      <w>wasei</w>
914
    </words>
1015
  </dictionary>
1116
</component>
1116=
1217=
\ No newline at end of file

app/src/main/java/eu/lepiller/nani/AboutActivity.java

4040
                String appPackageName = "org.mozc.android.inputmethod.japanese";
4141
                try {
4242
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
43-
                } catch (android.content.ActivityNotFoundException anfe) {
43+
                } catch (android.content.ActivityNotFoundException e) {
4444
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
4545
                }
4646
            }

app/src/main/java/eu/lepiller/nani/DictionaryActivity.java

4444
        final ListView list_view = findViewById(R.id.dictionary_view);
4545
        refresher = findViewById(R.id.dictionary_refresh_layout);
4646
47-
        dictionaries = DictionaryFactory.getDictionnaries(getApplicationContext());
47+
        dictionaries = DictionaryFactory.getDictionaries(getApplicationContext());
4848
        adapter = new DictionariesAdapter(this, dictionaries);
4949
        list_view.setAdapter(adapter);
5050

156156
    private void updateDataSet() {
157157
        DictionaryFactory.updatePackageList();
158158
        dictionaries.clear();
159-
        dictionaries.addAll(DictionaryFactory.getDictionnaries(getApplicationContext()));
159+
        dictionaries.addAll(DictionaryFactory.getDictionaries(getApplicationContext()));
160160
        adapter.notifyDataSetChanged();
161161
    }
162162

app/src/main/java/eu/lepiller/nani/MainActivity.java

11
package eu.lepiller.nani;
22
3-
import android.app.NotificationChannel;
4-
import android.app.NotificationManager;
53
import android.content.Intent;
64
import android.content.SharedPreferences;
75
import android.os.AsyncTask;

6058
        SharedPreferences sharedPref =
6159
                PreferenceManager.getDefaultSharedPreferences(this);
6260
        sharedPref.registerOnSharedPreferenceChangeListener(this);
63-
        int radSizePref = Integer.parseInt(sharedPref.getString
64-
                (SettingsActivity.KEY_PREF_RAD_SIZE, "122"));
61+
        int radSizePref = getRadSizePref(sharedPref);
6562
6663
        try {
6764
            radical_selector.setRadSize(radSizePref);

136133
    @Override
137134
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
138135
        if(key.compareTo(SettingsActivity.KEY_PREF_RAD_SIZE) == 0) {
139-
            int radSizePref = Integer.parseInt(sharedPreferences.getString
140-
                    (SettingsActivity.KEY_PREF_RAD_SIZE, "122"));
141-
            radical_selector.setRadSize(radSizePref);
136+
            radical_selector.setRadSize(getRadSizePref(sharedPreferences));
142137
        }
143138
    }
144139
140+
    private int getRadSizePref(SharedPreferences sharedPrefs) {
141+
        String prefRadSize = sharedPrefs.getString(SettingsActivity.KEY_PREF_RAD_SIZE, "122");
142+
        if(prefRadSize == null)
143+
            prefRadSize = "122";
144+
        return Integer.parseInt(prefRadSize);
145+
    }
146+
145147
    private static class SearchTask extends AsyncTask<String, Integer, SearchResult> {
146148
        OnTaskCompleted<SearchResult> callback;
147149
        SearchTask(OnTaskCompleted<SearchResult> callback) {

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

4848
4949
        // Populate the data into the template view using the data object
5050
        Drawable icon;
51-
        if (dictionary.isDownloaded() && !dictionary.isUpToDate())
51+
        if (dictionary.isDownloaded() && dictionary.canUpdate())
5252
            icon = dictionary.getNewDrawable(context);
5353
        else
5454
            icon = dictionary.getDrawable(context);

6666
        }
6767
6868
        name_view.setText(dictionary.getName());
69-
        if(!dictionary.isUpToDate() && dictionary.isDownloaded()) {
69+
        if(dictionary.canUpdate() && dictionary.isDownloaded()) {
7070
            name_view.setTypeface(null, Typeface.BOLD);
7171
        } else {
7272
            name_view.setTypeface(null, Typeface.NORMAL);

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

22
33
import android.content.Context;
44
import android.graphics.Bitmap;
5-
import android.graphics.BitmapFactory;
65
import android.graphics.Canvas;
76
import android.graphics.drawable.BitmapDrawable;
87
import android.graphics.drawable.Drawable;
98
import android.os.Build;
10-
import android.util.Log;
119
import android.util.Pair;
1210
1311
import java.io.File;

3230
3331
    private static Drawable drawable=null, newDrawable=null;
3432
35-
    Dictionary(String n, String descr, String fullDescr, File cacheDir, int fileSize, int entries, String hash) {
36-
        name = n;
37-
        description = descr;
38-
        fullDescription = fullDescr;
33+
    Dictionary(String name, String description, String fullDescription, File cacheDir, int fileSize, int entries, String hash) {
34+
        this.name = name;
35+
        this.description = description;
36+
        this.fullDescription = fullDescription;
3937
        expectedEntries = entries;
4038
        expectedFileSize = fileSize;
4139
        sha256 = hash;

6159
    String getSha256() {
6260
        return sha256;
6361
    }
64-
    abstract public boolean isUpToDate();
62+
    abstract public boolean canUpdate();
6563
6664
    File getFile() {
6765
        return file;

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

1414
import java.net.URL;
1515
import java.util.ArrayList;
1616
import java.util.HashMap;
17-
import java.util.HashSet;
1817
import java.util.List;
1918
import java.util.Locale;
2019
import java.util.Map;

227226
        return dictionaries.get(position);
228227
    }
229228
230-
    public static ArrayList<Dictionary> getDictionnaries(Context context) {
229+
    public static ArrayList<Dictionary> getDictionaries(Context context) {
231230
        if(instance == null)
232231
            instance = new DictionaryFactory(context);
233232

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

3232
    }
3333
3434
    private String mUrl;
35-
    private static String TAG = "FILEDIC";
35+
    private final static String TAG = "FileDictionary";
3636
3737
    FileDictionary(String name, String description, String fullDescription, File cacheDir, String url,
3838
                   int fileSize, int entries, String hash) {

8787
        return false;
8888
    }
8989
90-
    public boolean isUpToDate() {
90+
    public boolean canUpdate() {
9191
        File sha256 = new File(getFile() + ".sha256");
9292
        if(!sha256.exists())
93-
            return true;
93+
            return false;
9494
9595
        try {
9696
            String current = readSha256FromFile(sha256);
9797
            String latest = getSha256();
9898
99-
            return latest.compareTo(current) == 0;
99+
            return latest.compareTo(current) != 0;
100100
        } catch (IOException e) {
101101
            e.printStackTrace();
102-
            return true;
102+
            return false;
103103
        }
104104
    }
105105

221221
        return b.toString();
222222
    }
223223
224-
    static void logHuffman(Huffman h, ArrayList<Boolean> addr) {
224+
    static void logHuffman(Huffman h, ArrayList<Boolean> address) {
225225
        if (h instanceof JMDict.HuffmanValue) {
226-
            Log.d(TAG, "HUFF: " + ((JMDict.HuffmanValue) h).character + " -> " + addr.toString());
226+
            Log.d(TAG, "HUFF: " + ((JMDict.HuffmanValue) h).character + " -> " + address.toString());
227227
        } else if(h instanceof JMDict.HuffmanTree) {
228-
            ArrayList<Boolean> addr_l = new ArrayList<>(addr);
229-
            addr_l.add(false);
230-
            ArrayList<Boolean> addr_r = new ArrayList<>(addr);
231-
            addr_r.add(true);
232-
            logHuffman(((JMDict.HuffmanTree) h).left, addr_l);
233-
            logHuffman(((JMDict.HuffmanTree) h).right, addr_r);
228+
            ArrayList<Boolean> address_l = new ArrayList<>(address);
229+
            address_l.add(false);
230+
            ArrayList<Boolean> address_r = new ArrayList<>(address);
231+
            address_r.add(true);
232+
            logHuffman(((JMDict.HuffmanTree) h).left, address_l);
233+
            logHuffman(((JMDict.HuffmanTree) h).right, address_r);
234234
        }
235235
    }
236236