J'ai un projet avec CouchDB
et couchbase-lite
sur Android
. J'ai un Activitiy
, disons ReplicationActivity, où je montre un ProgressDialog
tandis que le processus de réplication s'exécute, ce processus utilise environ 2 heures. Mon plan est lorsque le processus de réplication est terminé, l'application déplace l'utilisateur à MainActivity.
Le problème que j'ai est que l'application se déplace vers MainActivity avant que le processus est terminé, donc je n'ai pas toutes les données disponibles sur MainActivitySurveillance du processus de réplication sur CouchDB
Afin de surveiller le processus de réplication que je fais ceci:
CouchbaseManager.getInstance().addProgressListener(new Replication.ChangeListener() {
@Override
public void changed(Replication.ChangeEvent event) {
if (CouchbaseManager.getInstance().getReplicationProgress() > 0 &&
CouchbaseManager.getInstance().getReplicationTotal() > 0 &&
CouchbaseManager.getInstance().getReplicationTotal() ==
CouchbaseManager.getInstance().getReplicationProgress() &&
CouchbaseManager.getInstance().getPullwork().getStatus() !=
Replication.ReplicationStatus.REPLICATION_ACTIVE &&
CouchbaseManager.getInstance().getPushwork().getStatus() !=
Replication.ReplicationStatus.REPLICATION_ACTIVE &&
CouchbaseManager.getInstance().getPullmaster().getStatus() !=
Replication.ReplicationStatus.REPLICATION_ACTIVE) {
if (mProgressDialog != null && mProgressDialog.isShowing()) {
mProgressDialog.dismiss();
Log.i("usercontroller", "MOVING TO MAIN ACTIVITY");
}
Une idée de ce que je peux faire pour savoir quand le processus de réplication est terminé?