mirror of https://github.com/tasks/tasks
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.6 KiB
Java
90 lines
2.6 KiB
Java
/**
|
|
* Copyright (c) 2012 Todoroo Inc
|
|
*
|
|
* See the file "LICENSE" for the full license governing this code.
|
|
*/
|
|
package com.todoroo.astrid.gtasks;
|
|
|
|
import android.content.DialogInterface;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
|
|
import com.timsu.astrid.R;
|
|
import com.todoroo.andlib.service.Autowired;
|
|
import com.todoroo.andlib.service.DependencyInjectionService;
|
|
import com.todoroo.andlib.utility.DialogUtilities;
|
|
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
|
|
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
|
|
import com.todoroo.astrid.gtasks.sync.GtasksSyncV2Provider;
|
|
import com.todoroo.astrid.sync.SyncProviderPreferences;
|
|
import com.todoroo.astrid.sync.SyncProviderUtilities;
|
|
|
|
/**
|
|
* Displays synchronization preferences and an action panel so users can
|
|
* initiate actions from the menu.
|
|
*
|
|
* @author Tim Su <tim@todoroo.com>
|
|
*
|
|
*/
|
|
public class GtasksPreferences extends SyncProviderPreferences {
|
|
|
|
@Autowired private GtasksPreferenceService gtasksPreferenceService;
|
|
@Autowired private ActFmPreferenceService actFmPreferenceService;
|
|
|
|
public GtasksPreferences() {
|
|
super();
|
|
DependencyInjectionService.getInstance().inject(this);
|
|
}
|
|
|
|
@Override
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
}
|
|
|
|
@Override
|
|
public int getPreferenceResource() {
|
|
return R.xml.preferences_gtasks;
|
|
}
|
|
|
|
@Override
|
|
public void startSync() {
|
|
if (!gtasksPreferenceService.isLoggedIn()) {
|
|
if (actFmPreferenceService.isLoggedIn()) {
|
|
DialogUtilities.okCancelDialog(this, getString(R.string.DLG_warning), getString(R.string.gtasks_dual_sync_warning),
|
|
new DialogInterface.OnClickListener() {
|
|
@Override
|
|
public void onClick(DialogInterface dialog, int which) {
|
|
startLogin();
|
|
}
|
|
}, null);
|
|
} else {
|
|
startLogin();
|
|
}
|
|
} else {
|
|
setResult(RESULT_CODE_SYNCHRONIZE);
|
|
finish();
|
|
}
|
|
}
|
|
|
|
private void startLogin() {
|
|
Intent intent = new Intent(this, GtasksLoginActivity.class);
|
|
startActivityForResult(intent, REQUEST_LOGIN);
|
|
}
|
|
|
|
@Override
|
|
public void logOut() {
|
|
GtasksSyncV2Provider.getInstance().signOut();
|
|
}
|
|
|
|
@Override
|
|
public SyncProviderUtilities getUtilities() {
|
|
return gtasksPreferenceService;
|
|
}
|
|
|
|
@Override
|
|
protected void onPause() {
|
|
super.onPause();
|
|
new GtasksBackgroundService().scheduleService();
|
|
}
|
|
}
|