Prompt user to sync to drive after first recording

This commit is contained in:
Jimmy Shih
2014-01-08 11:32:04 -08:00
parent 5efd745562
commit 68685828ca
6 changed files with 160 additions and 75 deletions
@@ -46,8 +46,10 @@ public class ChooseAccountDialogFragment extends AbstractMyTracksDialogFragment
/**
* Called when choose account is done.
*
* @param account the account chosen
*/
public void onChooseAccountDone();
public void onChooseAccountDone(String account);
}
public static final String CHOOSE_ACCOUNT_DIALOG_TAG = "chooseAccount";
@@ -73,21 +75,10 @@ public class ChooseAccountDialogFragment extends AbstractMyTracksDialogFragment
accounts = AccountManager.get(fragmentActivity).getAccountsByType(Constants.ACCOUNT_TYPE);
if (accounts.length == 1) {
PreferencesUtils.setString(fragmentActivity, R.string.google_account_key, accounts[0].name);
dismiss();
caller.onChooseAccountDone();
caller.onChooseAccountDone(accounts[0].name);
return;
}
String googleAccount = PreferencesUtils.getString(
fragmentActivity, R.string.google_account_key, PreferencesUtils.GOOGLE_ACCOUNT_DEFAULT);
for (int i = 0; i < accounts.length; i++) {
if (accounts[i].name.equals(googleAccount)) {
dismiss();
caller.onChooseAccountDone();
return;
}
}
}
@Override
@@ -95,23 +86,38 @@ public class ChooseAccountDialogFragment extends AbstractMyTracksDialogFragment
if (accounts.length == 0) {
return new AlertDialog.Builder(getActivity()).setMessage(
R.string.send_google_no_account_message).setTitle(R.string.send_google_no_account_title)
.setPositiveButton(R.string.generic_ok, null).create();
.setPositiveButton(R.string.generic_ok, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
caller.onChooseAccountDone(PreferencesUtils.GOOGLE_ACCOUNT_DEFAULT);
}
}).create();
}
String[] choices = new String[accounts.length];
for (int i = 0; i < accounts.length; i++) {
choices[i] = accounts[i].name;
}
return new AlertDialog.Builder(getActivity()).setNegativeButton(
R.string.generic_cancel, null)
.setPositiveButton(R.string.generic_ok, new OnClickListener() {
R.string.generic_cancel, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int position = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
PreferencesUtils.setString(
getActivity(), R.string.google_account_key, accounts[position].name);
caller.onChooseAccountDone();
caller.onChooseAccountDone(PreferencesUtils.GOOGLE_ACCOUNT_DEFAULT);
}
}).setSingleChoiceItems(choices, 0, null)
.setTitle(R.string.send_google_choose_account_title).create();
}).setPositiveButton(R.string.generic_ok, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int position = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
caller.onChooseAccountDone(accounts[position].name);
}
}).setSingleChoiceItems(choices, 0, null).setTitle(R.string.send_google_choose_account_title)
.create();
}
@Override
public void onCancel(DialogInterface dialog) {
caller.onChooseAccountDone(PreferencesUtils.GOOGLE_ACCOUNT_DEFAULT);
}
}
@@ -16,7 +16,6 @@
package com.google.android.apps.mytracks.fragments;
import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.maps.mytracks.R;
import android.app.Activity;
@@ -24,7 +23,6 @@ import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
/**
* A DialogFrament to enable sync to Google Drive.
@@ -61,17 +59,6 @@ public class EnableSyncDialogFragment extends AbstractMyTracksDialogFragment {
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (PreferencesUtils.getBoolean(
getActivity(), R.string.drive_sync_key, PreferencesUtils.DRIVE_SYNC_DEFAULT)) {
dismiss();
caller.onEnableSyncDone(false);
return;
}
}
@Override
protected Dialog createDialog() {
return new AlertDialog.Builder(getActivity()).setMessage(R.string.sync_drive_enable_message)