mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Update UUID handling.
This commit is contained in:
@@ -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++ ) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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());
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ import java.util.Vector;
|
||||
*/
|
||||
public class PwGroup {
|
||||
public PwGroup() {
|
||||
}
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return name;
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user