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
|
package it.niedermann.owncloud.notes;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.lifecycle.LiveData;
import it.niedermann.owncloud.notes.main.MainActivity;
import it.niedermann.owncloud.notes.persistence.entity.Note;
import it.niedermann.owncloud.notes.shared.util.ShareUtil;
public class AppendToNoteActivity extends MainActivity {
private static final String TAG = AppendToNoteActivity.class.getSimpleName();
String receivedText = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
receivedText = ShareUtil.extractSharedText(getIntent());
@Nullable final ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
getSupportActionBar().setTitle(R.string.append_to_note);
} else {
Log.e(TAG, "SupportActionBar is null. Expected toolbar to be present to set a title.");
}
binding.activityNotesListView.searchToolbar.setSubtitle(receivedText);
}
@Override
public void onNoteClick(int position, View v) {
if (!TextUtils.isEmpty(receivedText)) {
final var fullNote$ = mainViewModel.getFullNote$(((Note) adapter.getItem(position)).getId());
fullNote$.observe(this, (fullNote) -> {
fullNote$.removeObservers(this);
final String oldContent = fullNote.getContent();
String newContent;
if (!TextUtils.isEmpty(oldContent)) {
newContent = oldContent + "\n\n" + receivedText;
} else {
newContent = receivedText;
}
final var updateLiveData = mainViewModel.updateNoteAndSync(fullNote, newContent, null);
updateLiveData.observe(this, (next) -> {
Toast.makeText(this, getString(R.string.added_content, receivedText), Toast.LENGTH_SHORT).show();
updateLiveData.removeObservers(this);
});
});
} else {
Toast.makeText(this, R.string.shared_text_empty, Toast.LENGTH_SHORT).show();
}
finish();
}
@Override
public void onNoteActionsClick(int position, View v) {
// TODO
Toast.makeText(v.getContext(), "Not implemented yet", Toast.LENGTH_SHORT).show();
}
}
|