-
Notifications
You must be signed in to change notification settings - Fork 0
/
EditNote.java
102 lines (76 loc) · 3.51 KB
/
EditNote.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package net.smallacademy.firenote.note;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.FirebaseFirestore;
import net.smallacademy.firenote.MainActivity;
import net.smallacademy.firenote.R;
import java.util.HashMap;
import java.util.Map;
public class EditNote extends AppCompatActivity {
Intent data;
EditText editNoteTitle,editNoteContent;
FirebaseFirestore fStore;
ProgressBar spinner;
FirebaseUser user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_note);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
fStore = fStore.getInstance();
spinner = findViewById(R.id.progressBar2);
user = FirebaseAuth.getInstance().getCurrentUser();
data = getIntent();
editNoteContent = findViewById(R.id.editNoteContent);
editNoteTitle = findViewById(R.id.editNoteTitle);
String noteTitle = data.getStringExtra("title");
String noteContent = data.getStringExtra("content");
editNoteTitle.setText(noteTitle);
editNoteContent.setText(noteContent);
FloatingActionButton fab = findViewById(R.id.saveEditedNote);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String nTitle = editNoteTitle.getText().toString();
String nContent = editNoteContent.getText().toString();
if(nTitle.isEmpty() || nContent.isEmpty()){
Toast.makeText(EditNote.this, "Can not Save note with Empty Field.", Toast.LENGTH_SHORT).show();
return;
}
spinner.setVisibility(View.VISIBLE);
// save note
DocumentReference docref = fStore.collection("notes").document(user.getUid()).collection("myNotes").document(data.getStringExtra("noteId"));
Map<String,Object> note = new HashMap<>();
note.put("title",nTitle);
note.put("content",nContent);
docref.update(note).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(EditNote.this, "Note Saved.", Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(EditNote.this, "Error, Try again.", Toast.LENGTH_SHORT).show();
spinner.setVisibility(View.VISIBLE);
}
});
}
});
}
}