Search in sources :

Example 1 with ProtectedString

use of com.keepassdroid.database.security.ProtectedString in project KeePassDX by Kunzisoft.

the class PwEntryV4 method setString.

public void setString(String key, String value, boolean protect) {
    ProtectedString ps = new ProtectedString(protect, value);
    fields.put(key, ps);
}
Also used : ProtectedString(com.keepassdroid.database.security.ProtectedString)

Example 2 with ProtectedString

use of com.keepassdroid.database.security.ProtectedString in project KeePassDX by Kunzisoft.

the class EntrySearchStringIteratorV4 method advance.

private void advance() {
    while (setIterator.hasNext()) {
        Entry<String, ProtectedString> entry = setIterator.next();
        String key = entry.getKey();
        if (searchInField(key)) {
            current = entry.getValue().toString();
            return;
        }
    }
    current = null;
}
Also used : ProtectedString(com.keepassdroid.database.security.ProtectedString) ProtectedString(com.keepassdroid.database.security.ProtectedString)

Example 3 with ProtectedString

use of com.keepassdroid.database.security.ProtectedString in project KeePassDX by Kunzisoft.

the class PwEntryTestV4 method testAssign.

public void testAssign() {
    PwEntryV4 entry = new PwEntryV4();
    entry.setAdditional("test223");
    entry.setAutoType(new AutoType());
    entry.getAutoType().defaultSequence = "1324";
    entry.getAutoType().enabled = true;
    entry.getAutoType().obfuscationOptions = 123412432109L;
    entry.getAutoType().put("key", "value");
    entry.setBackgroupColor("blue");
    entry.putProtectedBinary("key1", new ProtectedBinary(false, new byte[] { 0, 1 }));
    entry.setCustomIcon(new PwIconCustom(UUID.randomUUID(), new byte[0]));
    entry.setForegroundColor("red");
    entry.addToHistory(new PwEntryV4());
    entry.setIcon(new PwIconStandard(5));
    entry.setOverrideURL("override");
    entry.setParent(new PwGroupV4());
    entry.addField("key2", new ProtectedString(false, "value2"));
    entry.setUrl("http://localhost");
    entry.setUUID(UUID.randomUUID());
    PwEntryV4 target = new PwEntryV4();
    target.assign(entry);
/* This test is not so useful now that I am not implementing value equality for Entries
		assertTrue("Entries do not match.", entry.equals(target));
		*/
}
Also used : PwEntryV4(com.keepassdroid.database.PwEntryV4) AutoType(com.keepassdroid.database.AutoType) PwGroupV4(com.keepassdroid.database.PwGroupV4) ProtectedBinary(com.keepassdroid.database.security.ProtectedBinary) PwIconCustom(com.keepassdroid.database.PwIconCustom) ProtectedString(com.keepassdroid.database.security.ProtectedString) PwIconStandard(com.keepassdroid.database.PwIconStandard)

Example 4 with ProtectedString

use of com.keepassdroid.database.security.ProtectedString in project KeePassDX by Kunzisoft.

the class EntryEditActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.entry_edit);
    Toolbar toolbar = findViewById(R.id.toolbar);
    toolbar.setTitle(getString(R.string.app_name));
    setSupportActionBar(toolbar);
    assert getSupportActionBar() != null;
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    scrollView = findViewById(R.id.entry_scroll);
    scrollView.setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET);
    entryTitleView = findViewById(R.id.entry_title);
    entryUserNameView = findViewById(R.id.entry_user_name);
    entryUrlView = findViewById(R.id.entry_url);
    entryPasswordView = findViewById(R.id.entry_password);
    entryConfirmationPasswordView = findViewById(R.id.entry_confpassword);
    entryCommentView = findViewById(R.id.entry_comment);
    entryExtraFieldsContainer = findViewById(R.id.advanced_container);
    // Likely the app has been killed exit the activity
    Database db = App.getDB();
    if (!db.Loaded()) {
        finish();
        return;
    }
    Intent intent = getIntent();
    byte[] uuidBytes = intent.getByteArrayExtra(KEY_ENTRY);
    PwDatabase pm = db.pm;
    if (uuidBytes == null) {
        PwGroupId parentId = (PwGroupId) intent.getSerializableExtra(KEY_PARENT);
        PwGroup parent = pm.groups.get(parentId);
        mEntry = PwEntry.getInstance(parent);
        mIsNew = true;
    } else {
        UUID uuid = Types.bytestoUUID(uuidBytes);
        mEntry = pm.entries.get(uuid);
        mIsNew = false;
        fillData();
    }
    View iconButton = findViewById(R.id.icon_button);
    iconButton.setOnClickListener(v -> IconPickerDialogFragment.launch(EntryEditActivity.this));
    // Generate password button
    View generatePassword = findViewById(R.id.generate_button);
    generatePassword.setOnClickListener(v -> {
        GeneratePasswordDialogFragment generatePasswordDialogFragment = new GeneratePasswordDialogFragment();
        generatePasswordDialogFragment.show(getSupportFragmentManager(), "PasswordGeneratorFragment");
    });
    // Save button
    View save = findViewById(R.id.entry_save);
    save.setOnClickListener(v -> {
        if (!validateBeforeSaving()) {
            return;
        }
        mCallbackNewEntry = populateNewEntry();
        OnFinish onFinish = new AfterSave();
        EntryEditActivity act = EntryEditActivity.this;
        RunnableOnFinish task;
        if (mIsNew) {
            task = new AddEntry(act, App.getDB(), mCallbackNewEntry, onFinish);
        } else {
            task = new UpdateEntry(act, App.getDB(), mEntry, mCallbackNewEntry, onFinish);
        }
        ProgressTask pt = new ProgressTask(act, task, R.string.saving_database);
        pt.run();
    });
    if (mEntry.allowExtraFields()) {
        View add = findViewById(R.id.add_new_field);
        add.setVisibility(View.VISIBLE);
        add.setOnClickListener(v -> {
            EntryEditNewField ees = new EntryEditNewField(EntryEditActivity.this);
            ees.setData("", new ProtectedString(false, ""));
            entryExtraFieldsContainer.addView(ees);
            // Scroll bottom
            scrollView.post(() -> scrollView.fullScroll(ScrollView.FOCUS_DOWN));
        });
    }
}
Also used : ProgressTask(com.keepassdroid.tasks.ProgressTask) UpdateEntry(com.keepassdroid.database.edit.UpdateEntry) PwDatabase(com.keepassdroid.database.PwDatabase) RunnableOnFinish(com.keepassdroid.database.edit.RunnableOnFinish) Intent(android.content.Intent) OnFinish(com.keepassdroid.database.edit.OnFinish) RunnableOnFinish(com.keepassdroid.database.edit.RunnableOnFinish) EntryEditNewField(com.keepassdroid.view.EntryEditNewField) View(android.view.View) ScrollView(android.widget.ScrollView) AddEntry(com.keepassdroid.database.edit.AddEntry) GeneratePasswordDialogFragment(com.keepassdroid.dialogs.GeneratePasswordDialogFragment) PwGroupId(com.keepassdroid.database.PwGroupId) PwDatabase(com.keepassdroid.database.PwDatabase) Database(com.keepassdroid.database.Database) ProtectedString(com.keepassdroid.database.security.ProtectedString) PwGroup(com.keepassdroid.database.PwGroup) UUID(java.util.UUID) Toolbar(android.support.v7.widget.Toolbar)

Example 5 with ProtectedString

use of com.keepassdroid.database.security.ProtectedString in project KeePassDX by Kunzisoft.

the class EntryEditActivity method populateNewEntry.

protected PwEntry populateNewEntry() {
    PwDatabase db = App.getDB().pm;
    PwEntry newEntry = mEntry.clone();
    newEntry.startToDecodeReference(db);
    newEntry.createBackup(db);
    newEntry.setLastAccessTime(new PwDate());
    newEntry.setLastModificationTime(new PwDate());
    newEntry.setTitle(entryTitleView.getText().toString());
    if (mSelectedIconID != -1)
        // or TODO icon factory newEntry.setIcon(App.getDB().pm.iconFactory.getIcon(mSelectedIconID));
        newEntry.setIcon(new PwIconStandard(mSelectedIconID));
    else {
        if (mIsNew) {
            newEntry.setIcon(App.getDB().pm.iconFactory.getIcon(0));
        } else {
            //  Keep previous icon, if no new one was selected
            newEntry.setIcon(mEntry.getIconStandard());
        }
    }
    newEntry.setUrl(entryUrlView.getText().toString());
    newEntry.setUsername(entryUserNameView.getText().toString());
    newEntry.setNotes(entryCommentView.getText().toString());
    newEntry.setPassword(entryPasswordView.getText().toString());
    if (newEntry.allowExtraFields()) {
        // Delete all new standard strings
        newEntry.removeExtraFields();
        // Add extra fields from views
        for (int i = 0; i < entryExtraFieldsContainer.getChildCount(); i++) {
            EntryEditNewField view = (EntryEditNewField) entryExtraFieldsContainer.getChildAt(i);
            String key = view.getLabel();
            String value = view.getValue();
            boolean protect = view.isProtected();
            newEntry.addField(key, new ProtectedString(protect, value));
        }
    }
    newEntry.endToDecodeReference(db);
    return newEntry;
}
Also used : PwDatabase(com.keepassdroid.database.PwDatabase) PwDate(com.keepassdroid.database.PwDate) PwEntry(com.keepassdroid.database.PwEntry) ProtectedString(com.keepassdroid.database.security.ProtectedString) PwIconStandard(com.keepassdroid.database.PwIconStandard) ProtectedString(com.keepassdroid.database.security.ProtectedString) EntryEditNewField(com.keepassdroid.view.EntryEditNewField)

Aggregations

ProtectedString (com.keepassdroid.database.security.ProtectedString)7 EntryEditNewField (com.keepassdroid.view.EntryEditNewField)3 PwDatabase (com.keepassdroid.database.PwDatabase)2 PwIconStandard (com.keepassdroid.database.PwIconStandard)2 Map (java.util.Map)2 Intent (android.content.Intent)1 Toolbar (android.support.v7.widget.Toolbar)1 View (android.view.View)1 ImageButton (android.widget.ImageButton)1 LinearLayout (android.widget.LinearLayout)1 ScrollView (android.widget.ScrollView)1 AutoType (com.keepassdroid.database.AutoType)1 Database (com.keepassdroid.database.Database)1 PwDate (com.keepassdroid.database.PwDate)1 PwEntry (com.keepassdroid.database.PwEntry)1 PwEntryV4 (com.keepassdroid.database.PwEntryV4)1 PwGroup (com.keepassdroid.database.PwGroup)1 PwGroupId (com.keepassdroid.database.PwGroupId)1 PwGroupV4 (com.keepassdroid.database.PwGroupV4)1 PwIconCustom (com.keepassdroid.database.PwIconCustom)1