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.PwEntry;
|
||||||
import org.phoneid.keepassj2me.PwGroup;
|
import org.phoneid.keepassj2me.PwGroup;
|
||||||
import org.phoneid.keepassj2me.PwManager;
|
import org.phoneid.keepassj2me.PwManager;
|
||||||
|
import org.phoneid.keepassj2me.Types;
|
||||||
|
|
||||||
import com.android.keepass.keepasslib.InvalidKeyFileException;
|
import com.android.keepass.keepasslib.InvalidKeyFileException;
|
||||||
import com.android.keepass.keepasslib.PwManagerOutput;
|
import com.android.keepass.keepasslib.PwManagerOutput;
|
||||||
@@ -136,7 +137,7 @@ public class Database {
|
|||||||
|
|
||||||
for (int i = 0; i < childEntries.size(); i++ ) {
|
for (int i = 0; i < childEntries.size(); i++ ) {
|
||||||
PwEntry cur = childEntries.elementAt(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++ ) {
|
for (int i = 0; i < childGroups.size(); i++ ) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import java.util.TimerTask;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.phoneid.keepassj2me.PwEntry;
|
import org.phoneid.keepassj2me.PwEntry;
|
||||||
|
import org.phoneid.keepassj2me.Types;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -72,7 +73,7 @@ public class EntryActivity extends LockingActivity {
|
|||||||
setResult(KeePass.EXIT_NORMAL);
|
setResult(KeePass.EXIT_NORMAL);
|
||||||
|
|
||||||
Intent i = getIntent();
|
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);
|
mPos = i.getIntExtra(KEY_REFRESH_POS, -1);
|
||||||
assert(uuid != null);
|
assert(uuid != null);
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import java.util.UUID;
|
|||||||
|
|
||||||
import org.phoneid.keepassj2me.PwEntry;
|
import org.phoneid.keepassj2me.PwEntry;
|
||||||
import org.phoneid.keepassj2me.PwGroup;
|
import org.phoneid.keepassj2me.PwGroup;
|
||||||
|
import org.phoneid.keepassj2me.Types;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
@@ -84,7 +85,7 @@ public class EntryEditActivity extends LockingActivity {
|
|||||||
mIsNew = true;
|
mIsNew = true;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
UUID uuid = UUID.nameUUIDFromBytes(uuidBytes);
|
UUID uuid = Types.bytestoUUID(uuidBytes);
|
||||||
assert(uuid != null);
|
assert(uuid != null);
|
||||||
|
|
||||||
mEntry = Database.gEntries.get(uuid).get();
|
mEntry = Database.gEntries.get(uuid).get();
|
||||||
|
|||||||
@@ -158,11 +158,6 @@ public class PasswordActivity extends Activity {
|
|||||||
Thread bkgLoad = new Thread(new BackgroundLoad(fileName, pass, key));
|
Thread bkgLoad = new Thread(new BackgroundLoad(fileName, pass, key));
|
||||||
bkgLoad.start();
|
bkgLoad.start();
|
||||||
|
|
||||||
/*
|
|
||||||
Database.LoadData(fileName, pass, key);
|
|
||||||
saveFileData(fileName, key);
|
|
||||||
GroupActivity.Launch(mAct, null);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,7 +255,7 @@ public class PasswordActivity extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
Database.LoadData(mFileName, mPass, mKey);
|
Database.LoadData(PasswordActivity.this, mFileName, mPass, mKey);
|
||||||
saveFileData(mFileName, mKey);
|
saveFileData(mFileName, mKey);
|
||||||
uiHandler.post(new AfterLoad());
|
uiHandler.post(new AfterLoad());
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ import java.util.Vector;
|
|||||||
*/
|
*/
|
||||||
public class PwGroup {
|
public class PwGroup {
|
||||||
public PwGroup() {
|
public PwGroup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return name;
|
return name;
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import java.io.IOException;
|
|||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tools for slicing and dicing Java and KeePass data types.
|
* Tools for slicing and dicing Java and KeePass data types.
|
||||||
@@ -258,5 +259,21 @@ public class Types {
|
|||||||
|
|
||||||
return length;
|
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