BarInsta/app/src/main/java/awais/instagrabber/dialogs/KeywordsFilterDialog.java

62 lines
2.3 KiB
Java
Raw Normal View History

2021-03-19 09:19:27 +00:00
package awais.instagrabber.dialogs;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.HashSet;
import awais.instagrabber.adapters.KeywordsFilterAdapter;
import awais.instagrabber.databinding.DialogKeywordsFilterBinding;
import awais.instagrabber.utils.Constants;
import awais.instagrabber.utils.SettingsHelper;
public final class KeywordsFilterDialog extends DialogFragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
DialogKeywordsFilterBinding dialogKeywordsFilterBinding = DialogKeywordsFilterBinding.inflate(inflater, container, false);
final Context context = getContext();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
final RecyclerView recyclerView = dialogKeywordsFilterBinding.recycler;
recyclerView.setLayoutManager(linearLayoutManager);
SettingsHelper settingsHelper = new SettingsHelper(context);
ArrayList<String> items = new ArrayList<>(settingsHelper.getStringSet(Constants.KEYWORD_FILTERS));
KeywordsFilterAdapter adapter = new KeywordsFilterAdapter(context, items);
recyclerView.setAdapter(adapter);
final EditText editText = dialogKeywordsFilterBinding.editText;
dialogKeywordsFilterBinding.addIcon.setOnClickListener(view ->{
final String s = editText.getText().toString();
if(s.isEmpty()) return;
if(items.contains(s)) {
editText.setText("");
return;
}
items.add(s);
settingsHelper.putStringSet(Constants.KEYWORD_FILTERS, new HashSet<>(items));
adapter.notifyDataSetChanged();
});
dialogKeywordsFilterBinding.btnOK.setOnClickListener(view ->{
this.dismiss();
});
return super.onCreateView(inflater, container, savedInstanceState);
}
}