Here is source code. Do let us know If you need anything
// get sync parameters from geodatabase
final SyncGeodatabaseParameters syncParams = gdb.getSyncParameters();
CallbackListener<Map<Integer, GeodatabaseFeatureTableEditErrors>> syncResponseCallback = new CallbackListener<Map<Integer, GeodatabaseFeatureTableEditErrors>>() {
public void onCallback(Map<Integer, GeodatabaseFeatureTableEditErrors> objs) {
if (objs != null) {
if (objs.size() > 0) {
} else {
showMessage(activity, "Synchronization Completed");
}
} else {
showMessage(activity, "Synchronization Completed");
}
}
@Override
public void onError(Throwable e) {
showMessage(activity, e.getMessage());
}
};
GeodatabaseStatusCallback statusCallback = new GeodatabaseStatusCallback() {
@Override
public void statusUpdated(GeodatabaseStatusInfo status) {
if (status.getStatus().toString() == "Completed") {
currentCount++;
if (totalCounts == currentCount) {
- OfflineEditorActivity.handler.sendEmptyMessage(2);
currentCount = 0;
}
} else if (status.getStatus().toString() == "Failed") {
currentCount++;
if (totalCounts == currentCount) {
currentCount = 0;
OfflineEditorActivity.handler.sendEmptyMessage(0);
Intent goSyncDashboard = new Intent(activity, MapDashboard.class);
activity.startActivity(goSyncDashboard);
activity.finish();
}
}
showMessage(activity, status.getStatus().toString());
}
};
LayerSyncInfo jhkhjkf = syncParams.getSyncLayers().get(0);
LayerSyncInfo lsiWFAP = new LayerSyncInfo();
lsiWFAP.setLayerId(syncParams.getSyncLayers().get(0).getLayerId());
LayerSyncInfo lsiBuilding = new LayerSyncInfo();
lsiBuilding.setLayerId(syncParams.getSyncLayers().get(1).getLayerId());
lsiBuilding.setSyncDirection(SyncDirection.NONE);
LayerSyncInfo lsiLandmark = new LayerSyncInfo();
lsiLandmark.setLayerId(syncParams.getSyncLayers().get(2).getLayerId());
lsiLandmark.setSyncDirection(SyncDirection.NONE);
LayerSyncInfo lsiRoad = new LayerSyncInfo();
lsiRoad.setLayerId(syncParams.getSyncLayers().get(3).getLayerId());
lsiRoad.setSyncDirection(SyncDirection.NONE);
LayerSyncInfo lsiRail = new LayerSyncInfo();
lsiRail.setLayerId(syncParams.getSyncLayers().get(4).getLayerId());
lsiRail.setSyncDirection(SyncDirection.NONE);
LayerSyncInfos lsi = new LayerSyncInfos();
lsi.add(lsiWFAP);
lsi.add(lsiBuilding);
lsi.add(lsiLandmark);
lsi.add(lsiRoad);
lsi.add(lsiRail);
// Error occured in below line of code
syncParams.setSyncLayers(lsi);
// start sync...
gdbTask.syncGeodatabase(syncParams, gdb, statusCallback, syncResponseCallback);
} catch (Exception e) {
e.printStackTrace();
}
}