Add the owner of the shared with me tracks.

This commit is contained in:
Jimmy Shih
2013-02-14 14:16:39 -08:00
parent 10b714210b
commit c9fa895ba4
12 changed files with 94 additions and 49 deletions
@@ -90,10 +90,7 @@ public class SendDriveAsyncTask extends AbstractSendAsyncTask {
addPermission(drive, driveId);
return true;
}
track.setDriveId("");
track.setModifiedTime(-1L);
track.setSharedWithMe(false);
myTracksProviderUtils.updateTrack(track);
SyncUtils.updateTrackWithDriveFileInfo(myTracksProviderUtils, track, null);
}
String id = SyncUtils.insertDriveFile(
@@ -300,10 +300,7 @@ public class SyncAdapter extends AbstractThreadedSyncAdapter {
long[] trackIds = kmlImporter.importFile(inputStream);
if (trackIds.length == 1) {
Track track = myTracksProviderUtils.getTrack(trackIds[0]);
track.setDriveId(driveFile.getId());
track.setModifiedTime(driveFile.getModifiedDate().getValue());
track.setSharedWithMe(driveFile.getSharedWithMeDate() != null);
myTracksProviderUtils.updateTrack(track);
SyncUtils.updateTrackWithDriveFileInfo(myTracksProviderUtils, track, driveFile);
Log.d(TAG, "Add from Google Drive " + track.getName());
} else {
// Clean up if imported more than one track
@@ -445,10 +442,7 @@ public class SyncAdapter extends AbstractThreadedSyncAdapter {
long[] trackIds = kmlImporter.importFile(inputStream);
if (trackIds.length == 1) {
Track newTrack = myTracksProviderUtils.getTrack(trackIds[0]);
newTrack.setDriveId(driveFile.getId());
newTrack.setModifiedTime(driveFile.getModifiedByMeDate().getValue());
newTrack.setSharedWithMe(driveFile.getSharedWithMeDate() != null);
myTracksProviderUtils.updateTrack(newTrack);
SyncUtils.updateTrackWithDriveFileInfo(myTracksProviderUtils, newTrack, driveFile);
return true;
} else {
Log.e(TAG, "Unable to merge, imported size is not 1");
@@ -247,12 +247,8 @@ public class SyncUtils {
Log.e(TAG, "Unable to add Drive file. Uploaded file is null for track " + track.getName());
return null;
}
String id = uploadedFile.getId();
track.setDriveId(id);
track.setModifiedTime(uploadedFile.getModifiedDate().getValue());
track.setSharedWithMe(false);
myTracksProviderUtils.updateTrack(track);
return id;
SyncUtils.updateTrackWithDriveFileInfo(myTracksProviderUtils, track, uploadedFile);
return uploadedFile.getId();
} finally {
file.delete();
}
@@ -407,6 +403,24 @@ public class SyncUtils {
Log.d(TAG, "Unable to get file for track " + track.getName());
return null;
}
/**
* Updates track with drive file info.
*
* @param myTracksProviderUtils the myTracksProviderUtils
* @param track the track
* @param driveFile the drive file
*/
public static void updateTrackWithDriveFileInfo(
MyTracksProviderUtils myTracksProviderUtils, Track track, File driveFile) {
track.setDriveId(driveFile != null ? driveFile.getId() : "");
track.setModifiedTime(driveFile != null ? driveFile.getModifiedDate().getValue() : -1L);
track.setSharedWithMe(driveFile != null ? driveFile.getSharedWithMeDate() != null : false);
track.setSharedOwner(driveFile != null && driveFile.getSharedWithMeDate() != null
&& driveFile.getOwnerNames().size() > 0 ? driveFile.getOwnerNames().get(0)
: "");
myTracksProviderUtils.updateTrack(track);
}
/**
* Gets the md5 digest for the file.