Add AddEmail after choosing an account.

This commit is contained in:
Jimmy Shih
2013-02-15 13:05:54 -08:00
parent d1db798f16
commit 15a2024614
16 changed files with 185 additions and 107 deletions
@@ -22,9 +22,9 @@ limitations under the License.
android:orientation="vertical"
android:padding="8dp" >
<MultiAutoCompleteTextView
android:hint="@string/share_track_add_people_hint"
android:hint="@string/share_track_add_emails_hint"
android:completionThreshold="1"
android:id="@+id/add_people"
android:id="@+id/add_emails"
android:imeOptions="actionDone"
android:layout_height="wrap_content"
android:layout_width="match_parent"
+4 -4
View File
@@ -2220,11 +2220,11 @@ limitations under the License.
</string>
<!-- Share Track -->
<string name="share_track_add_people"
translation_description="The dialog title for adding people to share a track with.">
Add people
<string name="share_track_add_emails_title"
translation_description="The dialog title for adding emails to share a track with.">
Add emails
</string>
<string name="share_track_add_people_hint"
<string name="share_track_add_emails_hint"
translation_description="The hint in the auto complete text box for entering email addresses.">
Enter email addresses
</string>
@@ -144,7 +144,7 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity
}
@Override
public void onMarkerDeleted() {
public void onDeleteOneMarkerDone() {
runOnUiThread(new Runnable() {
@Override
public void run() {
@@ -306,7 +306,7 @@ public class MarkerListActivity extends AbstractMyTracksActivity implements Dele
}
@Override
public void onMarkerDeleted() {
public void onDeleteOneMarkerDone() {
// Do nothing
}
}
@@ -24,13 +24,14 @@ import com.google.android.apps.mytracks.content.SearchEngineProvider;
import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.content.Waypoint.WaypointType;
import com.google.android.apps.mytracks.fragments.AddPeopleDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment.ConfirmCaller;
import com.google.android.apps.mytracks.fragments.DeleteOneMarkerDialogFragment;
import com.google.android.apps.mytracks.fragments.DeleteOneMarkerDialogFragment.DeleteOneMarkerCaller;
import com.google.android.apps.mytracks.fragments.DeleteOneTrackDialogFragment;
import com.google.android.apps.mytracks.fragments.DeleteOneTrackDialogFragment.DeleteOneTrackCaller;
import com.google.android.apps.mytracks.io.sendtogoogle.AccountChooserActivity;
import com.google.android.apps.mytracks.io.sendtogoogle.SendRequest;
import com.google.android.apps.mytracks.services.MyTracksLocationManager;
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
import com.google.android.apps.mytracks.stats.TripStatistics;
@@ -510,11 +511,15 @@ public class SearchListActivity extends AbstractMyTracksActivity
}
@Override
public void onConfirmed(int confirmId, long trackId) {
public void onConfirmDone(int confirmId, long trackId) {
switch (confirmId) {
case R.string.confirm_share_drive_key:
AddPeopleDialogFragment.newInstance(trackId)
.show(getSupportFragmentManager(), AddPeopleDialogFragment.ADD_PEOPLE_DIALOG_TAG);
SendRequest sendRequest = new SendRequest(trackId);
sendRequest.setSendDrive(true);
sendRequest.setDriveShare(true);
Intent intent = IntentUtils.newIntent(this, AccountChooserActivity.class)
.putExtra(SendRequest.SEND_REQUEST_KEY, sendRequest);
startActivity(intent);
break;
default:
}
@@ -526,7 +531,7 @@ public class SearchListActivity extends AbstractMyTracksActivity
}
@Override
public void onTrackDeleted() {
public void onDeleteOneTrackDone() {
runOnUiThread(new Runnable() {
@Override
public void run() {
@@ -536,7 +541,7 @@ public class SearchListActivity extends AbstractMyTracksActivity
}
@Override
public void onMarkerDeleted() {
public void onDeleteOneMarkerDone() {
runOnUiThread(new Runnable() {
@Override
public void run() {
@@ -21,7 +21,6 @@ import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.TrackDataHub;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.content.WaypointCreationRequest;
import com.google.android.apps.mytracks.fragments.AddPeopleDialogFragment;
import com.google.android.apps.mytracks.fragments.ChartFragment;
import com.google.android.apps.mytracks.fragments.ChooseActivityDialogFragment;
import com.google.android.apps.mytracks.fragments.ChooseUploadServiceDialogFragment;
@@ -35,6 +34,7 @@ import com.google.android.apps.mytracks.fragments.MyTracksMapFragment;
import com.google.android.apps.mytracks.fragments.StatsFragment;
import com.google.android.apps.mytracks.io.file.SaveActivity;
import com.google.android.apps.mytracks.io.file.TrackFileFormat;
import com.google.android.apps.mytracks.io.sendtogoogle.AccountChooserActivity;
import com.google.android.apps.mytracks.io.sendtogoogle.SendRequest;
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
import com.google.android.apps.mytracks.settings.SettingsActivity;
@@ -430,11 +430,12 @@ public class TrackDetailActivity extends AbstractMyTracksActivity
}
@Override
public void onConfirmed(int confirmId, long confirmTrackId) {
public void onConfirmDone(int confirmId, long confirmTrackId) {
Intent intent;
switch (confirmId) {
case R.string.confirm_play_earth_key:
AnalyticsUtils.sendPageViews(this, "/action/play");
Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
intent = IntentUtils.newIntent(this, SaveActivity.class)
.putExtra(SaveActivity.EXTRA_TRACK_ID, confirmTrackId)
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.KML)
.putExtra(SaveActivity.EXTRA_PLAY_TRACK, true);
@@ -446,8 +447,12 @@ public class TrackDetailActivity extends AbstractMyTracksActivity
getSupportFragmentManager(), ChooseActivityDialogFragment.CHOOSE_ACTIVITY_DIALOG_TAG);
break;
case R.string.confirm_share_drive_key:
AddPeopleDialogFragment.newInstance(confirmTrackId)
.show(getSupportFragmentManager(), AddPeopleDialogFragment.ADD_PEOPLE_DIALOG_TAG);
SendRequest sendRequest = new SendRequest(trackId);
sendRequest.setSendDrive(true);
sendRequest.setDriveShare(true);
intent = IntentUtils.newIntent(this, AccountChooserActivity.class)
.putExtra(SendRequest.SEND_REQUEST_KEY, sendRequest);
startActivity(intent);
break;
default:
}
@@ -459,7 +464,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity
}
@Override
public void onTrackDeleted() {
public void onDeleteOneTrackDone() {
runOnUiThread(new Runnable() {
@Override
public void run() {
@@ -23,7 +23,6 @@ import com.google.android.apps.mytracks.content.TrackDataListener;
import com.google.android.apps.mytracks.content.TrackDataType;
import com.google.android.apps.mytracks.content.TracksColumns;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.fragments.AddPeopleDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment.ConfirmCaller;
import com.google.android.apps.mytracks.fragments.DeleteAllTrackDialogFragment;
@@ -34,6 +33,8 @@ import com.google.android.apps.mytracks.fragments.WelcomeDialogFragment;
import com.google.android.apps.mytracks.io.file.ImportActivity;
import com.google.android.apps.mytracks.io.file.SaveActivity;
import com.google.android.apps.mytracks.io.file.TrackFileFormat;
import com.google.android.apps.mytracks.io.sendtogoogle.AccountChooserActivity;
import com.google.android.apps.mytracks.io.sendtogoogle.SendRequest;
import com.google.android.apps.mytracks.io.sync.SyncUtils;
import com.google.android.apps.mytracks.services.ITrackRecordingService;
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
@@ -632,11 +633,15 @@ public class TrackListActivity extends FragmentActivity
}
@Override
public void onConfirmed(int confirmId, long trackId) {
public void onConfirmDone(int confirmId, long trackId) {
switch (confirmId) {
case R.string.confirm_share_drive_key:
AddPeopleDialogFragment.newInstance(trackId)
.show(getSupportFragmentManager(), AddPeopleDialogFragment.ADD_PEOPLE_DIALOG_TAG);
SendRequest sendRequest = new SendRequest(trackId);
sendRequest.setSendDrive(true);
sendRequest.setDriveShare(true);
Intent intent = IntentUtils.newIntent(this, AccountChooserActivity.class)
.putExtra(SendRequest.SEND_REQUEST_KEY, sendRequest);
startActivity(intent);
break;
default:
}
@@ -648,7 +653,7 @@ public class TrackListActivity extends FragmentActivity
}
@Override
public void onTrackDeleted() {
public void onDeleteOneTrackDone() {
// Do nothing
}
@@ -16,16 +16,12 @@
package com.google.android.apps.mytracks.fragments;
import com.google.android.apps.mytracks.io.sendtogoogle.AccountChooserActivity;
import com.google.android.apps.mytracks.io.sendtogoogle.SendRequest;
import com.google.android.apps.mytracks.util.IntentUtils;
import com.google.android.maps.mytracks.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
@@ -38,35 +34,62 @@ import android.widget.FilterQueryProvider;
import android.widget.MultiAutoCompleteTextView;
/**
* A DialogFragment to add people to share a track with.
* A DialogFragment to add emails.
*
* @author Jimmy Shih
*/
public class AddPeopleDialogFragment extends DialogFragment {
public class AddEmailsDialogFragment extends DialogFragment {
public static final String ADD_PEOPLE_DIALOG_TAG = "addPeopleDialog";
/**
* Interface for caller of this dialog fragment.
*
* @author Jimmy Shih
*/
public interface AddEmailsCaller {
/**
* Called when add emails is done.
*
* @param emails the added emails
*/
public void onAddEmailsDone(String emails);
}
public static final String ADD_EMAILS_DIALOG_TAG = "addEmailsDialog";
private static final String KEY_TRACK_ID = "trackId";
public static AddPeopleDialogFragment newInstance(long trackId) {
public static AddEmailsDialogFragment newInstance(long trackId) {
Bundle bundle = new Bundle();
bundle.putLong(KEY_TRACK_ID, trackId);
AddPeopleDialogFragment addPeopleDialogFragment = new AddPeopleDialogFragment();
AddEmailsDialogFragment addPeopleDialogFragment = new AddEmailsDialogFragment();
addPeopleDialogFragment.setArguments(bundle);
return addPeopleDialogFragment;
}
private MultiAutoCompleteTextView multiAutoCompleteTextView;
private AddEmailsCaller caller;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
caller = (AddEmailsCaller) activity;
} catch (ClassCastException e) {
throw new ClassCastException(
activity.toString() + " must implement " + AddEmailsCaller.class.getSimpleName());
}
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
FragmentActivity activity = getActivity();
View view = activity.getLayoutInflater().inflate(R.layout.add_people, null);
multiAutoCompleteTextView = (MultiAutoCompleteTextView) view.findViewById(R.id.add_people);
View view = activity.getLayoutInflater().inflate(R.layout.add_emails, null);
multiAutoCompleteTextView = (MultiAutoCompleteTextView) view.findViewById(R.id.add_emails);
multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(), R.layout.add_people_item,
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(), R.layout.add_emails_item,
getCursor(getActivity(), null), new String[] {
ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Email.DATA },
new int[] { android.R.id.text1, android.R.id.text2 }, 0);
@@ -85,24 +108,28 @@ public class AddPeopleDialogFragment extends DialogFragment {
});
multiAutoCompleteTextView.setAdapter(adapter);
return new AlertDialog.Builder(activity).setNegativeButton(R.string.generic_cancel, null)
.setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
return new AlertDialog.Builder(activity).setNegativeButton(
R.string.generic_cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String acl = multiAutoCompleteTextView.getText().toString();
if (acl != null && !acl.equals("")) {
long trackId = getArguments().getLong(KEY_TRACK_ID);
SendRequest sendRequest = new SendRequest(trackId);
sendRequest.setSendDrive(true);
sendRequest.setAcl(acl);
Intent intent = IntentUtils.newIntent(getActivity(), AccountChooserActivity.class)
.putExtra(SendRequest.SEND_REQUEST_KEY, sendRequest);
startActivity(intent);
}
caller.onAddEmailsDone(null);
}
}).setTitle(R.string.share_track_add_people).setView(view).create();
}).setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String acl = multiAutoCompleteTextView.getText().toString();
caller.onAddEmailsDone(acl);
}
}).setTitle(R.string.share_track_add_emails_title).setView(view).create();
}
@Override
public void onCancel(DialogInterface dialog) {
super.onCancel(dialog);
caller.onAddEmailsDone(null);
}
/**
* Gets the cursor
*
@@ -44,9 +44,9 @@ public class ConfirmDialogFragment extends DialogFragment {
public interface ConfirmCaller {
/**
* Called when confirmed.
* Called when confirm is done.
*/
public void onConfirmed(int confirmId, long trackId);
public void onConfirmDone(int confirmId, long trackId);
}
public static final String CONFIRM_DIALOG_TAG = "confirmDialog";
@@ -92,7 +92,7 @@ public class ConfirmDialogFragment extends DialogFragment {
if (!PreferencesUtils.getBoolean(getActivity(), confirmId, defaultValue)) {
long trackId = getArguments().getLong(KEY_TRACK_ID);
dismiss();
caller.onConfirmed(confirmId, trackId);
caller.onConfirmDone(confirmId, trackId);
}
}
@@ -110,7 +110,7 @@ public class ConfirmDialogFragment extends DialogFragment {
int confirmId = getArguments().getInt(KEY_CONFIRM_ID);
long trackId = getArguments().getLong(KEY_TRACK_ID);
PreferencesUtils.setBoolean(getActivity(), confirmId, !checkBox.isChecked());
caller.onConfirmed(confirmId, trackId);
caller.onConfirmDone(confirmId, trackId);
}
}).setTitle(R.string.generic_confirm_title).setView(view).create();
}
@@ -35,23 +35,23 @@ import android.support.v4.app.FragmentActivity;
*/
public class DeleteOneMarkerDialogFragment extends DialogFragment {
public static final String DELETE_ONE_MARKER_DIALOG_TAG = "deleteOneMarkerDialog";
private static final String KEY_MARKER_ID = "markerId";
private static final String KEY_TRACK_ID = "trackId";
/**
* Interface for caller of this dialog fragment.
*
* @author Jimmy Shih
*/
public interface DeleteOneMarkerCaller {
/**
* Called when a marker is deleted.
* Called when delete one marker is done.
*/
public void onMarkerDeleted();
public void onDeleteOneMarkerDone();
}
public static final String DELETE_ONE_MARKER_DIALOG_TAG = "deleteOneMarkerDialog";
private static final String KEY_MARKER_ID = "markerId";
private static final String KEY_TRACK_ID = "trackId";
public static DeleteOneMarkerDialogFragment newInstance(long markerId, long trackId) {
Bundle bundle = new Bundle();
bundle.putLong(KEY_MARKER_ID, markerId);
@@ -89,7 +89,7 @@ public class DeleteOneMarkerDialogFragment extends DialogFragment {
MyTracksProviderUtils.Factory.get(fragmentActivity).deleteWaypoint(
getArguments().getLong(KEY_MARKER_ID),
new DescriptionGeneratorImpl(fragmentActivity));
caller.onMarkerDeleted();
caller.onDeleteOneMarkerDone();
}
}).start();
}
@@ -50,9 +50,9 @@ public class DeleteOneTrackDialogFragment extends DialogFragment {
public TrackRecordingServiceConnection getTrackRecordingServiceConnection();
/**
* Called when a track is deleted.
* Called when delete one track is done.
*/
public void onTrackDeleted();
public void onDeleteOneTrackDone();
}
public static final String DELETE_ONE_TRACK_DIALOG_TAG = "deleteOneTrackDialog";
@@ -98,7 +98,7 @@ public class DeleteOneTrackDialogFragment extends DialogFragment {
@Override
public void run() {
MyTracksProviderUtils.Factory.get(fragmentActivity).deleteTrack(trackId);
caller.onTrackDeleted();
caller.onDeleteOneTrackDone();
}
}).start();
}
@@ -39,7 +39,7 @@ public class SendDriveActivity extends AbstractSendActivity {
@Override
protected AbstractSendAsyncTask createAsyncTask() {
return new SendDriveAsyncTask(
this, sendRequest.getTrackId(), sendRequest.getAccount(), sendRequest.getAcl());
this, sendRequest.getTrackId(), sendRequest.getAccount(), sendRequest.getDriveShareEmails());
}
@Override
@@ -17,6 +17,8 @@
package com.google.android.apps.mytracks.io.sendtogoogle;
import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.fragments.AddEmailsDialogFragment;
import com.google.android.apps.mytracks.fragments.AddEmailsDialogFragment.AddEmailsCaller;
import com.google.android.apps.mytracks.io.drive.SendDriveActivity;
import com.google.android.apps.mytracks.io.fusiontables.SendFusionTablesActivity;
import com.google.android.apps.mytracks.io.gdata.maps.MapsConstants;
@@ -39,6 +41,7 @@ import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.widget.Toast;
@@ -49,7 +52,7 @@ import java.io.IOException;
*
* @author Jimmy Shih
*/
public class AccountChooserActivity extends Activity {
public class AccountChooserActivity extends FragmentActivity implements AddEmailsCaller {
private static final String TAG = AccountChooserActivity.class.getSimpleName();
private static final int DIALOG_NO_ACCOUNT_ID = 0;
@@ -143,6 +146,17 @@ public class AccountChooserActivity extends Activity {
}
}
@Override
public void onAddEmailsDone(String emails) {
if (emails != null && !emails.equals("")) {
sendRequest.setDriveShareEmails(emails);
Intent intent = IntentUtils.newIntent(this, SendDriveActivity.class)
.putExtra(SendRequest.SEND_REQUEST_KEY, sendRequest);
startActivity(intent);
}
finish();
}
/**
* Creates a chooser dialog.
*/
@@ -327,7 +341,13 @@ public class AccountChooserActivity extends Activity {
private void startNextActivity() {
Class<?> next;
if (sendRequest.isSendDrive()) {
next = SendDriveActivity.class;
if (sendRequest.isDriveShare()) {
AddEmailsDialogFragment.newInstance(sendRequest.getTrackId())
.show(getSupportFragmentManager(), AddEmailsDialogFragment.ADD_EMAILS_DIALOG_TAG);
return;
} else {
next = SendDriveActivity.class;
}
} else if (sendRequest.isSendMaps()) {
next = sendRequest.isNewMap() ? SendMapsActivity.class : ChooseMapActivity.class;
} else if (sendRequest.isSendFusionTables()) {
@@ -33,11 +33,12 @@ public class SendRequest implements Parcelable {
private long trackId = -1L;
private String sharingAppPackageName = null;
private String sharingAppClassName = null;
private String acl = null;
private boolean sendDrive = false;
private boolean sendMaps = false;
private boolean sendFusionTables = false;
private boolean sendSpreadsheets = false;
private boolean driveShare = false;
private String driveShareEmails = null;
private boolean newMap = false;
private Account account = null;
private String mapId = null;
@@ -94,22 +95,6 @@ public class SendRequest implements Parcelable {
this.sharingAppClassName = sharingAppClassName;
}
/**
* Gets the email address of the user to share the track with.
*/
public String getAcl() {
return acl;
}
/**
* Sets the email address of the user to share the track with.
*
* @param acl the email address
*/
public void setAcl(String acl) {
this.acl = acl;
}
/**
* True if the user has selected the send to Google Drive option.
*/
@@ -178,6 +163,22 @@ public class SendRequest implements Parcelable {
this.sendSpreadsheets = sendSpreadsheets;
}
public boolean isDriveShare() {
return driveShare;
}
public void setDriveShare(boolean driveShare) {
this.driveShare = driveShare;
}
public String getDriveShareEmails() {
return driveShareEmails;
}
public void setDriveShareEmails(String driveShareEmails) {
this.driveShareEmails = driveShareEmails;
}
/**
* True if the user has selected to create a new Google Maps.
*/
@@ -297,11 +298,12 @@ public class SendRequest implements Parcelable {
trackId = in.readLong();
sharingAppPackageName = in.readString();
sharingAppClassName = in.readString();
acl = in.readString();
sendDrive = in.readByte() == 1;
sendMaps = in.readByte() == 1;
sendFusionTables = in.readByte() == 1;
sendSpreadsheets = in.readByte() == 1;
driveShare = in.readByte() == 1;
driveShareEmails = in.readString();
newMap = in.readByte() == 1;
account = in.readParcelable(null);
mapId = in.readString();
@@ -321,11 +323,12 @@ public class SendRequest implements Parcelable {
out.writeLong(trackId);
out.writeString(sharingAppPackageName);
out.writeString(sharingAppClassName);
out.writeString(acl);
out.writeByte((byte) (sendDrive ? 1 : 0));
out.writeByte((byte) (sendMaps ? 1 : 0));
out.writeByte((byte) (sendFusionTables ? 1 : 0));
out.writeByte((byte) (sendSpreadsheets ? 1 : 0));
out.writeByte((byte) (driveShare ? 1 : 0));
out.writeString(driveShareEmails);
out.writeByte((byte) (newMap ? 1 : 0));
out.writeParcelable(account, 0);
out.writeString(mapId);
@@ -26,12 +26,16 @@ import android.test.AndroidTestCase;
* @author Youtao Liu
*/
public class SendRequestTest extends AndroidTestCase {
private SendRequest sendRequest;
final static private String ACCOUNTNAME = "testAccount1";
final static private String ACCOUNTYPE = "testType1";
final static private String MAPID = "mapId1";
private static final String SHARING_APP_PACKAGE_NAME = "package";
private static final String SHARING_APP_CLASS_NAME = "class";
private final static String ACCOUNTNAME = "testAccount1";
private final static String ACCOUNTYPE = "testType1";
private final static String MAPID = "mapId1";
private final static String DRIVE_SHARE_EMAILS = "foo@foo.com";
@Override
protected void setUp() throws Exception {
super.setUp();
@@ -141,12 +145,13 @@ public class SendRequestTest extends AndroidTestCase {
parcel.writeLong(2);
parcel.writeString("");
parcel.writeString("");
parcel.writeString("");
parcel.writeByte((byte) 1);
parcel.writeByte((byte) 1);
parcel.writeByte((byte) 1);
parcel.writeByte((byte) 1);
parcel.writeByte((byte) 1);
parcel.writeString(DRIVE_SHARE_EMAILS);
parcel.writeByte((byte) 1);
Account account = new Account(ACCOUNTNAME, ACCOUNTYPE);
parcel.writeParcelable(account, 0);
parcel.writeString(MAPID);
@@ -159,11 +164,12 @@ public class SendRequestTest extends AndroidTestCase {
assertEquals(2, sendRequest.getTrackId());
assertEquals("", sendRequest.getSharingAppPackageName());
assertEquals("", sendRequest.getSharingAppClassName());
assertEquals("", sendRequest.getAcl());
assertTrue(sendRequest.isSendDrive());
assertTrue(sendRequest.isSendMaps());
assertTrue(sendRequest.isSendFusionTables());
assertTrue(sendRequest.isSendSpreadsheets());
assertTrue(sendRequest.isDriveShare());
assertEquals(DRIVE_SHARE_EMAILS, sendRequest.getDriveShareEmails());
assertTrue(sendRequest.isNewMap());
assertEquals(account, sendRequest.getAccount());
assertEquals(MAPID, sendRequest.getMapId());
@@ -182,12 +188,13 @@ public class SendRequestTest extends AndroidTestCase {
parcel.writeLong(4);
parcel.writeString(null);
parcel.writeString(null);
parcel.writeByte((byte) 0);
parcel.writeByte((byte) 0);
parcel.writeByte((byte) 0);
parcel.writeByte((byte) 0);
parcel.writeByte((byte) 0);
parcel.writeString(null);
parcel.writeByte((byte) 0);
parcel.writeByte((byte) 0);
parcel.writeByte((byte) 0);
parcel.writeByte((byte) 0);
parcel.writeByte((byte) 0);
Account account = new Account(ACCOUNTNAME, ACCOUNTYPE);
parcel.writeParcelable(account, 0);
parcel.writeString(MAPID);
@@ -200,11 +207,12 @@ public class SendRequestTest extends AndroidTestCase {
assertEquals(4, sendRequest.getTrackId());
assertNull(sendRequest.getSharingAppPackageName());
assertNull(sendRequest.getSharingAppClassName());
assertNull(sendRequest.getAcl());
assertFalse(sendRequest.isSendDrive());
assertFalse(sendRequest.isSendMaps());
assertFalse(sendRequest.isSendFusionTables());
assertFalse(sendRequest.isSendSpreadsheets());
assertFalse(sendRequest.isDriveShare());
assertNull(sendRequest.getDriveShareEmails());
assertFalse(sendRequest.isNewMap());
assertEquals(account, sendRequest.getAccount());
assertEquals(MAPID, sendRequest.getMapId());
@@ -226,11 +234,12 @@ public class SendRequestTest extends AndroidTestCase {
long trackId = parcel.readLong();
String sharingAppPackageName = parcel.readString();
String sharingAppClassName = parcel.readString();
String acl = parcel.readString();
boolean sendDrive = parcel.readByte() == 1;
boolean sendMaps = parcel.readByte() == 1;
boolean sendFusionTables = parcel.readByte() == 1;
boolean sendSpreadsheets = parcel.readByte() == 1;
boolean driveShare = parcel.readByte() == 1;
String dirveShareEmails = parcel.readString();
boolean newMap = parcel.readByte() == 1;
Parcelable account = parcel.readParcelable(null);
String mapId = parcel.readString();
@@ -241,11 +250,12 @@ public class SendRequestTest extends AndroidTestCase {
assertEquals(1, trackId);
assertNull(sharingAppPackageName);
assertNull(sharingAppClassName);
assertNull(acl);
assertFalse(sendDrive);
assertFalse(sendMaps);
assertFalse(sendFusionTables);
assertFalse(sendSpreadsheets);
assertFalse(driveShare);
assertNull(dirveShareEmails);
assertFalse(newMap);
assertNull(account);
assertNull(mapId);
@@ -260,13 +270,14 @@ public class SendRequestTest extends AndroidTestCase {
*/
public void testWriteToParcel() {
sendRequest = new SendRequest(4);
sendRequest.setSharingAppPackageName("package");
sendRequest.setSharingAppClassName("class");
sendRequest.setAcl("acl");
sendRequest.setSharingAppPackageName(SHARING_APP_PACKAGE_NAME);
sendRequest.setSharingAppClassName(SHARING_APP_CLASS_NAME);
sendRequest.setSendDrive(true);
sendRequest.setSendMaps(true);
sendRequest.setSendFusionTables(true);
sendRequest.setSendSpreadsheets(true);
sendRequest.setDriveShare(true);
sendRequest.setDriveShareEmails(DRIVE_SHARE_EMAILS);
sendRequest.setNewMap(true);
Account accountNew = new Account(ACCOUNTNAME + "2", ACCOUNTYPE + "2");
sendRequest.setAccount(accountNew);
@@ -282,11 +293,12 @@ public class SendRequestTest extends AndroidTestCase {
long trackId = parcel.readLong();
String sharingAppPackageName = parcel.readString();
String sharingAppClassName = parcel.readString();
String acl = parcel.readString();
boolean sendDrive = parcel.readByte() == 1;
boolean sendMaps = parcel.readByte() == 1;
boolean sendFusionTables = parcel.readByte() == 1;
boolean sendSpreadsheets = parcel.readByte() == 1;
boolean shareDrive = parcel.readByte() == 1;
String driveShareEmails = parcel.readString();
boolean newMap = parcel.readByte() == 1;
Parcelable account = parcel.readParcelable(null);
String mapId = parcel.readString();
@@ -295,13 +307,14 @@ public class SendRequestTest extends AndroidTestCase {
boolean fusionTablesSuccess = parcel.readByte() == 1;
boolean spreadsheetsSuccess = parcel.readByte() == 1;
assertEquals(4, trackId);
assertEquals("package", sharingAppPackageName);
assertEquals("class", sharingAppClassName);
assertEquals("acl", acl);
assertEquals(SHARING_APP_PACKAGE_NAME, sharingAppPackageName);
assertEquals(SHARING_APP_CLASS_NAME, sharingAppClassName);
assertTrue(sendDrive);
assertTrue(sendMaps);
assertTrue(sendFusionTables);
assertTrue(sendSpreadsheets);
assertTrue(shareDrive);
assertEquals(DRIVE_SHARE_EMAILS, driveShareEmails);
assertTrue(newMap);
assertEquals(accountNew, account);
assertEquals(MAPID, mapId);