store credentials for gtasks since token may be expired or revoked

pull/14/head
Tim Su 14 years ago
parent 3a3f6f609f
commit 50b10b7b5b

@ -22,6 +22,8 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- for analytics -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- for google tasks -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- ============================================== Exported Permissions = -->

@ -27,4 +27,13 @@ public class GtasksPreferenceService extends SyncProviderUtilities {
/** GTasks user's default list id */
public static final String PREF_DEFAULT_LIST = IDENTIFIER + "_defaultlist"; //$NON-NLS-1$
/** GTasks user name */
public static final String PREF_USER_NAME = IDENTIFIER + "_user"; //$NON-NLS-1$
/** GTasks user password */
public static final String PREF_PASSWORD = IDENTIFIER + "_password"; //$NON-NLS-1$
/** GTasks is apps for domain boolean */
public static final String PREF_IS_DOMAIN = IDENTIFIER + "_domain"; //$NON-NLS-1$
}

@ -44,6 +44,7 @@ import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.gtasks.GtasksBackgroundService;
import com.todoroo.astrid.gtasks.GtasksPreferenceService;
import com.todoroo.astrid.service.StatisticsService;
@ -128,6 +129,10 @@ public class GtasksLoginActivity extends Activity {
String token = gcm.getToken();
gtasksPreferenceService.setToken(token);
StatisticsService.reportEvent("gtasks-login");
Preferences.setString(GtasksPreferenceService.PREF_USER_NAME, email);
Preferences.setString(GtasksPreferenceService.PREF_PASSWORD, password);
Preferences.setBoolean(GtasksPreferenceService.PREF_IS_DOMAIN, isDomain);
synchronize();
} catch (GoogleLoginException e) {
errorMessage.append(getString(R.string.gtasks_GLA_errorAuth));

@ -156,7 +156,10 @@ public class GtasksSyncProvider extends SyncProvider<GtasksTaskContainer> {
Log.e("astrid-sync", "No token, unable to sync");
return;
} else {
connectionManager = new GoogleConnectionManager(authToken);
connectionManager = new GoogleConnectionManager(
Preferences.getStringValue(GtasksPreferenceService.PREF_USER_NAME),
Preferences.getStringValue(GtasksPreferenceService.PREF_PASSWORD),
!Preferences.getBoolean(GtasksPreferenceService.PREF_IS_DOMAIN, false));
}
taskService = new GoogleTaskService(connectionManager);

Loading…
Cancel
Save