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