package com.orisider.gdfs.task;
import android.content.Context;
import android.util.Log;
import com.google.api.services.drive.Drive;
import com.google.api.services.drive.model.File;
import com.google.api.services.drive.model.Permission;
import com.google.api.services.drive.model.PermissionList;
import com.orisider.gdfs.GDFSApp;
import com.orisider.gdfs.util.Constant;
import roboguice.util.RoboAsyncTask;
import java.io.IOException;
public class GetWebContentLinkTask extends RoboAsyncTask<File> {
private final Drive drive;
private final String fileId;
public GetWebContentLinkTask(Context ctx, Drive drive, String fileId) {
super(ctx, GDFSApp.handler);
this.drive = drive;
this.fileId = fileId;
}
@Override
public File call() throws Exception {
PermissionList list = drive.permissions().list(fileId).execute();
for (Object v : list.values()) {
Log.d(Constant.LOG_TAG, "perm item:" + v);
}
insertAnyoneReadPermission();
return drive.files().get(fileId).execute();
}
private void insertAnyoneReadPermission() throws IOException {
Permission anyoneReadPerm = new Permission();
anyoneReadPerm.setType("anyone");
anyoneReadPerm.setRole("reader");
drive.permissions().insert(fileId, anyoneReadPerm).execute();
}
}