From ece61a7254157c4d28a35ca7d5edb4d0dcd2018f Mon Sep 17 00:00:00 2001 From: yunusemreyakisan Date: Tue, 4 Apr 2023 15:11:23 +0300 Subject: [PATCH] changed collections sort method & pinned notes integration --- .../com/app/edithormobile/model/NoteModel.java | 8 +++++++- .../edithormobile/view/detail/NoteDetail.java | 7 +------ .../viewmodel/home/NotePageViewModel.java | 17 +++++++++++++---- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/app/edithormobile/model/NoteModel.java b/app/src/main/java/com/app/edithormobile/model/NoteModel.java index e400d9d..c7af064 100644 --- a/app/src/main/java/com/app/edithormobile/model/NoteModel.java +++ b/app/src/main/java/com/app/edithormobile/model/NoteModel.java @@ -133,7 +133,13 @@ public int hashCode() { //En yeniden en eskiye sıralama @Override public int compareTo(NoteModel o) { - return o.date.compareTo(this.date); + if (this.isPinned == o.isPinned) { + return 0; + } else if (this.isPinned) { + return 1; + } else { + return -1; + } } } diff --git a/app/src/main/java/com/app/edithormobile/view/detail/NoteDetail.java b/app/src/main/java/com/app/edithormobile/view/detail/NoteDetail.java index 3a947c8..db6d206 100644 --- a/app/src/main/java/com/app/edithormobile/view/detail/NoteDetail.java +++ b/app/src/main/java/com/app/edithormobile/view/detail/NoteDetail.java @@ -212,11 +212,6 @@ public void onCancelled(@NonNull DatabaseError databaseError) { public void buttonTasks() { //Button Back binding.btnDetailBack.setOnClickListener(v -> { - if (imageURL == null) { - - Toast.makeText(this, "Image url bos", Toast.LENGTH_SHORT).show(); - } - //Eğer not aynı kaldıysa olusturma zamanını guncellemesin. if (!notBasligi.equals(binding.txtDetailTitle.getText().toString())) { olusturma_zamani = util.olusturmaZamaniGetir(getApplicationContext()); @@ -520,7 +515,7 @@ public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { progressDialog.dismiss(); binding.NoteDetailImage.setVisibility(View.VISIBLE); Toast.makeText(NoteDetail.this, "Yüklendi", Toast.LENGTH_SHORT).show(); - // Log.e("Image URL", taskSnapshot.toString()); + //Log.e("Image URL", taskSnapshot.toString()); //Image Download link ref.getDownloadUrl().addOnCompleteListener(new OnCompleteListener() { @Override diff --git a/app/src/main/java/com/app/edithormobile/viewmodel/home/NotePageViewModel.java b/app/src/main/java/com/app/edithormobile/viewmodel/home/NotePageViewModel.java index 280d797..e545b30 100644 --- a/app/src/main/java/com/app/edithormobile/viewmodel/home/NotePageViewModel.java +++ b/app/src/main/java/com/app/edithormobile/viewmodel/home/NotePageViewModel.java @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.Set; public class NotePageViewModel extends ViewModel { @@ -109,13 +110,16 @@ public void notesEventChangeListener(ActivityNotePageBinding binding, NoteAdapte binding.progressBar.setVisibility(View.VISIBLE); Collections.sort(notes); Set pinnedNotes = new ArraySet<>();; + + notes.addAll(0, pinnedNotes); mDatabaseReference.addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(@NonNull DataSnapshot dataSnapshot, String s) { NoteModel model = dataSnapshot.getValue(NoteModel.class); notes.add(model); noteAdapter.notifyItemInserted(notes.size()); - Collections.sort(notes); + Comparator tersSiralama = Collections.reverseOrder(); + Collections.sort(notes, tersSiralama); noteAdapter.notifyDataSetChanged(); bosKontrolu(binding, noteAdapter, mDatabaseReference); Log.d("note size", String.valueOf(notes.size())); @@ -133,8 +137,10 @@ public void onChildAdded(@NonNull DataSnapshot dataSnapshot, String s) { public void onChildChanged(@NonNull DataSnapshot dataSnapshot, String s) { //Update bosKontrolu(binding, noteAdapter, mDatabaseReference); - Collections.sort(notes); + Comparator tersSiralama = Collections.reverseOrder(); + Collections.sort(notes, tersSiralama); noteAdapter.notifyDataSetChanged(); + Log.e("Pinned notes: ", pinnedNotes.toString()); } @@ -143,16 +149,19 @@ public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) { //Intent bosKontrolu(binding, noteAdapter, mDatabaseReference); noteAdapter.notifyItemRemoved(notes.size()); - Collections.sort(notes); + Comparator tersSiralama = Collections.reverseOrder(); + Collections.sort(notes, tersSiralama); noteAdapter.notifyDataSetChanged(); Log.d("note size removed", String.valueOf(notes.size())); + Log.e("Pinned notes: ", pinnedNotes.toString()); } @Override public void onChildMoved(@NonNull DataSnapshot dataSnapshot, String s) { //Updated - Collections.sort(notes); + Comparator tersSiralama = Collections.reverseOrder(); + Collections.sort(notes, tersSiralama); noteAdapter.notifyDataSetChanged(); }