mirror of https://github.com/tasks/tasks
Add EteSyncCalendarSettingsActivity
parent
b83c2fa8b4
commit
965a8a0b19
@ -0,0 +1,11 @@
|
|||||||
|
package org.tasks.etesync;
|
||||||
|
|
||||||
|
import org.tasks.data.CaldavAccount;
|
||||||
|
import org.tasks.ui.CompletableViewModel;
|
||||||
|
|
||||||
|
@SuppressWarnings("WeakerAccess")
|
||||||
|
public class CreateCalendarViewModel extends CompletableViewModel<String> {
|
||||||
|
void createCalendar(EteSyncClient client, CaldavAccount account, String name) {
|
||||||
|
run(() -> client.forAccount(account).makeCollection(name));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
package org.tasks.etesync;
|
||||||
|
|
||||||
|
import org.tasks.data.CaldavAccount;
|
||||||
|
import org.tasks.data.CaldavCalendar;
|
||||||
|
import org.tasks.ui.ActionViewModel;
|
||||||
|
|
||||||
|
@SuppressWarnings("WeakerAccess")
|
||||||
|
public class DeleteCalendarViewModel extends ActionViewModel {
|
||||||
|
void deleteCalendar(EteSyncClient client, CaldavAccount account, CaldavCalendar calendar) {
|
||||||
|
run(() -> client.forAccount(account).deleteCollection(calendar));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
package org.tasks.etesync;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import org.tasks.caldav.BaseCaldavCalendarSettingsActivity;
|
||||||
|
import org.tasks.data.CaldavAccount;
|
||||||
|
import org.tasks.data.CaldavCalendar;
|
||||||
|
import org.tasks.injection.ActivityComponent;
|
||||||
|
|
||||||
|
public class EteSyncCalendarSettingsActivity extends BaseCaldavCalendarSettingsActivity {
|
||||||
|
|
||||||
|
@Inject EteSyncClient client;
|
||||||
|
private CreateCalendarViewModel createCalendarViewModel;
|
||||||
|
private DeleteCalendarViewModel deleteCalendarViewModel;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
createCalendarViewModel = ViewModelProviders.of(this).get(CreateCalendarViewModel.class);
|
||||||
|
deleteCalendarViewModel = ViewModelProviders.of(this).get(DeleteCalendarViewModel.class);
|
||||||
|
|
||||||
|
createCalendarViewModel.observe(this, this::createSuccessful, this::requestFailed);
|
||||||
|
deleteCalendarViewModel.observe(this, this::onDeleted, this::requestFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void createCalendar(CaldavAccount caldavAccount, String name) {
|
||||||
|
createCalendarViewModel.createCalendar(client, caldavAccount, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void deleteCalendar(CaldavAccount caldavAccount, CaldavCalendar caldavCalendar) {
|
||||||
|
deleteCalendarViewModel.deleteCalendar(client, caldavAccount, caldavCalendar);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void inject(ActivityComponent component) {
|
||||||
|
component.inject(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue