That fuck shit the fascists are using
1package org.tm.archive.delete;
2
3import android.os.Bundle;
4import android.text.Editable;
5import android.view.LayoutInflater;
6import android.view.View;
7import android.view.ViewGroup;
8import android.widget.EditText;
9
10import androidx.annotation.NonNull;
11import androidx.annotation.Nullable;
12import androidx.appcompat.widget.Toolbar;
13import androidx.fragment.app.DialogFragment;
14import androidx.fragment.app.FragmentManager;
15import androidx.lifecycle.ViewModelProvider;
16import androidx.recyclerview.widget.RecyclerView;
17
18import org.tm.archive.R;
19import org.tm.archive.util.text.AfterTextChanged;
20
21public class DeleteAccountCountryPickerFragment extends DialogFragment {
22
23 private DeleteAccountViewModel viewModel;
24
25 public static void show(@NonNull FragmentManager fragmentManager) {
26 new DeleteAccountCountryPickerFragment().show(fragmentManager, null);
27 }
28
29 @Override
30 public void onCreate(@Nullable Bundle savedInstanceState) {
31 super.onCreate(savedInstanceState);
32
33 setStyle(STYLE_NO_FRAME, R.style.Signal_DayNight_Dialog_FullScreen);
34 }
35
36 @Override
37 public @Nullable View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
38 return inflater.inflate(R.layout.delete_account_country_picker, container, false);
39 }
40
41 @Override
42 public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
43 Toolbar toolbar = view.findViewById(R.id.delete_account_country_picker_toolbar);
44 EditText searchFilter = view.findViewById(R.id.delete_account_country_picker_filter);
45 RecyclerView recycler = view.findViewById(R.id.delete_account_country_picker_recycler);
46 DeleteAccountCountryPickerAdapter adapter = new DeleteAccountCountryPickerAdapter(this::onCountryPicked);
47
48 recycler.setAdapter(adapter);
49
50 toolbar.setNavigationOnClickListener(unused -> dismiss());
51
52 viewModel = new ViewModelProvider(requireActivity()).get(DeleteAccountViewModel.class);
53 viewModel.getFilteredCountries().observe(getViewLifecycleOwner(), adapter::submitList);
54
55 searchFilter.addTextChangedListener(new AfterTextChanged(this::onQueryChanged));
56 }
57
58 private void onQueryChanged(@NonNull Editable e) {
59 viewModel.onQueryChanged(e.toString());
60 }
61
62 private void onCountryPicked(@NonNull Country country) {
63 viewModel.onRegionSelected(country.getRegion());
64 dismissAllowingStateLoss();
65 }
66}