From 42d21bcbe95412dd642e9175e240783ce80211e5 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Thu, 12 Dec 2013 10:34:25 +1100 Subject: [PATCH] Refresh view after updating new repo. --- src/org/fdroid/fdroid/DB.java | 13 +++++++++++-- src/org/fdroid/fdroid/ManageRepo.java | 2 +- src/org/fdroid/fdroid/UpdateService.java | 5 +++-- .../fdroid/fdroid/views/RepoDetailsActivity.java | 2 +- .../fdroid/views/fragments/RepoDetailsFragment.java | 13 +++++++++++-- 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/org/fdroid/fdroid/DB.java b/src/org/fdroid/fdroid/DB.java index 78391392f..62641d7b2 100644 --- a/src/org/fdroid/fdroid/DB.java +++ b/src/org/fdroid/fdroid/DB.java @@ -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 }); } /** diff --git a/src/org/fdroid/fdroid/ManageRepo.java b/src/org/fdroid/fdroid/ManageRepo.java index 8d5d324a8..25c2091ba 100644 --- a/src/org/fdroid/fdroid/ManageRepo.java +++ b/src/org/fdroid/fdroid/ManageRepo.java @@ -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); diff --git a/src/org/fdroid/fdroid/UpdateService.java b/src/org/fdroid/fdroid/UpdateService.java index 4de416c5c..e25271236 100644 --- a/src/org/fdroid/fdroid/UpdateService.java +++ b/src/org/fdroid/fdroid/UpdateService.java @@ -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); } } diff --git a/src/org/fdroid/fdroid/views/RepoDetailsActivity.java b/src/org/fdroid/fdroid/views/RepoDetailsActivity.java index 2c97e4424..4165cf33f 100644 --- a/src/org/fdroid/fdroid/views/RepoDetailsActivity.java +++ b/src/org/fdroid/fdroid/views/RepoDetailsActivity.java @@ -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 diff --git a/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java b/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java index 9f48bf01b..704a8c9d9 100644 --- a/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java +++ b/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java @@ -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); + } } } }