Add clear button in radical selection

Julien LepillerMon Aug 22 19:41:33+0200 2022

ecaa700

Add clear button in radical selection

CHANGELOG.md

77
Here is a list of changes that are not yet part of a release, but that will
88
appear in next release.
99
10+
### Features
11+
12+
* New button in radical selection window to clear all radicals at once.
13+
1014
Changes in 0.5.2
1115
----------------
1216

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

4343
    private ProgressBar radical_load;
4444
4545
    final List<String> selected = new ArrayList<>();
46+
    final List<ToggleButton> buttons = new ArrayList<>();
4647
4748
    RadicalDict dictionary;
4849
    private int radSize = 122;

6061
6162
        Button close_button = getView().findViewById(R.id.close_button);
6263
        Button help_button = getView().findViewById(R.id.help_button);
64+
        Button clear_button = getView().findViewById(R.id.clear_button);
6365
        kanji_row1 = getView().findViewById(R.id.kanji_row1);
6466
        kanji_row2 = getView().findViewById(R.id.kanji_row2);
6567
        radical_table = getView().findViewById(R.id.radical_table);

9092
            getParentFragmentManager().setFragmentResult("selectRadicals", result);
9193
        });
9294
95+
        clear_button.setOnClickListener((View v) -> {
96+
            selected.clear();
97+
            for(ToggleButton b: buttons)
98+
                if(b.isChecked())
99+
                    b.toggle();
100+
            new Thread(dictionarySearch).start();
101+
        });
102+
93103
        RadicalSelectorViewModel viewModel = new ViewModelProvider(requireActivity()).get(RadicalSelectorViewModel.class);
94104
        viewModel.getPreferences().observe(getViewLifecycleOwner(), pref -> {
95105
            if (pref.dictionary != null) {

217227
218228
                    new Thread(dictionarySearch).start();
219229
                });
230+
                buttons.add(radicalButton);
220231
                box.addView(radicalButton);
221232
            }
222233

app/src/main/res/layout/content_radicals.xml

5555
        android:layout_width="match_parent"
5656
        android:layout_height="wrap_content">
5757
58+
        <Button
59+
            android:id="@+id/clear_button"
60+
            android:layout_width="wrap_content"
61+
            android:layout_height="wrap_content"
62+
            android:text="@string/clear" />
63+
5864
        <Space
5965
            android:layout_width="0dp"
6066
            android:layout_height="wrap_content"

app/src/main/res/values-fr/strings.xml

2424
    <string name="kanji_description">??criture</string>
2525
    <string name="close">fermer</string>
2626
    <string name="help">aide</string>
27+
    <string name="clear">effacer</string>
2728
    <string name="dictionary_size_mb">Taille r??elle : %d???Mo</string>
2829
    <string name="dictionary_size_kb">Taille r??elle : %d???Ko</string>
2930
    <string name="dictionary_size_b">Taille r??elle : %d???o</string>

app/src/main/res/values/strings.xml

2424
    <string name="kanji_description">Writing</string>
2525
    <string name="close">close</string>
2626
    <string name="help">help</string>
27+
    <string name="clear">clear</string>
2728
    <string name="other">other</string>
2829
2930
    <string name="dictionary_size_mb">Actual size: %dMB</string>