Refresh view after updating new repo.

This commit is contained in:
Peter Serwylo 2013-12-12 10:34:25 +11:00
parent 8d44f6e444
commit 42d21bcbe9
5 changed files with 27 additions and 8 deletions

View File

@ -1513,8 +1513,17 @@ public class DB {
}
public void updateRepoByAddress(Repo repo) {
updateRepo(repo, "address", repo.address);
}
public void updateRepo(Repo repo) {
updateRepo(repo, "id", repo.id + "");
}
private void updateRepo(Repo repo, String field, String value) {
ContentValues values = new ContentValues();
values.put("name", repo.name);
values.put("address", repo.address);
values.put("description", repo.description);
values.put("inuse", repo.inuse);
values.put("priority", repo.priority);
@ -1527,8 +1536,8 @@ public class DB {
}
values.put("maxage", repo.maxage);
values.put("lastetag", (String) null);
db.update(TABLE_REPO, values, "address = ?",
new String[] { repo.address });
db.update(TABLE_REPO, values, field + " = ?",
new String[] { value });
}
/**

View File

@ -161,7 +161,7 @@ public class ManageRepo extends ListActivity {
super.onCreateOptionsMenu(menu);
MenuItem updateItem = menu.add(Menu.NONE, UPDATE_REPOS, 1,
R.string.menu_add_repo).setIcon(R.drawable.ic_menu_refresh);
R.string.menu_update_repo).setIcon(R.drawable.ic_menu_refresh);
MenuItemCompat.setShowAsAction(updateItem,
MenuItemCompat.SHOW_AS_ACTION_ALWAYS |
MenuItemCompat.SHOW_AS_ACTION_WITH_TEXT);

View File

@ -162,8 +162,9 @@ public class UpdateService extends IntentService implements ProgressListener {
Bundle resultData = new Bundle();
if (message != null && message.length() > 0)
resultData.putString(RESULT_MESSAGE, message);
if (event != null)
resultData.putParcelable(RESULT_EVENT, event);
if (event == null)
event = new Event(statusCode);
resultData.putParcelable(RESULT_EVENT, event);
receiver.send(statusCode, resultData);
}
}

View File

@ -48,7 +48,7 @@ public class RepoDetailsActivity extends FragmentActivity implements RepoDetails
@Override
public void onRepoDetailsChanged(DB.Repo repo) {
finishWithAction(ACTION_IS_CHANGED);
// Do nothing...
}
@Override

View File

@ -236,8 +236,17 @@ public class RepoDetailsFragment extends Fragment {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (repoChangeListener != null) {
repoChangeListener.onRepoDetailsChanged(repo);
if (!repo.address.equals(s.toString())) {
repo.address = s.toString();
try {
DB db = DB.getDB();
db.updateRepo(repo);
} finally {
DB.releaseDB();
}
if (repoChangeListener != null) {
repoChangeListener.onRepoDetailsChanged(repo);
}
}
}
}