diff --git a/app/build.gradle b/app/build.gradle index e53c02032..52915c4e8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -107,9 +107,7 @@ dependencies { implementation 'biz.source_code:base64coder:2010-12-19' implementation 'com.google.code.gson:gson:2.8.4' implementation 'com.google.guava:guava:23.0-android' - // Icon pack, classic for all, material for libre and pro + // Icon pack implementation project(path: ':icon-pack-classic') implementation project(path: ':icon-pack-material') - implementation project(path: ':magikeyboard') - implementation project(path: ':keepass-model') } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 36986775d..158909098 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -132,7 +132,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/EntryRetrieverActivity.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/EntryRetrieverActivity.java similarity index 94% rename from magikeyboard/src/main/java/com/kunzisoft/magikeyboard/EntryRetrieverActivity.java rename to app/src/main/java/com/kunzisoft/keepass/magikeyboard/EntryRetrieverActivity.java index 8b2b1fc76..607316b5c 100644 --- a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/EntryRetrieverActivity.java +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/EntryRetrieverActivity.java @@ -1,4 +1,4 @@ -package com.kunzisoft.magikeyboard; +package com.kunzisoft.keepass.magikeyboard; import android.app.Activity; import android.content.Intent; @@ -9,7 +9,8 @@ import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; -import com.kunzisoft.keepass_model.Entry; +import com.kunzisoft.keepass.R; +import com.kunzisoft.keepass.model.Entry; public class EntryRetrieverActivity extends AppCompatActivity { diff --git a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/KeyboardEntryNotificationService.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/KeyboardEntryNotificationService.java similarity index 93% rename from magikeyboard/src/main/java/com/kunzisoft/magikeyboard/KeyboardEntryNotificationService.java rename to app/src/main/java/com/kunzisoft/keepass/magikeyboard/KeyboardEntryNotificationService.java index e7f53f765..f31823c26 100644 --- a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/KeyboardEntryNotificationService.java +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/KeyboardEntryNotificationService.java @@ -1,4 +1,4 @@ -package com.kunzisoft.magikeyboard; +package com.kunzisoft.keepass.magikeyboard; import android.app.NotificationChannel; import android.app.NotificationManager; @@ -12,11 +12,12 @@ import android.os.IBinder; import android.support.v4.app.NotificationCompat; import android.util.Log; -import com.kunzisoft.magikeyboard.receiver.LockBroadcastReceiver; -import com.kunzisoft.magikeyboard.receiver.NotificationDeleteBroadcastReceiver; +import com.kunzisoft.keepass.R; +import com.kunzisoft.keepass.magikeyboard.receiver.LockBroadcastReceiver; +import com.kunzisoft.keepass.magikeyboard.receiver.NotificationDeleteBroadcastReceiver; import static android.content.ContentValues.TAG; -import static com.kunzisoft.magikeyboard.receiver.LockBroadcastReceiver.LOCK_ACTION; +import static com.kunzisoft.keepass.magikeyboard.receiver.LockBroadcastReceiver.LOCK_ACTION; public class KeyboardEntryNotificationService extends Service { diff --git a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/MagikIME.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikIME.java similarity index 96% rename from magikeyboard/src/main/java/com/kunzisoft/magikeyboard/MagikIME.java rename to app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikIME.java index 8ae649b93..eaba92a89 100644 --- a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/MagikIME.java +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikIME.java @@ -17,7 +17,7 @@ * along with KeePass DX. If not, see . * */ -package com.kunzisoft.magikeyboard; +package com.kunzisoft.keepass.magikeyboard; import android.content.Context; import android.content.Intent; @@ -36,10 +36,11 @@ import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; import android.view.inputmethod.InputMethodManager; -import com.kunzisoft.keepass_model.Entry; -import com.kunzisoft.magikeyboard.receiver.LockBroadcastReceiver; +import com.kunzisoft.keepass.R; +import com.kunzisoft.keepass.magikeyboard.receiver.LockBroadcastReceiver; +import com.kunzisoft.keepass.model.Entry; -import static com.kunzisoft.magikeyboard.receiver.LockBroadcastReceiver.LOCK_ACTION; +import static com.kunzisoft.keepass.magikeyboard.receiver.LockBroadcastReceiver.LOCK_ACTION; public class MagikIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener { diff --git a/app/src/main/java/com/kunzisoft/keepass/magikeyboard/Utility.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/Utility.java new file mode 100644 index 000000000..5eecdae92 --- /dev/null +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/Utility.java @@ -0,0 +1,6 @@ +package com.kunzisoft.keepass.magikeyboard; + +public class Utility { + + +} diff --git a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/receiver/LockBroadcastReceiver.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/receiver/LockBroadcastReceiver.java similarity index 91% rename from magikeyboard/src/main/java/com/kunzisoft/magikeyboard/receiver/LockBroadcastReceiver.java rename to app/src/main/java/com/kunzisoft/keepass/magikeyboard/receiver/LockBroadcastReceiver.java index bb4ac5841..721ff5220 100644 --- a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/receiver/LockBroadcastReceiver.java +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/receiver/LockBroadcastReceiver.java @@ -1,4 +1,4 @@ -package com.kunzisoft.magikeyboard.receiver; +package com.kunzisoft.keepass.magikeyboard.receiver; import android.content.BroadcastReceiver; import android.content.Context; diff --git a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/receiver/NotificationDeleteBroadcastReceiver.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/receiver/NotificationDeleteBroadcastReceiver.java similarity index 80% rename from magikeyboard/src/main/java/com/kunzisoft/magikeyboard/receiver/NotificationDeleteBroadcastReceiver.java rename to app/src/main/java/com/kunzisoft/keepass/magikeyboard/receiver/NotificationDeleteBroadcastReceiver.java index e429b388b..80c71db13 100644 --- a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/receiver/NotificationDeleteBroadcastReceiver.java +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/receiver/NotificationDeleteBroadcastReceiver.java @@ -1,13 +1,13 @@ -package com.kunzisoft.magikeyboard.receiver; +package com.kunzisoft.keepass.magikeyboard.receiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import com.kunzisoft.magikeyboard.KeyboardEntryNotificationService; -import com.kunzisoft.magikeyboard.MagikIME; -import com.kunzisoft.magikeyboard.R; +import com.kunzisoft.keepass.R; +import com.kunzisoft.keepass.magikeyboard.KeyboardEntryNotificationService; +import com.kunzisoft.keepass.magikeyboard.MagikIME; public class NotificationDeleteBroadcastReceiver extends BroadcastReceiver { diff --git a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/settings/MagikIMESettings.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/settings/MagikIMESettings.java similarity index 97% rename from magikeyboard/src/main/java/com/kunzisoft/magikeyboard/settings/MagikIMESettings.java rename to app/src/main/java/com/kunzisoft/keepass/magikeyboard/settings/MagikIMESettings.java index e053954c5..493971306 100644 --- a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/settings/MagikIMESettings.java +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/settings/MagikIMESettings.java @@ -17,7 +17,7 @@ * along with KeePass DX. If not, see . * */ -package com.kunzisoft.magikeyboard.settings; +package com.kunzisoft.keepass.magikeyboard.settings; import android.os.Bundle; import android.support.v4.app.FragmentManager; @@ -25,7 +25,7 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; -import com.kunzisoft.magikeyboard.R; +import com.kunzisoft.keepass.R; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; diff --git a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/settings/MagikIMESettingsFragment.java b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/settings/MagikIMESettingsFragment.java similarity index 67% rename from magikeyboard/src/main/java/com/kunzisoft/magikeyboard/settings/MagikIMESettingsFragment.java rename to app/src/main/java/com/kunzisoft/keepass/magikeyboard/settings/MagikIMESettingsFragment.java index a4727175f..7144cee68 100644 --- a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/settings/MagikIMESettingsFragment.java +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/settings/MagikIMESettingsFragment.java @@ -1,15 +1,15 @@ -package com.kunzisoft.magikeyboard.settings; +package com.kunzisoft.keepass.magikeyboard.settings; import android.os.Bundle; import android.support.v7.preference.PreferenceFragmentCompat; -import com.kunzisoft.magikeyboard.R; +import com.kunzisoft.keepass.R; public class MagikIMESettingsFragment extends PreferenceFragmentCompat { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { // Load the preferences from an XML resource - setPreferencesFromResource(R.xml.ime_preferences, rootKey); + setPreferencesFromResource(R.xml.keyboard_preferences, rootKey); } } diff --git a/keepass-model/src/main/java/com/kunzisoft/keepass_model/Entry.java b/app/src/main/java/com/kunzisoft/keepass/model/Entry.java similarity index 98% rename from keepass-model/src/main/java/com/kunzisoft/keepass_model/Entry.java rename to app/src/main/java/com/kunzisoft/keepass/model/Entry.java index 02f334c50..db722499a 100644 --- a/keepass-model/src/main/java/com/kunzisoft/keepass_model/Entry.java +++ b/app/src/main/java/com/kunzisoft/keepass/model/Entry.java @@ -1,4 +1,4 @@ -package com.kunzisoft.keepass_model; +package com.kunzisoft.keepass.model; import android.os.Parcel; import android.os.Parcelable; diff --git a/app/src/main/java/com/kunzisoft/keepass/selection/EntrySelectionHelper.java b/app/src/main/java/com/kunzisoft/keepass/selection/EntrySelectionHelper.java index 70caafe3b..a70873b67 100644 --- a/app/src/main/java/com/kunzisoft/keepass/selection/EntrySelectionHelper.java +++ b/app/src/main/java/com/kunzisoft/keepass/selection/EntrySelectionHelper.java @@ -5,7 +5,7 @@ import android.content.Intent; import android.util.Log; import com.kunzisoft.keepass.database.PwEntry; -import com.kunzisoft.keepass_model.Entry; +import com.kunzisoft.keepass.model.Entry; public class EntrySelectionHelper { diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/NestedSettingsFragment.java b/app/src/main/java/com/kunzisoft/keepass/settings/NestedSettingsFragment.java index 48167cea2..6ccda6254 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/NestedSettingsFragment.java +++ b/app/src/main/java/com/kunzisoft/keepass/settings/NestedSettingsFragment.java @@ -60,7 +60,7 @@ import com.kunzisoft.keepass.settings.preferenceDialogFragment.MemoryUsagePrefer import com.kunzisoft.keepass.settings.preferenceDialogFragment.ParallelismPreferenceDialogFragmentCompat; import com.kunzisoft.keepass.settings.preferenceDialogFragment.RoundsPreferenceDialogFragmentCompat; import com.kunzisoft.keepass.stylish.Stylish; -import com.kunzisoft.magikeyboard.settings.MagikIMESettings; +import com.kunzisoft.keepass.magikeyboard.settings.MagikIMESettings; public class NestedSettingsFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener { diff --git a/magikeyboard/src/main/res/drawable/ic_backspace_white_24dp.xml b/app/src/main/res/drawable/ic_backspace_white_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_backspace_white_24dp.xml rename to app/src/main/res/drawable/ic_backspace_white_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/ic_comment_white_24dp.xml b/app/src/main/res/drawable/ic_comment_white_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_comment_white_24dp.xml rename to app/src/main/res/drawable/ic_comment_white_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/ic_keyboard_return_white_24dp.xml b/app/src/main/res/drawable/ic_keyboard_return_white_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_keyboard_return_white_24dp.xml rename to app/src/main/res/drawable/ic_keyboard_return_white_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/ic_keyboard_white_24dp.xml b/app/src/main/res/drawable/ic_keyboard_white_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_keyboard_white_24dp.xml rename to app/src/main/res/drawable/ic_keyboard_white_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/ic_link_black_24dp.xml b/app/src/main/res/drawable/ic_link_black_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_link_black_24dp.xml rename to app/src/main/res/drawable/ic_link_black_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/ic_list_white_24dp.xml b/app/src/main/res/drawable/ic_list_white_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_list_white_24dp.xml rename to app/src/main/res/drawable/ic_list_white_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/ic_password_white_24dp.xml b/app/src/main/res/drawable/ic_password_white_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_password_white_24dp.xml rename to app/src/main/res/drawable/ic_password_white_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/ic_person_white_24dp.xml b/app/src/main/res/drawable/ic_person_white_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_person_white_24dp.xml rename to app/src/main/res/drawable/ic_person_white_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/ic_vpn_key_white_24dp.xml b/app/src/main/res/drawable/ic_vpn_key_white_24dp.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/ic_vpn_key_white_24dp.xml rename to app/src/main/res/drawable/ic_vpn_key_white_24dp.xml diff --git a/magikeyboard/src/main/res/drawable/key_background.xml b/app/src/main/res/drawable/key_background.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/key_background.xml rename to app/src/main/res/drawable/key_background.xml diff --git a/magikeyboard/src/main/res/drawable/key_background_normal.xml b/app/src/main/res/drawable/key_background_normal.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/key_background_normal.xml rename to app/src/main/res/drawable/key_background_normal.xml diff --git a/magikeyboard/src/main/res/drawable/key_background_pressed.xml b/app/src/main/res/drawable/key_background_pressed.xml similarity index 100% rename from magikeyboard/src/main/res/drawable/key_background_pressed.xml rename to app/src/main/res/drawable/key_background_pressed.xml diff --git a/magikeyboard/src/main/res/layout/empty.xml b/app/src/main/res/layout/empty.xml similarity index 100% rename from magikeyboard/src/main/res/layout/empty.xml rename to app/src/main/res/layout/empty.xml diff --git a/magikeyboard/src/main/res/layout/key_preview.xml b/app/src/main/res/layout/key_preview.xml similarity index 100% rename from magikeyboard/src/main/res/layout/key_preview.xml rename to app/src/main/res/layout/key_preview.xml diff --git a/magikeyboard/src/main/res/layout/keyboard.xml b/app/src/main/res/layout/keyboard.xml similarity index 100% rename from magikeyboard/src/main/res/layout/keyboard.xml rename to app/src/main/res/layout/keyboard.xml diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 6d1f08c8a..2a25749df 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -68,4 +68,9 @@ #c7c7c7 #999999 #565656 + + #3c474c + #263238 + #3c464c + #263238 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 643f3e375..fc7af7090 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -288,6 +288,50 @@ Lock the database. Go back to your main keyboard. + Magikeyboard + Magikeyboard (KeePass DX) + Magikeyboard settings + + Entry + + erase_entry_timeout_key + Timeout + Timeout to clear the keyboard entry + + notification_entry_key + Notification information + Show a notification when an entry is available + true + + Entry + %1$s available on Magikeyboard + %1$s + + notification_entry_slide_close_key + Clear at closing + Clear the keyboard entry when closing the notification + true + + Appearance + + theme_key + Theme + + Keys + key_vibrate_key + Vibrate on keypress + true + + key_vibrate_duration_key + Keypress vibration duration + + key_sound_key + Sound on keypress + false + + key_long_press_delay_key + Key long press delay + Allow no password Enable the open button if no password identification is selected Read only diff --git a/magikeyboard/src/main/res/xml/keyboard_fields_list.xml b/app/src/main/res/xml/keyboard_fields_list.xml similarity index 100% rename from magikeyboard/src/main/res/xml/keyboard_fields_list.xml rename to app/src/main/res/xml/keyboard_fields_list.xml diff --git a/magikeyboard/src/main/res/xml/keyboard_password.xml b/app/src/main/res/xml/keyboard_password.xml similarity index 100% rename from magikeyboard/src/main/res/xml/keyboard_password.xml rename to app/src/main/res/xml/keyboard_password.xml diff --git a/magikeyboard/src/main/res/xml/keyboard_password_entry.xml b/app/src/main/res/xml/keyboard_password_entry.xml similarity index 100% rename from magikeyboard/src/main/res/xml/keyboard_password_entry.xml rename to app/src/main/res/xml/keyboard_password_entry.xml diff --git a/magikeyboard/src/main/res/xml/ime_preferences.xml b/app/src/main/res/xml/keyboard_preferences.xml similarity index 100% rename from magikeyboard/src/main/res/xml/ime_preferences.xml rename to app/src/main/res/xml/keyboard_preferences.xml diff --git a/magikeyboard/src/main/res/xml/method.xml b/app/src/main/res/xml/method.xml similarity index 100% rename from magikeyboard/src/main/res/xml/method.xml rename to app/src/main/res/xml/method.xml diff --git a/app/src/main/resources/com/kunzisoft/keepass/.gitignore b/app/src/main/resources/com/kunzisoft/keepass/.gitignore deleted file mode 100644 index 48c029696..000000000 --- a/app/src/main/resources/com/kunzisoft/keepass/.gitignore +++ /dev/null @@ -1 +0,0 @@ -R.java diff --git a/app/src/main/resources/org/bouncycastle/asn1/util/ASN1Dump.java.orig b/app/src/main/resources/org/bouncycastle/asn1/util/ASN1Dump.java.orig deleted file mode 100644 index 68c65cbe1..000000000 --- a/app/src/main/resources/org/bouncycastle/asn1/util/ASN1Dump.java.orig +++ /dev/null @@ -1,440 +0,0 @@ -package org.bouncycastle.asn1.util; - -import org.bouncycastle.asn1.ASN1OctetString; -import org.bouncycastle.asn1.ASN1Sequence; -import org.bouncycastle.asn1.ASN1Set; -import org.bouncycastle.asn1.BERConstructedOctetString; -import org.bouncycastle.asn1.BERConstructedSequence; -import org.bouncycastle.asn1.BERSequence; -import org.bouncycastle.asn1.BERSet; -import org.bouncycastle.asn1.BERTaggedObject; -import org.bouncycastle.asn1.DERBMPString; -import org.bouncycastle.asn1.DERBitString; -import org.bouncycastle.asn1.DERBoolean; -import org.bouncycastle.asn1.DERConstructedSequence; -import org.bouncycastle.asn1.DERConstructedSet; -import org.bouncycastle.asn1.DEREncodable; -import org.bouncycastle.asn1.DERGeneralizedTime; -import org.bouncycastle.asn1.DERIA5String; -import org.bouncycastle.asn1.DERInteger; -import org.bouncycastle.asn1.DERNull; -import org.bouncycastle.asn1.DERObject; -import org.bouncycastle.asn1.DERObjectIdentifier; -import org.bouncycastle.asn1.DEROctetString; -import org.bouncycastle.asn1.DERPrintableString; -import org.bouncycastle.asn1.DERSequence; -import org.bouncycastle.asn1.DERSet; -import org.bouncycastle.asn1.DERT61String; -import org.bouncycastle.asn1.DERTaggedObject; -import org.bouncycastle.asn1.DERUTCTime; -import org.bouncycastle.asn1.DERUTF8String; -import org.bouncycastle.asn1.DERUnknownTag; -import org.bouncycastle.asn1.DERVisibleString; -import org.bouncycastle.asn1.DERApplicationSpecific; -import org.bouncycastle.asn1.DERTags; -import org.bouncycastle.asn1.BERApplicationSpecific; -import org.bouncycastle.util.encoders.Hex; - -import java.util.Enumeration; -import java.io.IOException; - -public class ASN1Dump -{ - private static final String TAB = " "; - private static final int SAMPLE_SIZE = 32; - - /** - * dump a DER object as a formatted string with indentation - * - * @param obj the DERObject to be dumped out. - */ - static String _dumpAsString( - String indent, - boolean verbose, - DERObject obj) - { - String nl = System.getProperty("line.separator"); - if (obj instanceof ASN1Sequence) - { - StringBuffer buf = new StringBuffer(); - Enumeration e = ((ASN1Sequence)obj).getObjects(); - String tab = indent + TAB; - - buf.append(indent); - if (obj instanceof BERConstructedSequence) - { - buf.append("BER ConstructedSequence"); - } - else if (obj instanceof DERConstructedSequence) - { - buf.append("DER ConstructedSequence"); - } - else if (obj instanceof BERSequence) - { - buf.append("BER Sequence"); - } - else if (obj instanceof DERSequence) - { - buf.append("DER Sequence"); - } - else - { - buf.append("Sequence"); - } - - buf.append(nl); - - while (e.hasMoreElements()) - { - Object o = e.nextElement(); - - if (o == null || o.equals(new DERNull())) - { - buf.append(tab); - buf.append("NULL"); - buf.append(nl); - } - else if (o instanceof DERObject) - { - buf.append(_dumpAsString(tab, verbose, (DERObject)o)); - } - else - { - buf.append(_dumpAsString(tab, verbose, ((DEREncodable)o).getDERObject())); - } - } - return buf.toString(); - } - else if (obj instanceof DERTaggedObject) - { - StringBuffer buf = new StringBuffer(); - String tab = indent + TAB; - - buf.append(indent); - if (obj instanceof BERTaggedObject) - { - buf.append("BER Tagged ["); - } - else - { - buf.append("Tagged ["); - } - - DERTaggedObject o = (DERTaggedObject)obj; - - buf.append(Integer.toString(o.getTagNo())); - buf.append(']'); - - if (!o.isExplicit()) - { - buf.append(" IMPLICIT "); - } - - buf.append(nl); - - if (o.isEmpty()) - { - buf.append(tab); - buf.append("EMPTY"); - buf.append(nl); - } - else - { - buf.append(_dumpAsString(tab, verbose, o.getObject())); - } - - return buf.toString(); - } - else if (obj instanceof DERConstructedSet) - { - StringBuffer buf = new StringBuffer(); - Enumeration e = ((ASN1Set)obj).getObjects(); - String tab = indent + TAB; - - buf.append(indent); - buf.append("ConstructedSet"); - buf.append(nl); - - while (e.hasMoreElements()) - { - Object o = e.nextElement(); - - if (o == null) - { - buf.append(tab); - buf.append("NULL"); - buf.append(nl); - } - else if (o instanceof DERObject) - { - buf.append(_dumpAsString(tab, verbose, (DERObject)o)); - } - else - { - buf.append(_dumpAsString(tab, verbose, ((DEREncodable)o).getDERObject())); - } - } - return buf.toString(); - } - else if (obj instanceof BERSet) - { - StringBuffer buf = new StringBuffer(); - Enumeration e = ((ASN1Set)obj).getObjects(); - String tab = indent + TAB; - - buf.append(indent); - buf.append("BER Set"); - buf.append(nl); - - while (e.hasMoreElements()) - { - Object o = e.nextElement(); - - if (o == null) - { - buf.append(tab); - buf.append("NULL"); - buf.append(nl); - } - else if (o instanceof DERObject) - { - buf.append(_dumpAsString(tab, verbose, (DERObject)o)); - } - else - { - buf.append(_dumpAsString(tab, verbose, ((DEREncodable)o).getDERObject())); - } - } - return buf.toString(); - } - else if (obj instanceof DERSet) - { - StringBuffer buf = new StringBuffer(); - Enumeration e = ((ASN1Set)obj).getObjects(); - String tab = indent + TAB; - - buf.append(indent); - buf.append("DER Set"); - buf.append(nl); - - while (e.hasMoreElements()) - { - Object o = e.nextElement(); - - if (o == null) - { - buf.append(tab); - buf.append("NULL"); - buf.append(nl); - } - else if (o instanceof DERObject) - { - buf.append(_dumpAsString(tab, verbose, (DERObject)o)); - } - else - { - buf.append(_dumpAsString(tab, verbose, ((DEREncodable)o).getDERObject())); - } - } - return buf.toString(); - } - else if (obj instanceof DERObjectIdentifier) - { - return indent + "ObjectIdentifier(" + ((DERObjectIdentifier)obj).getId() + ")" + nl; - } - else if (obj instanceof DERBoolean) - { - return indent + "Boolean(" + ((DERBoolean)obj).isTrue() + ")" + nl; - } - else if (obj instanceof DERInteger) - { - return indent + "Integer(" + ((DERInteger)obj).getValue() + ")" + nl; - } - else if (obj instanceof BERConstructedOctetString) - { - ASN1OctetString oct = (ASN1OctetString)obj; - if (verbose) - { - return indent + "BER Constructed Octet String" + "[" + oct.getOctets().length + "] " + dumpBinaryDataAsString(indent, oct.getOctets()) + nl; - } - return indent + "BER Constructed Octet String" + "[" + oct.getOctets().length + "] " + nl; - } - else if (obj instanceof DEROctetString) - { - ASN1OctetString oct = (ASN1OctetString)obj; - if (verbose) - { - return indent + "DER Octet String" + "[" + oct.getOctets().length + "] " + dumpBinaryDataAsString(indent, oct.getOctets()) + nl; - } - return indent + "DER Octet String" + "[" + oct.getOctets().length + "] " + nl; - } - else if (obj instanceof DERBitString) - { - DERBitString bt = (DERBitString)obj; - if (verbose) - { - return indent + "DER Bit String" + "[" + bt.getBytes().length + ", " + bt.getPadBits() + "] " + dumpBinaryDataAsString(indent, bt.getBytes()) + nl; - } - return indent + "DER Bit String" + "[" + bt.getBytes().length + ", " + bt.getPadBits() + "] " + nl; - } - else if (obj instanceof DERIA5String) - { - return indent + "IA5String(" + ((DERIA5String)obj).getString() + ") " + nl; - } - else if (obj instanceof DERUTF8String) - { - return indent + "UTF8String(" + ((DERUTF8String)obj).getString() + ") " + nl; - } - else if (obj instanceof DERPrintableString) - { - return indent + "PrintableString(" + ((DERPrintableString)obj).getString() + ") " + nl; - } - else if (obj instanceof DERVisibleString) - { - return indent + "VisibleString(" + ((DERVisibleString)obj).getString() + ") " + nl; - } - else if (obj instanceof DERBMPString) - { - return indent + "BMPString(" + ((DERBMPString)obj).getString() + ") " + nl; - } - else if (obj instanceof DERT61String) - { - return indent + "T61String(" + ((DERT61String)obj).getString() + ") " + nl; - } - else if (obj instanceof DERUTCTime) - { - return indent + "UTCTime(" + ((DERUTCTime)obj).getTime() + ") " + nl; - } - else if (obj instanceof DERGeneralizedTime) - { - return indent + "GeneralizedTime(" + ((DERGeneralizedTime)obj).getTime() + ") " + nl; - } - else if (obj instanceof DERUnknownTag) - { - return indent + "Unknown " + Integer.toString(((DERUnknownTag)obj).getTag(), 16) + " " + new String(Hex.encode(((DERUnknownTag)obj).getData())) + nl; - } - else if (obj instanceof BERApplicationSpecific) - { - return outputApplicationSpecific("BER", indent, verbose, obj, nl); - } - else if (obj instanceof DERApplicationSpecific) - { - return outputApplicationSpecific("DER", indent, verbose, obj, nl); - } - else - { - return indent + obj.toString() + nl; - } - } - - private static String outputApplicationSpecific(String type, String indent, boolean verbose, DERObject obj, String nl) - { - DERApplicationSpecific app = (DERApplicationSpecific)obj; - StringBuffer buf = new StringBuffer(); - - if (app.isConstructed()) - { - try - { - ASN1Sequence s = ASN1Sequence.getInstance(app.getObject(DERTags.SEQUENCE)); - buf.append(indent + type + " ApplicationSpecific[" + app.getApplicationTag() + "]" + nl); - for (Enumeration e = s.getObjects(); e.hasMoreElements();) - { - buf.append(_dumpAsString(indent + TAB, verbose, (DERObject)e.nextElement())); - } - } - catch (IOException e) - { - buf.append(e); - } - return buf.toString(); - } - - return indent + type + " ApplicationSpecific[" + app.getApplicationTag() + "] (" + new String(Hex.encode(app.getContents())) + ")" + nl; - } - - /** - * dump out a DER object as a formatted string, in non-verbose mode. - * - * @param obj the DERObject to be dumped out. - * @return the resulting string. - */ - public static String dumpAsString( - Object obj) - { - return dumpAsString(obj, false); - } - - /** - * Dump out the object as a string. - * - * @param obj the object to be dumped - * @param verbose if true, dump out the contents of octet and bit strings. - * @return the resulting string. - */ - public static String dumpAsString( - Object obj, - boolean verbose) - { - if (obj instanceof DERObject) - { - return _dumpAsString("", verbose, (DERObject)obj); - } - else if (obj instanceof DEREncodable) - { - return _dumpAsString("", verbose, ((DEREncodable)obj).getDERObject()); - } - - return "unknown object type " + obj.toString(); - } - - private static String dumpBinaryDataAsString(String indent, byte[] bytes) - { - String nl = System.getProperty("line.separator"); - StringBuffer buf = new StringBuffer(); - - indent += TAB; - - buf.append(nl); - for (int i = 0; i < bytes.length; i += SAMPLE_SIZE) - { - if (bytes.length - i > SAMPLE_SIZE) - { - buf.append(indent); - buf.append(new String(Hex.encode(bytes, i, SAMPLE_SIZE))); - buf.append(TAB); - buf.append(calculateAscString(bytes, i, SAMPLE_SIZE)); - buf.append(nl); - } - else - { - buf.append(indent); - buf.append(new String(Hex.encode(bytes, i, bytes.length - i))); - for (int j = bytes.length - i; j != SAMPLE_SIZE; j++) - { - buf.append(" "); - } - buf.append(TAB); - buf.append(calculateAscString(bytes, i, bytes.length - i)); - buf.append(nl); - } - } - - return buf.toString(); - } - - private static String calculateAscString(byte[] bytes, int off, int len) - { - StringBuffer buf = new StringBuffer(); - - for (int i = off; i != off + len; i++) - { - if (bytes[i] >= ' ' && bytes[i] <= '~') - { - buf.append((char)bytes[i]); - } - } - - return buf.toString(); - } -} diff --git a/keepass-model/.gitignore b/keepass-model/.gitignore deleted file mode 100644 index 796b96d1c..000000000 --- a/keepass-model/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/keepass-model/build.gradle b/keepass-model/build.gradle deleted file mode 100644 index 176fe1e78..000000000 --- a/keepass-model/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -apply plugin: 'com.android.library' - -android { - compileSdkVersion 27 - - - - defaultConfig { - minSdkVersion 14 - targetSdkVersion 27 - versionCode 1 - versionName "1.0" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) -} diff --git a/keepass-model/proguard-rules.pro b/keepass-model/proguard-rules.pro deleted file mode 100644 index f1b424510..000000000 --- a/keepass-model/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile diff --git a/keepass-model/src/main/AndroidManifest.xml b/keepass-model/src/main/AndroidManifest.xml deleted file mode 100644 index 4bb046d14..000000000 --- a/keepass-model/src/main/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - diff --git a/magikeyboard/.gitignore b/magikeyboard/.gitignore deleted file mode 100644 index 796b96d1c..000000000 --- a/magikeyboard/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/magikeyboard/build.gradle b/magikeyboard/build.gradle deleted file mode 100644 index 42a36a60a..000000000 --- a/magikeyboard/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -apply plugin: 'com.android.library' - -android { - compileSdkVersion 27 - - defaultConfig { - minSdkVersion 14 - targetSdkVersion 27 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - -} - -def supportVersion = "27.1.1" - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation "com.android.support:appcompat-v7:$supportVersion" - implementation "com.android.support:preference-v7:$supportVersion" - implementation "com.android.support:preference-v14:$supportVersion" - implementation project(path: ':keepass-model') -} diff --git a/magikeyboard/proguard-rules.pro b/magikeyboard/proguard-rules.pro deleted file mode 100644 index f1b424510..000000000 --- a/magikeyboard/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile diff --git a/magikeyboard/src/main/AndroidManifest.xml b/magikeyboard/src/main/AndroidManifest.xml deleted file mode 100644 index 5e678663b..000000000 --- a/magikeyboard/src/main/AndroidManifest.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/Utility.java b/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/Utility.java deleted file mode 100644 index 8095f1246..000000000 --- a/magikeyboard/src/main/java/com/kunzisoft/magikeyboard/Utility.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.kunzisoft.magikeyboard; - -public class Utility { - - -} diff --git a/magikeyboard/src/main/res/drawable/ic_lock_open_white_24dp.xml b/magikeyboard/src/main/res/drawable/ic_lock_open_white_24dp.xml deleted file mode 100644 index 6c09b2a90..000000000 --- a/magikeyboard/src/main/res/drawable/ic_lock_open_white_24dp.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/magikeyboard/src/main/res/drawable/ic_lock_white_24dp.xml b/magikeyboard/src/main/res/drawable/ic_lock_white_24dp.xml deleted file mode 100644 index 27a2aa1dc..000000000 --- a/magikeyboard/src/main/res/drawable/ic_lock_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/magikeyboard/src/main/res/layout/activity_toolbar.xml b/magikeyboard/src/main/res/layout/activity_toolbar.xml deleted file mode 100644 index 382cffe0b..000000000 --- a/magikeyboard/src/main/res/layout/activity_toolbar.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/magikeyboard/src/main/res/layout/list_fields.xml b/magikeyboard/src/main/res/layout/list_fields.xml deleted file mode 100644 index 87e80311c..000000000 --- a/magikeyboard/src/main/res/layout/list_fields.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/magikeyboard/src/main/res/layout/toolbar_default.xml b/magikeyboard/src/main/res/layout/toolbar_default.xml deleted file mode 100644 index 56fba7001..000000000 --- a/magikeyboard/src/main/res/layout/toolbar_default.xml +++ /dev/null @@ -1,9 +0,0 @@ - - \ No newline at end of file diff --git a/magikeyboard/src/main/res/values/colors.xml b/magikeyboard/src/main/res/values/colors.xml deleted file mode 100644 index b33fb36a5..000000000 --- a/magikeyboard/src/main/res/values/colors.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - #3c474c - #263238 - #3c464c - #263238 - diff --git a/magikeyboard/src/main/res/values/strings.xml b/magikeyboard/src/main/res/values/strings.xml deleted file mode 100644 index 6619f8735..000000000 --- a/magikeyboard/src/main/res/values/strings.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - Magikeyboard - Magikeyboard (KeePass DX) - Magikeyboard settings - - Entry - - erase_entry_timeout_key - Timeout - Timeout to clear the keyboard entry - - notification_entry_key - Notification information - Show a notification when an entry is available - true - - Entry - %1$s available on Magikeyboard - %1$s - - notification_entry_slide_close_key - Clear at closing - Clear the keyboard entry when closing the notification - true - - Appearance - - theme_key - Theme - - Keys - key_vibrate_key - Vibrate on keypress - true - - key_vibrate_duration_key - Keypress vibration duration - - key_sound_key - Sound on keypress - false - - key_long_press_delay_key - Key long press delay - - diff --git a/settings.gradle b/settings.gradle index a214e0b2d..48a1ac76b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':app', ':icon-pack-classic', ':icon-pack-material', ':magikeyboard', ':keepass-model' +include ':app', ':icon-pack-classic', ':icon-pack-material'