Skip to content

Commit 7890330

Browse files
committed
Feature update(delete folders)
- Added option to properly allow deletion of created folders
1 parent 8b3d3be commit 7890330

3 files changed

Lines changed: 20 additions & 18 deletions

File tree

app/src/main/java/com/btn/pronotes/Adapters/FolderListAdapter.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,30 +39,34 @@ public FolderViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewTy
3939

4040
@Override
4141
public void onBindViewHolder(@NonNull FolderViewHolder holder, int position) {
42+
Folder folder = list.get(position);
4243

43-
holder.binding.tvName.setText(list.get(position).getName());
44-
if (list.get(position).getId() != 1) {
45-
int count = RoomDB.getInstance(context).mainDAO().getNotesCount(list.get(position).getId());
46-
holder.binding.tvCount.setText(String.valueOf(count));
47-
} else {
48-
int count = RoomDB.getInstance(context).mainDAO().getNotesCount();
49-
holder.binding.tvCount.setText(String.valueOf(count));
50-
}
51-
if (list.get(position).isSelected()) {
44+
holder.binding.tvName.setText(folder.getName()); // Change here
45+
int count = folder.getId() != 1 ?
46+
RoomDB.getInstance(context).mainDAO().getNotesCount(folder.getId()) :
47+
RoomDB.getInstance(context).mainDAO().getNotesCount();
48+
holder.binding.tvCount.setText(String.valueOf(count));
49+
50+
if (folder.isSelected()) {
5251
holder.binding.ivCurrentIcon.setVisibility(View.VISIBLE);
5352
holder.binding.tvName.setTextColor(ContextCompat.getColor(context, R.color.white));
5453
holder.binding.tvCount.setTextColor(ContextCompat.getColor(context, R.color.white));
5554
holder.binding.card.setStrokeWidth(1);
56-
5755
} else {
5856
holder.binding.tvName.setTextColor(ContextCompat.getColor(context, R.color.grey1));
5957
holder.binding.tvCount.setTextColor(ContextCompat.getColor(context, R.color.grey1));
6058
holder.binding.ivCurrentIcon.setVisibility(View.INVISIBLE);
6159
holder.binding.card.setStrokeWidth(0);
62-
6360
}
6461

65-
holder.binding.card.setOnClickListener(v -> listener.onClick(list.get(position)));
62+
holder.binding.card.setOnClickListener(v -> listener.onClick(folder));
63+
64+
// Handle delete button click
65+
holder.binding.deletebutton.setOnClickListener(v -> {
66+
RoomDB.getInstance(context).mainDAO().deleteFolder(folder);
67+
list.remove(position);
68+
notifyItemRemoved(position);
69+
});
6670
}
6771

6872
public void setList(List<Folder> list) {
@@ -83,11 +87,8 @@ class FolderViewHolder extends RecyclerView.ViewHolder {
8387

8488
RvItemFolderBinding binding;
8589

86-
public FolderViewHolder(@NonNull RvItemFolderBinding binding) {
90+
public FolderViewHolder(@NonNull RvItemFolderBinding binding) { // Change here
8791
super(binding.getRoot());
88-
8992
this.binding = binding;
90-
91-
9293
}
9394
}

app/src/main/java/com/btn/pronotes/Database/MainDAO.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ public interface MainDAO {
8484
@Query("UPDATE folder SET count = :count WHERE ID = :id")
8585
void setFolderItemCount(int id, int count);
8686

87+
@Delete
88+
void deleteFolder(Folder folder);
89+
8790
// media
8891
@Insert(onConflict = REPLACE)
8992
void insertMedia(List<Media> mediaList);

app/src/main/java/com/btn/pronotes/FolderActivity.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ protected void onCreate(Bundle savedInstanceState) {
3737
setContentView(binding.getRoot());
3838

3939
database = RoomDB.getInstance(this);
40-
4140
btnListeners();
4241
setupFolderRecyclerView();
4342

@@ -71,7 +70,6 @@ protected void onCreate(Bundle savedInstanceState) {
7170
private void setupFolderRecyclerView() {
7271

7372
List<Folder> folders = new ArrayList<>(database.mainDAO().getAllFolder());
74-
7573
folderListAdapter = new FolderListAdapter(this, folders, folder -> {
7674

7775
if (!isChangeFolderEnabled) {

0 commit comments

Comments
 (0)