Android: Hook up the plumbing for the Update/Detech (previously commented out) project operations.

This commit is contained in:
Rom Walton 2013-02-24 12:15:12 -05:00 committed by Oliver Bock
parent 4a4983a3c3
commit b4b0fb9d4d
3 changed files with 52 additions and 26 deletions

View File

@ -161,35 +161,27 @@ public class ProjectsActivity extends FragmentActivity {
super.onDestroy();
}
public void onProjectUpdate(String masterURL) {
Log.d(TAG, "onProjectUpdate()");
}
public void onProjectDelete(String masterURL) {
Log.d(TAG, "onProjectDelete()");
}
/*
// handler for onClick of listItem
public void onItemClick (View view) {
Project project = (Project) view.getTag(); //gets added to view by ProjectsListAdapter
Log.d(TAG,"onItemClick projectName: " + project.project_name + " - url: " + project.master_url);
(new ConfirmDeletionDialogFragment(project.project_name, project.master_url)).show(getSupportFragmentManager(), "confirm_projects_deletion");
}
public void addProjectButtonClicked(View view) {
Log.d(TAG, "addProjectButtonClicked");
startActivity(new Intent(this,LoginActivity.class));
}
public void onProjectUpdate(String name, String url) {
Log.d(TAG, "onProjectUpdate()");
monitor.updateProjectAsync(url);
}
public void onProjectDelete(String name, String url) {
Log.d(TAG, "onProjectDelete() - Name: " + name + ", URL: " + url);
(new ConfirmDeletionDialogFragment(name, url)).show(getSupportFragmentManager(), "confirm_projects_deletion");
}
public class ConfirmDeletionDialogFragment extends DialogFragment {
private final String TAG = "ConfirmDeletionDialogFragment";
private String name = "";
private String url;
private String url = "";
public ConfirmDeletionDialogFragment(String name, String url) {
this.name = name;
@ -203,18 +195,17 @@ public class ProjectsActivity extends FragmentActivity {
builder.setMessage(dialogTitle)
.setPositiveButton(R.string.confirm_deletion_confirm, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG,"confirm clicked.");
//monitor.detachProjectAsync(url); //asynchronous call to detach project with given url.
Log.d(TAG, "confirm clicked.");
monitor.detachProjectAsync(url); //asynchronous call to detach project with given url.
}
})
.setNegativeButton(R.string.confirm_deletion_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG,"dialog canceled.");
Log.d(TAG, "dialog canceled.");
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
*/
}

View File

@ -125,7 +125,7 @@ public class ProjectsListAdapter extends ArrayAdapter<Project> implements OnItem
ViewProject viewProject = (ViewProject)v.getTag();
ProjectsActivity a = (ProjectsActivity)activity;
a.onProjectUpdate(getProjectURL(viewProject.entryIndex));
a.onProjectUpdate(getProject(viewProject.entryIndex), getProjectURL(viewProject.entryIndex));
}
});
@ -137,7 +137,7 @@ public class ProjectsListAdapter extends ArrayAdapter<Project> implements OnItem
ViewProject viewProject = (ViewProject)v.getTag();
ProjectsActivity a = (ProjectsActivity)activity;
a.onProjectDelete(getProjectURL(viewProject.entryIndex));
a.onProjectDelete(getProject(viewProject.entryIndex), getProjectURL(viewProject.entryIndex));
}
});
} else {

View File

@ -338,12 +338,23 @@ public class Monitor extends Service {
}
public void detachProjectAsync(String url){
Log.d(TAG,"detachProjectAsync");
Log.d(TAG, "detachProjectAsync");
String[] param = new String[1];
param[0] = url;
(new ProjectDetachAsync()).execute(param);
}
public Boolean updateProject(String url){
return rpc.projectOp(RpcClient.PROJECT_UPDATE, url);
}
public void updateProjectAsync(String url){
Log.d(TAG, "updateProjectAsync");
String[] param = new String[1];
param[0] = url;
(new ProjectUpdateAsync()).execute(param);
}
public void createAccountAsync(String url, String email, String userName, String pwd, String teamName) {
Log.d(TAG,"createAccountAsync");
String[] param = new String[5];
@ -930,6 +941,30 @@ public class Monitor extends Service {
}
}
private final class ProjectUpdateAsync extends AsyncTask<String,String,Boolean> {
private final String TAG = "ProjectUpdateAsync";
private String url;
@Override
protected Boolean doInBackground(String... params) {
this.url = params[0];
Log.d(TAG, "doInBackground() - ProjectUpdateAsync url: " + url);
Boolean update = rpc.projectOp(RpcClient.PROJECT_UPDATE, url);
if(update) {
Log.d(TAG,"successful.");
}
return update;
}
@Override
protected void onPostExecute(Boolean success) {
forceRefresh();
}
}
private final class WriteClientPrefsAsync extends AsyncTask<GlobalPreferences,Void,Boolean> {
private final String TAG = "WriteClientPrefsAsync";