diff --git a/MyTracks/res/layout/account_spinner_dropdown_item.xml b/MyTracks/res/layout/account_spinner_dropdown_item.xml new file mode 100644 index 000000000..260fd462b --- /dev/null +++ b/MyTracks/res/layout/account_spinner_dropdown_item.xml @@ -0,0 +1,25 @@ + + + diff --git a/MyTracks/res/layout/account_spinner_item.xml b/MyTracks/res/layout/account_spinner_item.xml new file mode 100644 index 000000000..6c1dff2b8 --- /dev/null +++ b/MyTracks/res/layout/account_spinner_item.xml @@ -0,0 +1,24 @@ + + + diff --git a/MyTracks/res/layout/share_track.xml b/MyTracks/res/layout/share_track.xml index b8c492324..a2ff53bdc 100644 --- a/MyTracks/res/layout/share_track.xml +++ b/MyTracks/res/layout/share_track.xml @@ -20,7 +20,7 @@ limitations under the License. android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="vertical" - android:padding="8dp"> + android:padding="8dp" > + \ No newline at end of file diff --git a/MyTracks/res/values/keys.xml b/MyTracks/res/values/keys.xml index c723f4dc3..0447b6560 100644 --- a/MyTracks/res/values/keys.xml +++ b/MyTracks/res/values/keys.xml @@ -68,6 +68,7 @@ limitations under the License. googleAccount recordingTrackId recordingTrackPaused + shareTrackAccountKey weight settingsAdvanced diff --git a/MyTracks/res/values/strings.xml b/MyTracks/res/values/strings.xml index f5074869d..400d5b39a 100644 --- a/MyTracks/res/values/strings.xml +++ b/MyTracks/res/values/strings.xml @@ -2050,7 +2050,7 @@ limitations under the License. - Share track via Google Drive + Share on Google Drive diff --git a/MyTracks/src/com/google/android/apps/mytracks/AbstractSendToGoogleActivity.java b/MyTracks/src/com/google/android/apps/mytracks/AbstractSendToGoogleActivity.java index 6bccb48cc..b1332a6fb 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/AbstractSendToGoogleActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/AbstractSendToGoogleActivity.java @@ -158,11 +158,18 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv */ protected void shareTrack(long trackId) { AnalyticsUtils.sendPageViews(this, AnalyticsUtils.ACTION_SHARE_DRIVE); - SendRequest newRequest; - newRequest = new SendRequest(trackId); - newRequest.setSendDrive(true); - newRequest.setDriveShare(true); - sendToGoogle(newRequest); + sendRequest = new SendRequest(trackId); + sendRequest.setSendDrive(true); + ShareTrackDialogFragment.newInstance(sendRequest.getTrackId()) + .show(getSupportFragmentManager(), ShareTrackDialogFragment.SHARE_TRACK_DIALOG_TAG); + } + + @Override + public void onShareTrackDone(boolean makePublic, String emails, Account account) { + sendRequest.setDriveSharePublic(makePublic); + sendRequest.setDriveShareEmails(emails); + sendRequest.setAccount(account); + onConfirmSyncDone(true); } /** @@ -312,8 +319,6 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv *

* isSendDrive and isDriveEnableSync -> enable sync *

- * isSendDrive and isDriveShare -> show {@link ShareTrackDialogFragment} - *

* isSendDrive -> start {@link SendDriveActivity} *

* isSendMaps -> start {@link SendMapsActivity} @@ -339,10 +344,6 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv // Enable sync for account SyncUtils.enableSync(sendRequest.getAccount()); return; - } else if (sendRequest.isDriveShare()) { - ShareTrackDialogFragment.newInstance(sendRequest.getTrackId()) - .show(getSupportFragmentManager(), ShareTrackDialogFragment.SHARE_TRACK_DIALOG_TAG); - return; } else { next = SendDriveActivity.class; } @@ -367,15 +368,6 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv Toast.makeText(this, R.string.send_google_no_account_permission, Toast.LENGTH_LONG).show(); } - @Override - public void onShareTrackDone(String emails, boolean makePublic) { - sendRequest.setDriveShareEmails(emails); - sendRequest.setDriveSharePublic(makePublic); - Intent intent = IntentUtils.newIntent(this, SendDriveActivity.class) - .putExtra(SendRequest.SEND_REQUEST_KEY, sendRequest); - startActivity(intent); - } - /** * Delete tracks. * diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/ShareTrackDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/ShareTrackDialogFragment.java index 8dab973c8..d23d701e8 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/ShareTrackDialogFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/ShareTrackDialogFragment.java @@ -16,9 +16,12 @@ package com.google.android.apps.mytracks.fragments; +import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.maps.mytracks.R; +import android.accounts.Account; +import android.accounts.AccountManager; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; @@ -30,11 +33,13 @@ import android.provider.ContactsContract; import android.support.v4.app.FragmentActivity; import android.support.v4.widget.SimpleCursorAdapter; import android.view.View; +import android.widget.ArrayAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.FilterQueryProvider; import android.widget.MultiAutoCompleteTextView; +import android.widget.Spinner; import android.widget.Toast; /** @@ -54,10 +59,11 @@ public class ShareTrackDialogFragment extends AbstractMyTracksDialogFragment { /** * Called when share track is done. * - * @param emails the added emails * @param makePublic true to make the track public + * @param emails the emails to share the track with + * @param account the google drive account */ - public void onShareTrackDone(String emails, boolean makePublic); + public void onShareTrackDone(boolean makePublic, String emails, Account account); } public static final String SHARE_TRACK_DIALOG_TAG = "shareTrackDialog"; @@ -75,9 +81,13 @@ public class ShareTrackDialogFragment extends AbstractMyTracksDialogFragment { private ShareTrackCaller caller; private FragmentActivity fragmentActivity; - private MultiAutoCompleteTextView multiAutoCompleteTextView; + private Account[] accounts; + + // UI elements private CheckBox publicCheckBox; private CheckBox inviteCheckBox; + private MultiAutoCompleteTextView multiAutoCompleteTextView; + private Spinner accountSpinner; @Override public void onAttach(Activity activity) { @@ -93,14 +103,41 @@ public class ShareTrackDialogFragment extends AbstractMyTracksDialogFragment { @Override protected Dialog createDialog() { fragmentActivity = getActivity(); + accounts = AccountManager.get(fragmentActivity).getAccountsByType(Constants.ACCOUNT_TYPE); + + if (accounts.length == 0) { + return new AlertDialog.Builder(fragmentActivity).setMessage( + R.string.send_google_no_account_message).setTitle(R.string.send_google_no_account_title) + .setPositiveButton(R.string.generic_ok, null).create(); + } + View view = fragmentActivity.getLayoutInflater().inflate(R.layout.share_track, null); + // Setup publicCheckBox + publicCheckBox = (CheckBox) view.findViewById(R.id.share_track_public); + publicCheckBox.setChecked(PreferencesUtils.getBoolean( + fragmentActivity, R.string.share_track_public_key, + PreferencesUtils.SHARE_TRACK_PUBLIC_DEFAULT)); + + // Setup inviteCheckBox + inviteCheckBox = (CheckBox) view.findViewById(R.id.share_track_invite); + inviteCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + multiAutoCompleteTextView.setVisibility(isChecked ? View.VISIBLE : View.GONE); + } + }); + inviteCheckBox.setChecked(PreferencesUtils.getBoolean( + fragmentActivity, R.string.share_track_invite_key, + PreferencesUtils.SHARE_TRACK_INVITE_DEFAULT)); + + // Setup multiAutoCompleteTextView multiAutoCompleteTextView = (MultiAutoCompleteTextView) view.findViewById( R.id.share_track_emails); multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); SimpleCursorAdapter adapter = new SimpleCursorAdapter(fragmentActivity, - R.layout.add_emails_item, getCursor(fragmentActivity, null), new String[] { + R.layout.add_emails_item, getAutoCompleteCursor(null), new String[] { ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Email.DATA }, new int[] { android.R.id.text1, android.R.id.text2 }, 0); adapter.setCursorToStringConverter(new SimpleCursorAdapter.CursorToStringConverter() { @@ -113,26 +150,14 @@ public class ShareTrackDialogFragment extends AbstractMyTracksDialogFragment { adapter.setFilterQueryProvider(new FilterQueryProvider() { @Override public Cursor runQuery(CharSequence constraint) { - return getCursor(fragmentActivity, constraint); + return getAutoCompleteCursor(constraint); } }); multiAutoCompleteTextView.setAdapter(adapter); - publicCheckBox = (CheckBox) view.findViewById(R.id.share_track_public); - publicCheckBox.setChecked(PreferencesUtils.getBoolean( - fragmentActivity, R.string.share_track_public_key, - PreferencesUtils.SHARE_TRACK_PUBLIC_DEFAULT)); - - inviteCheckBox = (CheckBox) view.findViewById(R.id.share_track_invite); - inviteCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - multiAutoCompleteTextView.setVisibility(isChecked ? View.VISIBLE : View.GONE); - } - }); - inviteCheckBox.setChecked(PreferencesUtils.getBoolean( - fragmentActivity, R.string.share_track_invite_key, - PreferencesUtils.SHARE_TRACK_INVITE_DEFAULT)); + // Setup accountSpinner + accountSpinner = (Spinner) view.findViewById(R.id.share_track_account); + setupAccountSpinner(accountSpinner); return new AlertDialog.Builder(fragmentActivity).setNegativeButton( R.string.generic_cancel, null) @@ -150,22 +175,26 @@ public class ShareTrackDialogFragment extends AbstractMyTracksDialogFragment { .show(); return; } + Account account = accounts.length > 1 ? accounts[accountSpinner + .getSelectedItemPosition()] + : accounts[0]; PreferencesUtils.setBoolean( fragmentActivity, R.string.share_track_public_key, publicCheckBox.isChecked()); PreferencesUtils.setBoolean( fragmentActivity, R.string.share_track_invite_key, inviteCheckBox.isChecked()); - caller.onShareTrackDone(acl, publicCheckBox.isChecked()); + PreferencesUtils.setString( + fragmentActivity, R.string.share_track_account_key, account.name); + caller.onShareTrackDone(publicCheckBox.isChecked(), acl, account); } }).setTitle(R.string.share_track_title).setView(view).create(); } /** - * Gets the cursor + * Gets the auto complete cursor. * - * @param activity the activity * @param constraint the constraint */ - private Cursor getCursor(Activity activity, CharSequence constraint) { + private Cursor getAutoCompleteCursor(CharSequence constraint) { String order = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"; String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'"; if (constraint != null) { @@ -176,6 +205,28 @@ public class ShareTrackDialogFragment extends AbstractMyTracksDialogFragment { String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Email.DATA }; Uri uri = ContactsContract.CommonDataKinds.Email.CONTENT_URI; - return activity.getContentResolver().query(uri, projection, selection, null, order); + return fragmentActivity.getContentResolver().query(uri, projection, selection, null, order); + } + + private void setupAccountSpinner(Spinner spinner) { + boolean hasMultiple = accounts.length > 1; + spinner.setVisibility(hasMultiple ? View.VISIBLE : View.GONE); + if (hasMultiple) { + String shareTrackAccount = PreferencesUtils.getString(fragmentActivity, + R.string.share_track_account_key, PreferencesUtils.SHARE_TRACK_ACCOUNT_DEFAULT); + ArrayAdapter adapter = new ArrayAdapter( + fragmentActivity, R.layout.account_spinner_item); + int selection = 0; + for (int i = 0; i < accounts.length; i++) { + String name = accounts[i].name; + adapter.add(name); + if (name.equals(shareTrackAccount)) { + selection = i; + } + } + adapter.setDropDownViewResource(R.layout.account_spinner_dropdown_item); + spinner.setAdapter(adapter); + spinner.setSelection(selection); + } } } \ No newline at end of file diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java b/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java index 01e55c60a..11c658ffe 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java @@ -59,6 +59,7 @@ public class PreferenceBackupHelper { doNotBackup.add(context.getString(R.string.google_account_key)); doNotBackup.add(context.getString(R.string.recording_track_id_key)); doNotBackup.add(context.getString(R.string.recording_track_paused_key)); + doNotBackup.add(context.getString(R.string.share_track_account_key)); doNotBackup.add(context.getString(R.string.weight_key)); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/drive/SendDriveAsyncTask.java b/MyTracks/src/com/google/android/apps/mytracks/io/drive/SendDriveAsyncTask.java index e1b39b95d..9a313fb9b 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/drive/SendDriveAsyncTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/drive/SendDriveAsyncTask.java @@ -21,8 +21,10 @@ import com.google.android.apps.mytracks.content.Track; import com.google.android.apps.mytracks.io.sendtogoogle.AbstractSendAsyncTask; import com.google.android.apps.mytracks.io.sendtogoogle.SendToGoogleUtils; import com.google.android.apps.mytracks.io.sync.SyncUtils; +import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.gms.auth.GoogleAuthException; import com.google.android.gms.auth.UserRecoverableAuthException; +import com.google.android.maps.mytracks.R; import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential; import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException; import com.google.api.services.drive.Drive; @@ -88,7 +90,10 @@ public class SendDriveAsyncTask extends AbstractSendAsyncTask { Track track = myTracksProviderUtils.getTrack(trackId); String driveId = track.getDriveId(); - if (driveId != null && !driveId.equals("")) { + String syncAccount = PreferencesUtils.getString( + context, R.string.google_account_key, PreferencesUtils.GOOGLE_ACCOUNT_DEFAULT); + boolean sameAccount = account.name.equals(syncAccount); + if (sameAccount && driveId != null && !driveId.equals("")) { File driveFile = drive.files().get(driveId).execute(); if (driveFile != null && updateDriveFile(drive, driveFile, folderId, track)) { addPermission(drive, driveFile); @@ -101,7 +106,7 @@ public class SendDriveAsyncTask extends AbstractSendAsyncTask { // insert new drive file File file = SyncUtils.insertDriveFile( - drive, folderId, context, myTracksProviderUtils, track, false); + drive, folderId, context, myTracksProviderUtils, track, false, sameAccount); if (file == null) { return false; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendRequest.java b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendRequest.java index 3fbd2ed0e..c2319dfd7 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendRequest.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendRequest.java @@ -38,9 +38,8 @@ public class SendRequest implements Parcelable { private boolean driveSync = false; // to enable Drive sync private boolean driveSyncConfirm = false; - private boolean driveShare = false; // to enable Drive share - private String driveShareEmails = null; // for driveShare, emails to share private boolean driveSharePublic = false; // for driveShare, share as public + private String driveShareEmails = null; // for driveShare, emails to share private Account account = null; @@ -111,22 +110,6 @@ public class SendRequest implements Parcelable { this.driveSyncConfirm = driveSyncConfirm; } - 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; - } - public boolean isDriveSharePublic() { return driveSharePublic; } @@ -134,6 +117,14 @@ public class SendRequest implements Parcelable { public void setDriveSharePublic(boolean driveSharePublic) { this.driveSharePublic = driveSharePublic; } + + public String getDriveShareEmails() { + return driveShareEmails; + } + + public void setDriveShareEmails(String driveShareEmails) { + this.driveShareEmails = driveShareEmails; + } public Account getAccount() { return account; @@ -191,9 +182,8 @@ public class SendRequest implements Parcelable { sendSpreadsheets = in.readByte() == 1; driveSync = in.readByte() == 1; driveSyncConfirm = in.readByte() == 1; - driveShare = in.readByte() == 1; - driveShareEmails = in.readString(); driveSharePublic = in.readByte() == 1; + driveShareEmails = in.readString(); account = in.readParcelable(null); driveSuccess = in.readByte() == 1; mapsSuccess = in.readByte() == 1; @@ -216,9 +206,8 @@ public class SendRequest implements Parcelable { out.writeByte((byte) (sendSpreadsheets ? 1 : 0)); out.writeByte((byte) (driveSync ? 1 : 0)); out.writeByte((byte) (driveSyncConfirm ? 1 : 0)); - out.writeByte((byte) (driveShare ? 1 : 0)); - out.writeString(driveShareEmails); out.writeByte((byte) (driveSharePublic ? 1 : 0)); + out.writeString(driveShareEmails); out.writeParcelable(account, 0); out.writeByte((byte) (driveSuccess ? 1 : 0)); out.writeByte((byte) (mapsSuccess ? 1 : 0)); diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncAdapter.java index 36e4179ec..712aa32c0 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncAdapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncAdapter.java @@ -365,7 +365,8 @@ public class SyncAdapter extends AbstractThreadedSyncAdapter { continue; } // If not successful, the next sync will retry again - SyncUtils.insertDriveFile(drive, folderId, context, myTracksProviderUtils, track, true); + SyncUtils.insertDriveFile( + drive, folderId, context, myTracksProviderUtils, track, true, true); } while (cursor.moveToNext()); } } finally { diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncUtils.java b/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncUtils.java index 093df12fb..b3caa9b5f 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncUtils.java @@ -298,10 +298,11 @@ public class SyncUtils { * @param myTracksProviderUtils the myTracksProviderUtils * @param track the track * @param canRetry true if can retry + * @param updateTrack true to update track * @return the added drive file or null. */ public static File insertDriveFile(Drive drive, String folderId, Context context, - MyTracksProviderUtils myTracksProviderUtils, Track track, boolean canRetry) + MyTracksProviderUtils myTracksProviderUtils, Track track, boolean canRetry, boolean updateTrack) throws IOException { java.io.File file = null; try { @@ -318,7 +319,9 @@ public class SyncUtils { Log.e(TAG, "Unable to add Drive file. Uploaded file is null for track " + track.getName()); return null; } - SyncUtils.updateTrack(myTracksProviderUtils, track, uploadedFile); + if (updateTrack) { + SyncUtils.updateTrack(myTracksProviderUtils, track, uploadedFile); + } return uploadedFile; } finally { if (file != null) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java index 251128b3d..580285b30 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java @@ -97,6 +97,7 @@ public class PreferencesUtils { public static final String SENSOR_TYPE_DEFAULT = "NONE"; // Share track + public static final String SHARE_TRACK_ACCOUNT_DEFAULT = ""; public static final boolean SHARE_TRACK_INVITE_DEFAULT = false; public static final boolean SHARE_TRACK_PUBLIC_DEFAULT = false; diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/io/sendtogoogle/SendRequestTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/io/sendtogoogle/SendRequestTest.java index 94f84dfc9..171c388bf 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/io/sendtogoogle/SendRequestTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/io/sendtogoogle/SendRequestTest.java @@ -130,7 +130,6 @@ public class SendRequestTest extends AndroidTestCase { 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.writeByte((byte) 1); @@ -147,9 +146,8 @@ public class SendRequestTest extends AndroidTestCase { assertTrue(sendRequest.isSendSpreadsheets()); assertTrue(sendRequest.isDriveSync()); assertTrue(sendRequest.isDriveSyncConfirm()); - assertTrue(sendRequest.isDriveShare()); - assertEquals(DRIVE_SHARE_EMAILS, sendRequest.getDriveShareEmails()); assertTrue(sendRequest.isDriveSharePublic()); + assertEquals(DRIVE_SHARE_EMAILS, sendRequest.getDriveShareEmails()); assertEquals(account, sendRequest.getAccount()); assertTrue(sendRequest.isDriveSuccess()); assertTrue(sendRequest.isMapsSuccess()); @@ -173,7 +171,6 @@ public class SendRequestTest extends AndroidTestCase { parcel.writeByte((byte) 0); parcel.writeByte((byte) 0); parcel.writeString(null); - parcel.writeByte((byte) 0); Account account = new Account(ACCOUNTNAME, ACCOUNTYPE); parcel.writeParcelable(account, 0); parcel.writeByte((byte) 0); @@ -190,9 +187,8 @@ public class SendRequestTest extends AndroidTestCase { assertFalse(sendRequest.isSendSpreadsheets()); assertFalse(sendRequest.isDriveSync()); assertFalse(sendRequest.isDriveSyncConfirm()); - assertFalse(sendRequest.isDriveShare()); - assertNull(sendRequest.getDriveShareEmails()); assertFalse(sendRequest.isDriveSharePublic()); + assertNull(sendRequest.getDriveShareEmails()); assertEquals(account, sendRequest.getAccount()); assertFalse(sendRequest.isDriveSuccess()); assertFalse(sendRequest.isMapsSuccess()); @@ -217,9 +213,8 @@ public class SendRequestTest extends AndroidTestCase { boolean sendSpreadsheets = parcel.readByte() == 1; boolean driveSync = parcel.readByte() == 1; boolean driveSyncConfirm = parcel.readByte() == 1; - boolean driveShare = parcel.readByte() == 1; - String dirveShareEmails = parcel.readString(); boolean driveSharePublic = parcel.readByte() == 1; + String dirveShareEmails = parcel.readString(); Parcelable account = parcel.readParcelable(null); boolean driveSuccess = parcel.readByte() == 1; boolean mapsSuccess = parcel.readByte() == 1; @@ -233,9 +228,8 @@ public class SendRequestTest extends AndroidTestCase { assertFalse(sendSpreadsheets); assertFalse(driveSync); assertFalse(driveSyncConfirm); - assertFalse(driveShare); - assertNull(dirveShareEmails); assertFalse(driveSharePublic); + assertNull(dirveShareEmails); assertNull(account); assertFalse(driveSuccess); assertFalse(mapsSuccess); @@ -255,9 +249,8 @@ public class SendRequestTest extends AndroidTestCase { sendRequest.setSendSpreadsheets(true); sendRequest.setDriveSync(true); sendRequest.setDriveSyncConfirm(true); - sendRequest.setDriveShare(true); - sendRequest.setDriveShareEmails(DRIVE_SHARE_EMAILS); sendRequest.setDriveSharePublic(true); + sendRequest.setDriveShareEmails(DRIVE_SHARE_EMAILS); Account accountNew = new Account(ACCOUNTNAME + "2", ACCOUNTYPE + "2"); sendRequest.setAccount(accountNew); sendRequest.setMapsSuccess(true); @@ -276,9 +269,8 @@ public class SendRequestTest extends AndroidTestCase { boolean sendSpreadsheets = parcel.readByte() == 1; boolean driveSync = parcel.readByte() == 1; boolean driveSyncConfirm = parcel.readByte() == 1; - boolean driveShare = parcel.readByte() == 1; - String driveShareEmails = parcel.readString(); boolean driveSharePublic = parcel.readByte() == 1; + String driveShareEmails = parcel.readString(); Parcelable account = parcel.readParcelable(null); boolean driveSuccess = parcel.readByte() == 1; boolean mapsSuccess = parcel.readByte() == 1; @@ -292,9 +284,8 @@ public class SendRequestTest extends AndroidTestCase { assertTrue(sendSpreadsheets); assertTrue(driveSync); assertTrue(driveSyncConfirm); - assertTrue(driveShare); - assertEquals(DRIVE_SHARE_EMAILS, driveShareEmails); assertTrue(driveSharePublic); + assertEquals(DRIVE_SHARE_EMAILS, driveShareEmails); assertEquals(accountNew, account); assertTrue(driveSuccess); assertTrue(mapsSuccess);