blob: 3ca3be3d47d497983081016d0bd3d44c7aa50aa9 (
plain)
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
package it.niedermann.nextcloud.deck.ui;
import android.arch.lifecycle.ViewModelProviders;
import android.databinding.DataBindingUtil;
import android.os.Bundle;
import com.google.android.material.tabs.TabLayout;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.EditText;
import android.widget.TextView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.SupportUtil;
import it.niedermann.nextcloud.deck.databinding.ActivityEditBinding;
import it.niedermann.nextcloud.deck.model.full.FullCard;
import it.niedermann.nextcloud.deck.model.viewmodel.FullCardViewModel;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import it.niedermann.nextcloud.deck.ui.card.CardTabAdapter;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT_ID;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_LOCAL_ID;
public class EditActivity extends AppCompatActivity {
SyncManager syncManager;
@BindView(R.id.title)
EditText title;
@BindView(R.id.timestamps)
TextView timestamps;
@BindView(R.id.tab_layout)
TabLayout tabLayout;
@BindView(R.id.pager)
ViewPager pager;
FullCardViewModel fullCardViewModel;
private Unbinder unbinder;
private long accountId;
private long localId;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
fullCardViewModel = ViewModelProviders.of(this)
.get(FullCardViewModel.class);
ActivityEditBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_edit);
// Assign the component to a property in the binding class.
binding.setLifecycleOwner(this);
binding.setEditmodel(fullCardViewModel);
//setContentView(R.layout.activity_edit);
unbinder = ButterKnife.bind(this);
Bundle extras = getIntent().getExtras();
if (extras != null) {
accountId = extras.getLong(BUNDLE_KEY_ACCOUNT_ID);
localId = extras.getLong(BUNDLE_KEY_LOCAL_ID);
syncManager = new SyncManager(getApplicationContext(), this);
fullCardViewModel.fullCard = syncManager.getCardByLocalId(accountId, localId);
fullCardViewModel.fullCard.observe(EditActivity.this, (FullCard card) -> {
if (card != null) {
if (card.getCard().getCreatedAt() != null
&& card.getCard().getLastModified() != null) {
timestamps.setText(
getString(
R.string.modified_created_time,
SupportUtil.getRelativeDateTimeString(
this,
card.getCard().getLastModified().getTime()),
SupportUtil.getRelativeDateTimeString(
this,
card.getCard().getCreatedAt().getTime())
)
);
}
}
});
} else {
throw new IllegalArgumentException("No localId argument");
}
setupViewPager();
}
private void setupViewPager() {
tabLayout.removeAllTabs();
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
CardTabAdapter adapter = new CardTabAdapter(getSupportFragmentManager(), accountId, localId);
pager.setAdapter(adapter);
tabLayout.setupWithViewPager(pager);
}
@Override
protected void onPause() {
// TODO ????
syncManager.updateCard(fullCardViewModel.fullCard.getValue().card);
super.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
unbinder.unbind();
}
}
|