UserMigrated should update user ids for both the old and new ids

pull/14/head
Sam Bosley 11 years ago
parent 2e2fea9deb
commit e98e12537c

@ -40,8 +40,7 @@ public class ConvertSelfUserIdsToZero {
DependencyInjectionService.getInstance().inject(this);
}
public synchronized void execute() {
String selfId = ActFmPreferenceService.userId();
public synchronized void execute(String selfId) {
if (RemoteModel.isValidUuid(selfId)) {
updateDatabase(taskDao, new Task(), Task.CREATOR_ID, selfId);
updateDatabase(taskDao, new Task(), Task.USER_ID, selfId);
@ -52,6 +51,11 @@ public class ConvertSelfUserIdsToZero {
}
}
public synchronized void execute() {
String selfId = ActFmPreferenceService.userId();
execute(selfId);
}
private <T extends AbstractModel> void updateDatabase(DatabaseDao<T> dao, T instance, StringProperty property, String selfId) {
instance.setValue(property, Task.USER_ID_SELF);
instance.putTransitory(SyncFlags.ACTFM_SUPPRESS_OUTSTANDING_ENTRIES, true);

@ -14,11 +14,16 @@ public class UserMigrated extends ServerToClientMessage {
@Override
public void processMessage(String serverTime) {
String oldUuid = json.optString("prev_user_id"); //$NON-NLS-1$
String newUuid = json.optString("new_user_id"); //$NON-NLS-1$
if (RemoteModel.isValidUuid(newUuid)) {
Preferences.setString(ActFmPreferenceService.PREF_USER_ID, newUuid);
new ConvertSelfUserIdsToZero().execute();
}
if (RemoteModel.isValidUuid(oldUuid)) {
new ConvertSelfUserIdsToZero().execute(oldUuid);
}
}
}

Loading…
Cancel
Save