Update UUID handling.

This commit is contained in:
Brian Pellin
2009-05-28 23:01:42 -05:00
parent cdf00aa850
commit 01fccaf3eb
6 changed files with 26 additions and 11 deletions

View File

@@ -34,6 +34,7 @@ import org.phoneid.keepassj2me.ImporterV3;
import org.phoneid.keepassj2me.PwEntry;
import org.phoneid.keepassj2me.PwGroup;
import org.phoneid.keepassj2me.PwManager;
import org.phoneid.keepassj2me.Types;
import com.android.keepass.keepasslib.InvalidKeyFileException;
import com.android.keepass.keepasslib.PwManagerOutput;
@@ -136,7 +137,7 @@ public class Database {
for (int i = 0; i < childEntries.size(); i++ ) {
PwEntry cur = childEntries.elementAt(i);
gEntries.put(UUID.nameUUIDFromBytes(cur.uuid), new WeakReference<PwEntry>(cur));
gEntries.put(Types.bytestoUUID(cur.uuid), new WeakReference<PwEntry>(cur));
}
for (int i = 0; i < childGroups.size(); i++ ) {

View File

@@ -26,6 +26,7 @@ import java.util.TimerTask;
import java.util.UUID;
import org.phoneid.keepassj2me.PwEntry;
import org.phoneid.keepassj2me.Types;
import android.app.Activity;
import android.content.Context;
@@ -72,7 +73,7 @@ public class EntryActivity extends LockingActivity {
setResult(KeePass.EXIT_NORMAL);
Intent i = getIntent();
UUID uuid = UUID.nameUUIDFromBytes(i.getByteArrayExtra(KEY_ENTRY));
UUID uuid = Types.bytestoUUID(i.getByteArrayExtra(KEY_ENTRY));
mPos = i.getIntExtra(KEY_REFRESH_POS, -1);
assert(uuid != null);

View File

@@ -25,6 +25,7 @@ import java.util.UUID;
import org.phoneid.keepassj2me.PwEntry;
import org.phoneid.keepassj2me.PwGroup;
import org.phoneid.keepassj2me.Types;
import android.app.Activity;
import android.app.ProgressDialog;
@@ -84,7 +85,7 @@ public class EntryEditActivity extends LockingActivity {
mIsNew = true;
} else {
UUID uuid = UUID.nameUUIDFromBytes(uuidBytes);
UUID uuid = Types.bytestoUUID(uuidBytes);
assert(uuid != null);
mEntry = Database.gEntries.get(uuid).get();

View File

@@ -158,11 +158,6 @@ public class PasswordActivity extends Activity {
Thread bkgLoad = new Thread(new BackgroundLoad(fileName, pass, key));
bkgLoad.start();
/*
Database.LoadData(fileName, pass, key);
saveFileData(fileName, key);
GroupActivity.Launch(mAct, null);
*/
}
}
@@ -260,7 +255,7 @@ public class PasswordActivity extends Activity {
@Override
public void run() {
try {
Database.LoadData(mFileName, mPass, mKey);
Database.LoadData(PasswordActivity.this, mFileName, mPass, mKey);
saveFileData(mFileName, mKey);
uiHandler.post(new AfterLoad());

View File

@@ -42,7 +42,7 @@ import java.util.Vector;
*/
public class PwGroup {
public PwGroup() {
}
}
public String toString() {
return name;

View File

@@ -28,6 +28,7 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.Calendar;
import java.util.Date;
import java.util.UUID;
/**
* Tools for slicing and dicing Java and KeePass data types.
@@ -258,5 +259,21 @@ public class Types {
return length;
}
public static UUID bytestoUUID(byte[] buf) {
long msb = 0;
for (int i = 0; i < 8; i++) {
msb = (msb << 8) | (buf[i] & 0xff);
}
long lsb = 0;
for (int i = 8; i < 16; i++) {
lsb = (lsb << 8) | (buf[i] & 0xff);
}
return new UUID(msb, lsb);
}
}