mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-05-04 20:30:36 +00:00
Rename package to com.beemdevelopment.aegis
This commit is contained in:
parent
ceb03de240
commit
62425511a1
101 changed files with 366 additions and 362 deletions
|
@ -4,7 +4,7 @@ android {
|
||||||
compileSdkVersion 28
|
compileSdkVersion 28
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "me.impy.aegis"
|
applicationId "com.beemdevelopment.aegis"
|
||||||
minSdkVersion 19
|
minSdkVersion 19
|
||||||
targetSdkVersion 28
|
targetSdkVersion 28
|
||||||
versionCode 1
|
versionCode 1
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis;
|
package com.beemdevelopment.aegis;
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.test.ApplicationTestCase;
|
import android.test.ApplicationTestCase;
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
package="me.impy.aegis">
|
package="com.beemdevelopment.aegis">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.CAMERA"/>
|
<uses-permission android:name="android.permission.CAMERA"/>
|
||||||
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".AegisApplication"
|
android:name="com.beemdevelopment.aegis.AegisApplication"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/${iconName}"
|
android:icon="@mipmap/${iconName}"
|
||||||
android:label="Aegis"
|
android:label="Aegis"
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
tools:replace="android:theme"
|
tools:replace="android:theme"
|
||||||
android:theme="@style/AppTheme.NoActionBar">
|
android:theme="@style/AppTheme.NoActionBar">
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.MainActivity"
|
android:name="com.beemdevelopment.aegis.ui.MainActivity"
|
||||||
android:label="${title}"
|
android:label="${title}"
|
||||||
android:alwaysRetainTaskState="true"
|
android:alwaysRetainTaskState="true"
|
||||||
android:launchMode="singleTask">
|
android:launchMode="singleTask">
|
||||||
|
@ -27,35 +27,35 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.ScannerActivity"
|
android:name="com.beemdevelopment.aegis.ui.ScannerActivity"
|
||||||
android:label="Scan a QR code"
|
android:label="Scan a QR code"
|
||||||
android:theme="@style/AppTheme.Fullscreen"
|
android:theme="@style/AppTheme.Fullscreen"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize">
|
android:configChanges="keyboardHidden|orientation|screenSize">
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.EditEntryActivity"
|
android:name="com.beemdevelopment.aegis.ui.EditEntryActivity"
|
||||||
android:label="Edit profile"
|
android:label="Edit profile"
|
||||||
android:theme="@style/AppTheme.NoActionBar">
|
android:theme="@style/AppTheme.NoActionBar">
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.IntroActivity"
|
android:name="com.beemdevelopment.aegis.ui.IntroActivity"
|
||||||
android:theme="@style/Theme.Intro"
|
android:theme="@style/Theme.Intro"
|
||||||
android:launchMode="singleTop">
|
android:launchMode="singleTop">
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.AuthActivity"
|
android:name="com.beemdevelopment.aegis.ui.AuthActivity"
|
||||||
android:launchMode="singleTop">
|
android:launchMode="singleTop">
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name=".ui.PreferencesActivity">
|
<activity android:name="com.beemdevelopment.aegis.ui.PreferencesActivity">
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.SlotManagerActivity"
|
android:name="com.beemdevelopment.aegis.ui.SlotManagerActivity"
|
||||||
android:label="Manage key slots"
|
android:label="Manage key slots"
|
||||||
android:theme="@style/AppTheme.TransparentActionBar">
|
android:theme="@style/AppTheme.TransparentActionBar">
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.GroupManagerActivity"
|
android:name="com.beemdevelopment.aegis.ui.GroupManagerActivity"
|
||||||
android:label="Manage groups"
|
android:label="Manage groups"
|
||||||
android:theme="@style/AppTheme.TransparentActionBar">
|
android:theme="@style/AppTheme.TransparentActionBar">
|
||||||
</activity>
|
</activity>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis;
|
package com.beemdevelopment.aegis;
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
@ -6,13 +6,14 @@ import android.content.pm.ShortcutInfo;
|
||||||
import android.content.pm.ShortcutManager;
|
import android.content.pm.ShortcutManager;
|
||||||
import android.graphics.drawable.Icon;
|
import android.graphics.drawable.Icon;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.db.DatabaseManager;
|
||||||
|
import com.beemdevelopment.aegis.ui.MainActivity;
|
||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
import me.impy.aegis.db.DatabaseManager;
|
|
||||||
import me.impy.aegis.ui.MainActivity;
|
|
||||||
|
|
||||||
public class AegisApplication extends Application {
|
public class AegisApplication extends Application {
|
||||||
private DatabaseManager _manager;
|
private DatabaseManager _manager;
|
||||||
private Preferences _prefs;
|
private Preferences _prefs;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis;
|
package com.beemdevelopment.aegis;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
|
@ -1,13 +1,13 @@
|
||||||
package me.impy.aegis.crypto;
|
package com.beemdevelopment.aegis.crypto;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.encoding.Hex;
|
||||||
|
import com.beemdevelopment.aegis.encoding.HexException;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import me.impy.aegis.encoding.Hex;
|
|
||||||
import me.impy.aegis.encoding.HexException;
|
|
||||||
|
|
||||||
public class CryptParameters implements Serializable {
|
public class CryptParameters implements Serializable {
|
||||||
private byte[] _nonce;
|
private byte[] _nonce;
|
||||||
private byte[] _tag;
|
private byte[] _tag;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto;
|
package com.beemdevelopment.aegis.crypto;
|
||||||
|
|
||||||
public class CryptResult {
|
public class CryptResult {
|
||||||
private byte[] _data;
|
private byte[] _data;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto;
|
package com.beemdevelopment.aegis.crypto;
|
||||||
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto;
|
package com.beemdevelopment.aegis.crypto;
|
||||||
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.security.keystore.KeyGenParameterSpec;
|
import android.security.keystore.KeyGenParameterSpec;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto;
|
package com.beemdevelopment.aegis.crypto;
|
||||||
|
|
||||||
public class KeyStoreHandleException extends Exception {
|
public class KeyStoreHandleException extends Exception {
|
||||||
public KeyStoreHandleException(Throwable cause) {
|
public KeyStoreHandleException(Throwable cause) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto;
|
package com.beemdevelopment.aegis.crypto;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto;
|
package com.beemdevelopment.aegis.crypto;
|
||||||
|
|
||||||
public class MasterKeyException extends Exception {
|
public class MasterKeyException extends Exception {
|
||||||
public MasterKeyException(Throwable cause) {
|
public MasterKeyException(Throwable cause) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto;
|
package com.beemdevelopment.aegis.crypto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto.otp;
|
package com.beemdevelopment.aegis.crypto.otp;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* OneTimePasswordAlgorithm.java
|
* OneTimePasswordAlgorithm.java
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.crypto.otp;
|
package com.beemdevelopment.aegis.crypto.otp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Copyright (c) 2011 IETF Trust and the persons identified as
|
Copyright (c) 2011 IETF Trust and the persons identified as
|
|
@ -1,4 +1,7 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base64Exception;
|
||||||
|
import com.beemdevelopment.aegis.otp.OtpInfoException;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
|
@ -7,9 +10,6 @@ import org.json.JSONObject;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import me.impy.aegis.encoding.Base64Exception;
|
|
||||||
import me.impy.aegis.otp.OtpInfoException;
|
|
||||||
|
|
||||||
public class Database {
|
public class Database {
|
||||||
private static final int VERSION = 1;
|
private static final int VERSION = 1;
|
||||||
private DatabaseEntryList _entries = new DatabaseEntryList();
|
private DatabaseEntryList _entries = new DatabaseEntryList();
|
|
@ -1,4 +1,10 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base64;
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base64Exception;
|
||||||
|
import com.beemdevelopment.aegis.otp.GoogleAuthInfo;
|
||||||
|
import com.beemdevelopment.aegis.otp.OtpInfo;
|
||||||
|
import com.beemdevelopment.aegis.otp.OtpInfoException;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -8,12 +14,6 @@ import java.util.Arrays;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import me.impy.aegis.encoding.Base64;
|
|
||||||
import me.impy.aegis.encoding.Base64Exception;
|
|
||||||
import me.impy.aegis.otp.GoogleAuthInfo;
|
|
||||||
import me.impy.aegis.otp.OtpInfo;
|
|
||||||
import me.impy.aegis.otp.OtpInfoException;
|
|
||||||
|
|
||||||
public class DatabaseEntry implements Serializable {
|
public class DatabaseEntry implements Serializable {
|
||||||
private UUID _uuid;
|
private UUID _uuid;
|
||||||
private String _name = "";
|
private String _name = "";
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
public class DatabaseException extends Exception {
|
public class DatabaseException extends Exception {
|
||||||
public DatabaseException(Throwable cause) {
|
public DatabaseException(Throwable cause) {
|
|
@ -1,19 +1,19 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptParameters;
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptResult;
|
||||||
|
import com.beemdevelopment.aegis.crypto.MasterKeyException;
|
||||||
|
import com.beemdevelopment.aegis.db.slots.SlotList;
|
||||||
|
import com.beemdevelopment.aegis.db.slots.SlotListException;
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base64;
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base64Exception;
|
||||||
|
import com.beemdevelopment.aegis.encoding.HexException;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.CryptParameters;
|
|
||||||
import me.impy.aegis.crypto.CryptResult;
|
|
||||||
import me.impy.aegis.crypto.MasterKeyException;
|
|
||||||
import me.impy.aegis.db.slots.SlotList;
|
|
||||||
import me.impy.aegis.db.slots.SlotListException;
|
|
||||||
import me.impy.aegis.encoding.Base64;
|
|
||||||
import me.impy.aegis.encoding.Base64Exception;
|
|
||||||
import me.impy.aegis.encoding.HexException;
|
|
||||||
|
|
||||||
public class DatabaseFile {
|
public class DatabaseFile {
|
||||||
public static final byte VERSION = 1;
|
public static final byte VERSION = 1;
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptParameters;
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptResult;
|
||||||
|
import com.beemdevelopment.aegis.crypto.MasterKey;
|
||||||
|
import com.beemdevelopment.aegis.crypto.MasterKeyException;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.CryptParameters;
|
import com.beemdevelopment.aegis.db.slots.SlotList;
|
||||||
import me.impy.aegis.crypto.CryptResult;
|
|
||||||
import me.impy.aegis.crypto.MasterKey;
|
|
||||||
import me.impy.aegis.crypto.MasterKeyException;
|
|
||||||
import me.impy.aegis.db.slots.SlotList;
|
|
||||||
|
|
||||||
public class DatabaseFileCredentials implements Serializable {
|
public class DatabaseFileCredentials implements Serializable {
|
||||||
private MasterKey _key;
|
private MasterKey _key;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
public class DatabaseFileException extends Exception {
|
public class DatabaseFileException extends Exception {
|
||||||
public DatabaseFileException(Throwable cause) {
|
public DatabaseFileException(Throwable cause) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
|
@ -15,8 +15,8 @@ import java.util.List;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import me.impy.aegis.BuildConfig;
|
import com.beemdevelopment.aegis.BuildConfig;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
|
|
||||||
public class DatabaseManager {
|
public class DatabaseManager {
|
||||||
private static final String FILENAME = "aegis.json";
|
private static final String FILENAME = "aegis.json";
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db;
|
package com.beemdevelopment.aegis.db;
|
||||||
|
|
||||||
public class DatabaseManagerException extends Exception {
|
public class DatabaseManagerException extends Exception {
|
||||||
public DatabaseManagerException(Throwable cause) {
|
public DatabaseManagerException(Throwable cause) {
|
|
@ -1,9 +1,9 @@
|
||||||
package me.impy.aegis.db.slots;
|
package com.beemdevelopment.aegis.db.slots;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptParameters;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.CryptParameters;
|
|
||||||
|
|
||||||
public class FingerprintSlot extends RawSlot {
|
public class FingerprintSlot extends RawSlot {
|
||||||
public FingerprintSlot() {
|
public FingerprintSlot() {
|
||||||
super();
|
super();
|
|
@ -1,4 +1,9 @@
|
||||||
package me.impy.aegis.db.slots;
|
package com.beemdevelopment.aegis.db.slots;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptParameters;
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptoUtils;
|
||||||
|
import com.beemdevelopment.aegis.crypto.SCryptParameters;
|
||||||
|
import com.beemdevelopment.aegis.encoding.Hex;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -7,12 +12,6 @@ import java.util.UUID;
|
||||||
|
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.CryptParameters;
|
|
||||||
import me.impy.aegis.crypto.CryptoUtils;
|
|
||||||
import me.impy.aegis.crypto.SCryptParameters;
|
|
||||||
import me.impy.aegis.encoding.Hex;
|
|
||||||
import me.impy.aegis.encoding.HexException;
|
|
||||||
|
|
||||||
public class PasswordSlot extends RawSlot {
|
public class PasswordSlot extends RawSlot {
|
||||||
private SCryptParameters _params;
|
private SCryptParameters _params;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package me.impy.aegis.db.slots;
|
package com.beemdevelopment.aegis.db.slots;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptParameters;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.CryptParameters;
|
|
||||||
|
|
||||||
public class RawSlot extends Slot {
|
public class RawSlot extends Slot {
|
||||||
public RawSlot() {
|
public RawSlot() {
|
||||||
super();
|
super();
|
|
@ -1,4 +1,12 @@
|
||||||
package me.impy.aegis.db.slots;
|
package com.beemdevelopment.aegis.db.slots;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptParameters;
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptResult;
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptoUtils;
|
||||||
|
import com.beemdevelopment.aegis.crypto.MasterKey;
|
||||||
|
import com.beemdevelopment.aegis.crypto.SCryptParameters;
|
||||||
|
import com.beemdevelopment.aegis.encoding.Hex;
|
||||||
|
import com.beemdevelopment.aegis.encoding.HexException;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -17,14 +25,6 @@ import javax.crypto.NoSuchPaddingException;
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
import javax.crypto.spec.SecretKeySpec;
|
import javax.crypto.spec.SecretKeySpec;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.CryptParameters;
|
|
||||||
import me.impy.aegis.crypto.CryptResult;
|
|
||||||
import me.impy.aegis.crypto.CryptoUtils;
|
|
||||||
import me.impy.aegis.crypto.MasterKey;
|
|
||||||
import me.impy.aegis.crypto.SCryptParameters;
|
|
||||||
import me.impy.aegis.encoding.Hex;
|
|
||||||
import me.impy.aegis.encoding.HexException;
|
|
||||||
|
|
||||||
public abstract class Slot implements Serializable {
|
public abstract class Slot implements Serializable {
|
||||||
public final static byte TYPE_RAW = 0x00;
|
public final static byte TYPE_RAW = 0x00;
|
||||||
public final static byte TYPE_DERIVED = 0x01;
|
public final static byte TYPE_DERIVED = 0x01;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db.slots;
|
package com.beemdevelopment.aegis.db.slots;
|
||||||
|
|
||||||
public class SlotException extends Exception {
|
public class SlotException extends Exception {
|
||||||
public SlotException(Throwable cause) {
|
public SlotException(Throwable cause) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db.slots;
|
package com.beemdevelopment.aegis.db.slots;
|
||||||
|
|
||||||
public class SlotIntegrityException extends Exception {
|
public class SlotIntegrityException extends Exception {
|
||||||
public SlotIntegrityException() {
|
public SlotIntegrityException() {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db.slots;
|
package com.beemdevelopment.aegis.db.slots;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.db.slots;
|
package com.beemdevelopment.aegis.db.slots;
|
||||||
|
|
||||||
public class SlotListException extends Exception {
|
public class SlotListException extends Exception {
|
||||||
public SlotListException(Throwable cause) {
|
public SlotListException(Throwable cause) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.encoding;
|
package com.beemdevelopment.aegis.encoding;
|
||||||
|
|
||||||
// modified for use in Aegis
|
// modified for use in Aegis
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.encoding;
|
package com.beemdevelopment.aegis.encoding;
|
||||||
|
|
||||||
public class Base32Exception extends Exception {
|
public class Base32Exception extends Exception {
|
||||||
public Base32Exception(String message) {
|
public Base32Exception(String message) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.encoding;
|
package com.beemdevelopment.aegis.encoding;
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.encoding;
|
package com.beemdevelopment.aegis.encoding;
|
||||||
|
|
||||||
public class Base64Exception extends Exception {
|
public class Base64Exception extends Exception {
|
||||||
public Base64Exception(Throwable cause) {
|
public Base64Exception(Throwable cause) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.encoding;
|
package com.beemdevelopment.aegis.encoding;
|
||||||
|
|
||||||
// The hexadecimal utility functions in this file were taken and modified from: http://www.docjar.com/html/api/com/sun/xml/internal/bind/DatatypeConverterImpl.java.html
|
// The hexadecimal utility functions in this file were taken and modified from: http://www.docjar.com/html/api/com/sun/xml/internal/bind/DatatypeConverterImpl.java.html
|
||||||
// It is licensed under GPLv2 with a classpath exception.
|
// It is licensed under GPLv2 with a classpath exception.
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.encoding;
|
package com.beemdevelopment.aegis.encoding;
|
||||||
|
|
||||||
public class HexException extends Exception {
|
public class HexException extends Exception {
|
||||||
public HexException(String message) {
|
public HexException(String message) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
|
@ -17,7 +17,7 @@
|
||||||
* limitations under the License
|
* limitations under the License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import android.hardware.fingerprint.FingerprintManager;
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
@ -27,7 +27,7 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import com.mattprecious.swirl.SwirlView;
|
import com.mattprecious.swirl.SwirlView;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Small helper class to manage text/icon around fingerprint authentication UI.
|
* Small helper class to manage text/icon around fingerprint authentication UI.
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper;
|
import androidx.recyclerview.widget.ItemTouchHelper;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.annotation.ArrayRes;
|
import androidx.annotation.ArrayRes;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.helpers;
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
package me.impy.aegis.importers;
|
package com.beemdevelopment.aegis.importers;
|
||||||
|
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import me.impy.aegis.db.Database;
|
import com.beemdevelopment.aegis.db.Database;
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.db.DatabaseException;
|
import com.beemdevelopment.aegis.db.DatabaseException;
|
||||||
import me.impy.aegis.db.DatabaseFile;
|
import com.beemdevelopment.aegis.db.DatabaseFile;
|
||||||
import me.impy.aegis.db.DatabaseFileCredentials;
|
import com.beemdevelopment.aegis.db.DatabaseFileCredentials;
|
||||||
import me.impy.aegis.db.DatabaseFileException;
|
import com.beemdevelopment.aegis.db.DatabaseFileException;
|
||||||
import me.impy.aegis.util.ByteInputStream;
|
import com.beemdevelopment.aegis.util.ByteInputStream;
|
||||||
|
|
||||||
public class AegisImporter extends DatabaseImporter {
|
public class AegisImporter extends DatabaseImporter {
|
||||||
private DatabaseFileCredentials _creds;
|
private DatabaseFileCredentials _creds;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.importers;
|
package com.beemdevelopment.aegis.importers;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
|
@ -8,14 +8,14 @@ import java.io.UnsupportedEncodingException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.encoding.Base32;
|
import com.beemdevelopment.aegis.encoding.Base32;
|
||||||
import me.impy.aegis.encoding.Base32Exception;
|
import com.beemdevelopment.aegis.encoding.Base32Exception;
|
||||||
import me.impy.aegis.otp.HotpInfo;
|
import com.beemdevelopment.aegis.otp.HotpInfo;
|
||||||
import me.impy.aegis.otp.OtpInfo;
|
import com.beemdevelopment.aegis.otp.OtpInfo;
|
||||||
import me.impy.aegis.otp.OtpInfoException;
|
import com.beemdevelopment.aegis.otp.OtpInfoException;
|
||||||
import me.impy.aegis.otp.TotpInfo;
|
import com.beemdevelopment.aegis.otp.TotpInfo;
|
||||||
import me.impy.aegis.util.ByteInputStream;
|
import com.beemdevelopment.aegis.util.ByteInputStream;
|
||||||
|
|
||||||
public class AndOtpImporter extends DatabaseImporter {
|
public class AndOtpImporter extends DatabaseImporter {
|
||||||
private JSONArray _obj;
|
private JSONArray _obj;
|
|
@ -1,14 +1,13 @@
|
||||||
package me.impy.aegis.importers;
|
package com.beemdevelopment.aegis.importers;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.util.ByteInputStream;
|
import com.beemdevelopment.aegis.util.ByteInputStream;
|
||||||
|
|
||||||
public abstract class DatabaseImporter {
|
public abstract class DatabaseImporter {
|
||||||
private static Map<String, Class<? extends DatabaseImporter>> _importers;
|
private static Map<String, Class<? extends DatabaseImporter>> _importers;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.importers;
|
package com.beemdevelopment.aegis.importers;
|
||||||
|
|
||||||
public class DatabaseImporterException extends Exception {
|
public class DatabaseImporterException extends Exception {
|
||||||
public DatabaseImporterException(Throwable cause) {
|
public DatabaseImporterException(Throwable cause) {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.importers;
|
package com.beemdevelopment.aegis.importers;
|
||||||
|
|
||||||
import android.util.Xml;
|
import android.util.Xml;
|
||||||
|
|
||||||
|
@ -12,12 +12,12 @@ import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.otp.HotpInfo;
|
import com.beemdevelopment.aegis.otp.HotpInfo;
|
||||||
import me.impy.aegis.otp.OtpInfo;
|
import com.beemdevelopment.aegis.otp.OtpInfo;
|
||||||
import me.impy.aegis.otp.OtpInfoException;
|
import com.beemdevelopment.aegis.otp.OtpInfoException;
|
||||||
import me.impy.aegis.otp.TotpInfo;
|
import com.beemdevelopment.aegis.otp.TotpInfo;
|
||||||
import me.impy.aegis.util.ByteInputStream;
|
import com.beemdevelopment.aegis.util.ByteInputStream;
|
||||||
|
|
||||||
public class FreeOtpImporter extends DatabaseImporter {
|
public class FreeOtpImporter extends DatabaseImporter {
|
||||||
private List<XmlEntry> _xmlEntries;
|
private List<XmlEntry> _xmlEntries;
|
|
@ -1,9 +1,9 @@
|
||||||
package me.impy.aegis.otp;
|
package com.beemdevelopment.aegis.otp;
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
|
||||||
import me.impy.aegis.encoding.Base32;
|
import com.beemdevelopment.aegis.encoding.Base32;
|
||||||
import me.impy.aegis.encoding.Base32Exception;
|
import com.beemdevelopment.aegis.encoding.Base32Exception;
|
||||||
|
|
||||||
public class GoogleAuthInfo {
|
public class GoogleAuthInfo {
|
||||||
private OtpInfo _info;
|
private OtpInfo _info;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.otp;
|
package com.beemdevelopment.aegis.otp;
|
||||||
|
|
||||||
public class GoogleAuthInfoException extends Exception {
|
public class GoogleAuthInfoException extends Exception {
|
||||||
public GoogleAuthInfoException(Throwable cause) {
|
public GoogleAuthInfoException(Throwable cause) {
|
|
@ -1,4 +1,6 @@
|
||||||
package me.impy.aegis.otp;
|
package com.beemdevelopment.aegis.otp;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.otp.HOTP;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -6,8 +8,6 @@ import org.json.JSONObject;
|
||||||
import java.security.InvalidKeyException;
|
import java.security.InvalidKeyException;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.otp.HOTP;
|
|
||||||
|
|
||||||
public class HotpInfo extends OtpInfo {
|
public class HotpInfo extends OtpInfo {
|
||||||
private long _counter;
|
private long _counter;
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
package me.impy.aegis.otp;
|
package com.beemdevelopment.aegis.otp;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base32;
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base32Exception;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
@ -6,9 +9,6 @@ import org.json.JSONObject;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import me.impy.aegis.encoding.Base32;
|
|
||||||
import me.impy.aegis.encoding.Base32Exception;
|
|
||||||
|
|
||||||
public abstract class OtpInfo implements Serializable {
|
public abstract class OtpInfo implements Serializable {
|
||||||
private byte[] _secret;
|
private byte[] _secret;
|
||||||
private String _algorithm;
|
private String _algorithm;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.otp;
|
package com.beemdevelopment.aegis.otp;
|
||||||
|
|
||||||
public class OtpInfoException extends Exception {
|
public class OtpInfoException extends Exception {
|
||||||
public OtpInfoException(Throwable cause) {
|
public OtpInfoException(Throwable cause) {
|
|
@ -1,10 +1,10 @@
|
||||||
package me.impy.aegis.otp;
|
package com.beemdevelopment.aegis.otp;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.otp.TOTP;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.otp.TOTP;
|
|
||||||
|
|
||||||
public class TotpInfo extends OtpInfo {
|
public class TotpInfo extends OtpInfo {
|
||||||
private int _period;
|
private int _period;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
|
|
||||||
import me.impy.aegis.AegisApplication;
|
import com.beemdevelopment.aegis.AegisApplication;
|
||||||
import me.impy.aegis.Preferences;
|
import com.beemdevelopment.aegis.Preferences;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
|
|
||||||
public abstract class AegisActivity extends AppCompatActivity {
|
public abstract class AegisActivity extends AppCompatActivity {
|
||||||
private AegisApplication _app;
|
private AegisApplication _app;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.hardware.fingerprint.FingerprintManager;
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
|
@ -14,6 +14,14 @@ import android.widget.EditText;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandle;
|
||||||
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandleException;
|
||||||
|
import com.beemdevelopment.aegis.crypto.MasterKey;
|
||||||
|
import com.beemdevelopment.aegis.db.DatabaseFileCredentials;
|
||||||
|
import com.beemdevelopment.aegis.helpers.EditTextHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.FingerprintHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.FingerprintUiHelper;
|
||||||
|
import com.beemdevelopment.aegis.ui.tasks.SlotListTask;
|
||||||
import com.mattprecious.swirl.SwirlView;
|
import com.mattprecious.swirl.SwirlView;
|
||||||
|
|
||||||
import java.lang.reflect.UndeclaredThrowableException;
|
import java.lang.reflect.UndeclaredThrowableException;
|
||||||
|
@ -21,20 +29,13 @@ import java.lang.reflect.UndeclaredThrowableException;
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.Cipher;
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.crypto.KeyStoreHandle;
|
|
||||||
import me.impy.aegis.crypto.KeyStoreHandleException;
|
import com.beemdevelopment.aegis.db.slots.FingerprintSlot;
|
||||||
import me.impy.aegis.crypto.MasterKey;
|
import com.beemdevelopment.aegis.db.slots.PasswordSlot;
|
||||||
import me.impy.aegis.db.DatabaseFileCredentials;
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
import com.beemdevelopment.aegis.db.slots.SlotList;
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
import com.beemdevelopment.aegis.db.slots.SlotException;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
|
||||||
import me.impy.aegis.db.slots.SlotList;
|
|
||||||
import me.impy.aegis.db.slots.SlotException;
|
|
||||||
import me.impy.aegis.helpers.FingerprintHelper;
|
|
||||||
import me.impy.aegis.helpers.FingerprintUiHelper;
|
|
||||||
import me.impy.aegis.helpers.EditTextHelper;
|
|
||||||
import me.impy.aegis.ui.tasks.SlotListTask;
|
|
||||||
|
|
||||||
public class AuthActivity extends AegisActivity implements FingerprintUiHelper.Callback, SlotListTask.Callback {
|
public class AuthActivity extends AegisActivity implements FingerprintUiHelper.Callback, SlotListTask.Callback {
|
||||||
private EditText _textPassword;
|
private EditText _textPassword;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
|
@ -13,6 +13,12 @@ import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandle;
|
||||||
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandleException;
|
||||||
|
import com.beemdevelopment.aegis.helpers.EditTextHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.FingerprintHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.FingerprintUiHelper;
|
||||||
|
import com.beemdevelopment.aegis.ui.tasks.DerivationTask;
|
||||||
import com.mattprecious.swirl.SwirlView;
|
import com.mattprecious.swirl.SwirlView;
|
||||||
|
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
@ -23,18 +29,13 @@ import javax.crypto.SecretKey;
|
||||||
import androidx.annotation.StringRes;
|
import androidx.annotation.StringRes;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
|
||||||
import me.impy.aegis.Preferences;
|
import com.beemdevelopment.aegis.Preferences;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.crypto.KeyStoreHandle;
|
|
||||||
import me.impy.aegis.crypto.KeyStoreHandleException;
|
import com.beemdevelopment.aegis.db.slots.FingerprintSlot;
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
import com.beemdevelopment.aegis.db.slots.PasswordSlot;
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
import com.beemdevelopment.aegis.db.slots.SlotException;
|
||||||
import me.impy.aegis.db.slots.SlotException;
|
|
||||||
import me.impy.aegis.helpers.EditTextHelper;
|
|
||||||
import me.impy.aegis.helpers.FingerprintHelper;
|
|
||||||
import me.impy.aegis.helpers.FingerprintUiHelper;
|
|
||||||
import me.impy.aegis.ui.tasks.DerivationTask;
|
|
||||||
|
|
||||||
public class Dialogs {
|
public class Dialogs {
|
||||||
private Dialogs() {
|
private Dialogs() {
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
@ -30,6 +30,15 @@ import android.widget.TableRow;
|
||||||
|
|
||||||
import com.amulyakhare.textdrawable.TextDrawable;
|
import com.amulyakhare.textdrawable.TextDrawable;
|
||||||
import com.avito.android.krop.KropView;
|
import com.avito.android.krop.KropView;
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base32;
|
||||||
|
import com.beemdevelopment.aegis.encoding.Base32Exception;
|
||||||
|
import com.beemdevelopment.aegis.helpers.EditTextHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.SpinnerHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.TextDrawableHelper;
|
||||||
|
import com.beemdevelopment.aegis.otp.HotpInfo;
|
||||||
|
import com.beemdevelopment.aegis.otp.OtpInfo;
|
||||||
|
import com.beemdevelopment.aegis.otp.OtpInfoException;
|
||||||
|
import com.beemdevelopment.aegis.otp.TotpInfo;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
@ -41,23 +50,13 @@ import java.io.ObjectOutputStream;
|
||||||
import java.text.Collator;
|
import java.text.Collator;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import de.hdodenhof.circleimageview.CircleImageView;
|
import de.hdodenhof.circleimageview.CircleImageView;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.encoding.Base32;
|
|
||||||
import me.impy.aegis.encoding.Base32Exception;
|
|
||||||
import me.impy.aegis.helpers.EditTextHelper;
|
|
||||||
import me.impy.aegis.helpers.SpinnerHelper;
|
|
||||||
import me.impy.aegis.helpers.TextDrawableHelper;
|
|
||||||
import me.impy.aegis.otp.HotpInfo;
|
|
||||||
import me.impy.aegis.otp.OtpInfo;
|
|
||||||
import me.impy.aegis.otp.OtpInfoException;
|
|
||||||
import me.impy.aegis.otp.TotpInfo;
|
|
||||||
|
|
||||||
public class EditEntryActivity extends AegisActivity {
|
public class EditEntryActivity extends AegisActivity {
|
||||||
private static final int PICK_IMAGE_REQUEST = 0;
|
private static final int PICK_IMAGE_REQUEST = 0;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -12,8 +12,8 @@ import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.ui.views.GroupAdapter;
|
import com.beemdevelopment.aegis.ui.views.GroupAdapter;
|
||||||
|
|
||||||
public class GroupManagerActivity extends AegisActivity implements GroupAdapter.Listener {
|
public class GroupManagerActivity extends AegisActivity implements GroupAdapter.Listener {
|
||||||
private GroupAdapter _adapter;
|
private GroupAdapter _adapter;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -8,28 +8,29 @@ import android.view.WindowManager;
|
||||||
import com.github.paolorotolo.appintro.AppIntro2;
|
import com.github.paolorotolo.appintro.AppIntro2;
|
||||||
import com.github.paolorotolo.appintro.AppIntroFragment;
|
import com.github.paolorotolo.appintro.AppIntroFragment;
|
||||||
import com.github.paolorotolo.appintro.model.SliderPage;
|
import com.github.paolorotolo.appintro.model.SliderPage;
|
||||||
|
import com.beemdevelopment.aegis.db.DatabaseFileCredentials;
|
||||||
|
import com.beemdevelopment.aegis.ui.slides.CustomAuthenticatedSlide;
|
||||||
|
import com.beemdevelopment.aegis.ui.slides.CustomAuthenticationSlide;
|
||||||
|
import com.beemdevelopment.aegis.ui.tasks.DerivationTask;
|
||||||
|
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.Cipher;
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
|
|
||||||
import me.impy.aegis.Preferences;
|
import com.beemdevelopment.aegis.Preferences;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.DatabaseFileCredentials;
|
|
||||||
import me.impy.aegis.db.DatabaseFileException;
|
import com.beemdevelopment.aegis.db.DatabaseFileException;
|
||||||
import me.impy.aegis.db.DatabaseManagerException;
|
import com.beemdevelopment.aegis.db.DatabaseManagerException;
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
import com.beemdevelopment.aegis.db.slots.FingerprintSlot;
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
import com.beemdevelopment.aegis.db.slots.PasswordSlot;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
import me.impy.aegis.db.slots.SlotList;
|
import com.beemdevelopment.aegis.db.slots.SlotList;
|
||||||
import me.impy.aegis.db.Database;
|
import com.beemdevelopment.aegis.db.Database;
|
||||||
import me.impy.aegis.db.DatabaseFile;
|
import com.beemdevelopment.aegis.db.DatabaseFile;
|
||||||
import me.impy.aegis.db.DatabaseManager;
|
import com.beemdevelopment.aegis.db.DatabaseManager;
|
||||||
import me.impy.aegis.db.slots.SlotException;
|
import com.beemdevelopment.aegis.db.slots.SlotException;
|
||||||
import me.impy.aegis.ui.slides.CustomAuthenticatedSlide;
|
|
||||||
import me.impy.aegis.ui.slides.CustomAuthenticationSlide;
|
|
||||||
import me.impy.aegis.ui.tasks.DerivationTask;
|
|
||||||
|
|
||||||
public class IntroActivity extends AppIntro2 implements DerivationTask.Callback {
|
public class IntroActivity extends AppIntro2 implements DerivationTask.Callback {
|
||||||
public static final int RESULT_OK = 0;
|
public static final int RESULT_OK = 0;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
|
@ -16,19 +16,20 @@ import android.widget.LinearLayout;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.getbase.floatingactionbutton.FloatingActionsMenu;
|
import com.getbase.floatingactionbutton.FloatingActionsMenu;
|
||||||
|
import com.beemdevelopment.aegis.db.DatabaseFileCredentials;
|
||||||
|
import com.beemdevelopment.aegis.helpers.PermissionHelper;
|
||||||
|
import com.beemdevelopment.aegis.ui.views.EntryListView;
|
||||||
|
|
||||||
import java.lang.reflect.UndeclaredThrowableException;
|
import java.lang.reflect.UndeclaredThrowableException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
import me.impy.aegis.AegisApplication;
|
import com.beemdevelopment.aegis.AegisApplication;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.DatabaseFileCredentials;
|
|
||||||
import me.impy.aegis.db.DatabaseManagerException;
|
import com.beemdevelopment.aegis.db.DatabaseManagerException;
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.db.DatabaseManager;
|
import com.beemdevelopment.aegis.db.DatabaseManager;
|
||||||
import me.impy.aegis.helpers.PermissionHelper;
|
|
||||||
import me.impy.aegis.ui.views.EntryListView;
|
|
||||||
|
|
||||||
public class MainActivity extends AegisActivity implements EntryListView.Listener {
|
public class MainActivity extends AegisActivity implements EntryListView.Listener {
|
||||||
// activity request codes
|
// activity request codes
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
@ -13,6 +13,14 @@ import android.view.Window;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.db.DatabaseFileCredentials;
|
||||||
|
import com.beemdevelopment.aegis.helpers.FingerprintHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.PermissionHelper;
|
||||||
|
import com.beemdevelopment.aegis.importers.AegisImporter;
|
||||||
|
import com.beemdevelopment.aegis.importers.DatabaseImporter;
|
||||||
|
import com.beemdevelopment.aegis.importers.DatabaseImporterException;
|
||||||
|
import com.beemdevelopment.aegis.ui.preferences.SwitchPreference;
|
||||||
|
import com.beemdevelopment.aegis.util.ByteInputStream;
|
||||||
import com.takisoft.preferencex.PreferenceFragmentCompat;
|
import com.takisoft.preferencex.PreferenceFragmentCompat;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
@ -27,25 +35,17 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.Cipher;
|
||||||
|
|
||||||
import me.impy.aegis.AegisApplication;
|
import com.beemdevelopment.aegis.AegisApplication;
|
||||||
import me.impy.aegis.BuildConfig;
|
import com.beemdevelopment.aegis.BuildConfig;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.db.DatabaseFileCredentials;
|
import com.beemdevelopment.aegis.db.DatabaseManager;
|
||||||
import me.impy.aegis.db.DatabaseManager;
|
import com.beemdevelopment.aegis.db.DatabaseManagerException;
|
||||||
import me.impy.aegis.db.DatabaseManagerException;
|
import com.beemdevelopment.aegis.db.slots.FingerprintSlot;
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
import com.beemdevelopment.aegis.db.slots.PasswordSlot;
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
import com.beemdevelopment.aegis.db.slots.SlotException;
|
||||||
import me.impy.aegis.db.slots.SlotException;
|
import com.beemdevelopment.aegis.db.slots.SlotList;
|
||||||
import me.impy.aegis.db.slots.SlotList;
|
|
||||||
import me.impy.aegis.helpers.FingerprintHelper;
|
|
||||||
import me.impy.aegis.helpers.PermissionHelper;
|
|
||||||
import me.impy.aegis.importers.AegisImporter;
|
|
||||||
import me.impy.aegis.importers.DatabaseImporter;
|
|
||||||
import me.impy.aegis.importers.DatabaseImporterException;
|
|
||||||
import me.impy.aegis.ui.preferences.SwitchPreference;
|
|
||||||
import me.impy.aegis.util.ByteInputStream;
|
|
||||||
|
|
||||||
public class PreferencesFragment extends PreferenceFragmentCompat {
|
public class PreferencesFragment extends PreferenceFragmentCompat {
|
||||||
// activity request codes
|
// activity request codes
|
|
@ -1,9 +1,8 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.hardware.Camera;
|
import android.hardware.Camera;
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -11,16 +10,16 @@ import android.widget.Toast;
|
||||||
|
|
||||||
import com.google.zxing.BarcodeFormat;
|
import com.google.zxing.BarcodeFormat;
|
||||||
import com.google.zxing.Result;
|
import com.google.zxing.Result;
|
||||||
|
import com.beemdevelopment.aegis.helpers.SquareFinderView;
|
||||||
|
import com.beemdevelopment.aegis.otp.GoogleAuthInfo;
|
||||||
|
import com.beemdevelopment.aegis.otp.GoogleAuthInfoException;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
import me.dm7.barcodescanner.core.IViewFinder;
|
import me.dm7.barcodescanner.core.IViewFinder;
|
||||||
import me.dm7.barcodescanner.zxing.ZXingScannerView;
|
import me.dm7.barcodescanner.zxing.ZXingScannerView;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.helpers.SquareFinderView;
|
|
||||||
import me.impy.aegis.otp.GoogleAuthInfo;
|
|
||||||
import me.impy.aegis.otp.GoogleAuthInfoException;
|
|
||||||
|
|
||||||
import static android.hardware.Camera.CameraInfo.CAMERA_FACING_BACK;
|
import static android.hardware.Camera.CameraInfo.CAMERA_FACING_BACK;
|
||||||
import static android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT;
|
import static android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui;
|
package com.beemdevelopment.aegis.ui;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -11,19 +11,21 @@ import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandle;
|
||||||
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandleException;
|
||||||
|
import com.beemdevelopment.aegis.db.DatabaseFileCredentials;
|
||||||
|
import com.beemdevelopment.aegis.helpers.FingerprintHelper;
|
||||||
|
import com.beemdevelopment.aegis.ui.views.SlotAdapter;
|
||||||
|
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.Cipher;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.crypto.KeyStoreHandle;
|
|
||||||
import me.impy.aegis.crypto.KeyStoreHandleException;
|
import com.beemdevelopment.aegis.db.slots.FingerprintSlot;
|
||||||
import me.impy.aegis.db.DatabaseFileCredentials;
|
import com.beemdevelopment.aegis.db.slots.PasswordSlot;
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
import com.beemdevelopment.aegis.db.slots.SlotList;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
import com.beemdevelopment.aegis.db.slots.SlotException;
|
||||||
import me.impy.aegis.db.slots.SlotList;
|
|
||||||
import me.impy.aegis.db.slots.SlotException;
|
|
||||||
import me.impy.aegis.helpers.FingerprintHelper;
|
|
||||||
import me.impy.aegis.ui.views.SlotAdapter;
|
|
||||||
|
|
||||||
public class SlotManagerActivity extends AegisActivity implements SlotAdapter.Listener, Dialogs.SlotListener {
|
public class SlotManagerActivity extends AegisActivity implements SlotAdapter.Listener, Dialogs.SlotListener {
|
||||||
private DatabaseFileCredentials _creds;
|
private DatabaseFileCredentials _creds;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.preferences;
|
package com.beemdevelopment.aegis.ui.preferences;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.slides;
|
package com.beemdevelopment.aegis.ui.slides;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
@ -16,6 +16,10 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import com.github.paolorotolo.appintro.ISlidePolicy;
|
import com.github.paolorotolo.appintro.ISlidePolicy;
|
||||||
import com.github.paolorotolo.appintro.ISlideSelectionListener;
|
import com.github.paolorotolo.appintro.ISlideSelectionListener;
|
||||||
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandle;
|
||||||
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandleException;
|
||||||
|
import com.beemdevelopment.aegis.helpers.EditTextHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.FingerprintUiHelper;
|
||||||
import com.mattprecious.swirl.SwirlView;
|
import com.mattprecious.swirl.SwirlView;
|
||||||
|
|
||||||
import java.lang.reflect.UndeclaredThrowableException;
|
import java.lang.reflect.UndeclaredThrowableException;
|
||||||
|
@ -23,13 +27,10 @@ import java.lang.reflect.UndeclaredThrowableException;
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.Cipher;
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.crypto.KeyStoreHandle;
|
|
||||||
import me.impy.aegis.crypto.KeyStoreHandleException;
|
import com.beemdevelopment.aegis.db.slots.FingerprintSlot;
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
|
||||||
import me.impy.aegis.helpers.FingerprintUiHelper;
|
|
||||||
import me.impy.aegis.helpers.EditTextHelper;
|
|
||||||
|
|
||||||
public class CustomAuthenticatedSlide extends Fragment implements FingerprintUiHelper.Callback, ISlidePolicy, ISlideSelectionListener {
|
public class CustomAuthenticatedSlide extends Fragment implements FingerprintUiHelper.Callback, ISlidePolicy, ISlideSelectionListener {
|
||||||
private int _cryptType;
|
private int _cryptType;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.slides;
|
package com.beemdevelopment.aegis.ui.slides;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.hardware.fingerprint.FingerprintManager;
|
import android.hardware.fingerprint.FingerprintManager;
|
||||||
|
@ -13,9 +13,9 @@ import android.widget.RadioGroup;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.github.paolorotolo.appintro.ISlidePolicy;
|
import com.github.paolorotolo.appintro.ISlidePolicy;
|
||||||
|
import com.beemdevelopment.aegis.helpers.FingerprintHelper;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.helpers.FingerprintHelper;
|
|
||||||
|
|
||||||
public class CustomAuthenticationSlide extends Fragment implements ISlidePolicy, RadioGroup.OnCheckedChangeListener {
|
public class CustomAuthenticationSlide extends Fragment implements ISlidePolicy, RadioGroup.OnCheckedChangeListener {
|
||||||
public static final int CRYPT_TYPE_INVALID = 0;
|
public static final int CRYPT_TYPE_INVALID = 0;
|
|
@ -1,13 +1,15 @@
|
||||||
package me.impy.aegis.ui.tasks;
|
package com.beemdevelopment.aegis.ui.tasks;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.CryptoUtils;
|
||||||
|
import com.beemdevelopment.aegis.crypto.SCryptParameters;
|
||||||
|
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.crypto.CryptoUtils;
|
|
||||||
import me.impy.aegis.crypto.SCryptParameters;
|
import com.beemdevelopment.aegis.db.slots.PasswordSlot;
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
|
||||||
|
|
||||||
public class DerivationTask extends ProgressDialogTask<DerivationTask.Params, SecretKey> {
|
public class DerivationTask extends ProgressDialogTask<DerivationTask.Params, SecretKey> {
|
||||||
private Callback _cb;
|
private Callback _cb;
|
|
@ -1,11 +1,11 @@
|
||||||
package me.impy.aegis.ui.tasks;
|
package com.beemdevelopment.aegis.ui.tasks;
|
||||||
|
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
import androidx.annotation.CallSuper;
|
import androidx.annotation.CallSuper;
|
||||||
import me.impy.aegis.ui.Dialogs;
|
import com.beemdevelopment.aegis.ui.Dialogs;
|
||||||
|
|
||||||
public abstract class ProgressDialogTask<Params, Result> extends AsyncTask<Params, Void, Result> {
|
public abstract class ProgressDialogTask<Params, Result> extends AsyncTask<Params, Void, Result> {
|
||||||
private ProgressDialog _dialog;
|
private ProgressDialog _dialog;
|
|
@ -1,18 +1,20 @@
|
||||||
package me.impy.aegis.ui.tasks;
|
package com.beemdevelopment.aegis.ui.tasks;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.crypto.MasterKey;
|
||||||
|
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.Cipher;
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.crypto.MasterKey;
|
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
import com.beemdevelopment.aegis.db.slots.FingerprintSlot;
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
import com.beemdevelopment.aegis.db.slots.PasswordSlot;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
import me.impy.aegis.db.slots.SlotList;
|
import com.beemdevelopment.aegis.db.slots.SlotList;
|
||||||
import me.impy.aegis.db.slots.SlotException;
|
import com.beemdevelopment.aegis.db.slots.SlotException;
|
||||||
import me.impy.aegis.db.slots.SlotIntegrityException;
|
import com.beemdevelopment.aegis.db.slots.SlotIntegrityException;
|
||||||
|
|
||||||
public class SlotListTask<T extends Slot> extends ProgressDialogTask<SlotListTask.Params, MasterKey> {
|
public class SlotListTask<T extends Slot> extends ProgressDialogTask<SlotListTask.Params, MasterKey> {
|
||||||
private Callback _cb;
|
private Callback _cb;
|
|
@ -1,22 +1,23 @@
|
||||||
package me.impy.aegis.ui.views;
|
package com.beemdevelopment.aegis.ui.views;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.helpers.ItemTouchHelperAdapter;
|
||||||
|
import com.beemdevelopment.aegis.otp.HotpInfo;
|
||||||
|
import com.beemdevelopment.aegis.otp.OtpInfo;
|
||||||
|
import com.beemdevelopment.aegis.otp.OtpInfoException;
|
||||||
|
import com.beemdevelopment.aegis.otp.TotpInfo;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.helpers.ItemTouchHelperAdapter;
|
|
||||||
import me.impy.aegis.otp.HotpInfo;
|
|
||||||
import me.impy.aegis.otp.OtpInfo;
|
|
||||||
import me.impy.aegis.otp.OtpInfoException;
|
|
||||||
import me.impy.aegis.otp.TotpInfo;
|
|
||||||
|
|
||||||
public class EntryAdapter extends RecyclerView.Adapter<EntryHolder> implements ItemTouchHelperAdapter {
|
public class EntryAdapter extends RecyclerView.Adapter<EntryHolder> implements ItemTouchHelperAdapter {
|
||||||
private List<DatabaseEntry> _entries;
|
private List<DatabaseEntry> _entries;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.views;
|
package com.beemdevelopment.aegis.ui.views;
|
||||||
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
|
@ -10,13 +10,13 @@ import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.amulyakhare.textdrawable.TextDrawable;
|
import com.amulyakhare.textdrawable.TextDrawable;
|
||||||
|
import com.beemdevelopment.aegis.helpers.TextDrawableHelper;
|
||||||
|
import com.beemdevelopment.aegis.helpers.UiRefresher;
|
||||||
|
import com.beemdevelopment.aegis.otp.HotpInfo;
|
||||||
|
import com.beemdevelopment.aegis.otp.TotpInfo;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.helpers.TextDrawableHelper;
|
|
||||||
import me.impy.aegis.helpers.UiRefresher;
|
|
||||||
import me.impy.aegis.otp.HotpInfo;
|
|
||||||
import me.impy.aegis.otp.TotpInfo;
|
|
||||||
|
|
||||||
public class EntryHolder extends RecyclerView.ViewHolder {
|
public class EntryHolder extends RecyclerView.ViewHolder {
|
||||||
private TextView _profileName;
|
private TextView _profileName;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.views;
|
package com.beemdevelopment.aegis.ui.views;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.PorterDuff;
|
import android.graphics.PorterDuff;
|
||||||
|
@ -13,13 +13,14 @@ import android.view.ViewGroup;
|
||||||
import android.view.animation.AnimationUtils;
|
import android.view.animation.AnimationUtils;
|
||||||
import android.view.animation.LayoutAnimationController;
|
import android.view.animation.LayoutAnimationController;
|
||||||
|
|
||||||
|
import com.beemdevelopment.aegis.helpers.SimpleItemTouchHelperCallback;
|
||||||
|
import com.beemdevelopment.aegis.helpers.UiRefresher;
|
||||||
|
import com.beemdevelopment.aegis.otp.TotpInfo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.DatabaseEntry;
|
import com.beemdevelopment.aegis.db.DatabaseEntry;
|
||||||
import me.impy.aegis.helpers.SimpleItemTouchHelperCallback;
|
|
||||||
import me.impy.aegis.helpers.UiRefresher;
|
|
||||||
import me.impy.aegis.otp.TotpInfo;
|
|
||||||
|
|
||||||
public class EntryListView extends Fragment implements EntryAdapter.Listener {
|
public class EntryListView extends Fragment implements EntryAdapter.Listener {
|
||||||
private EntryAdapter _adapter;
|
private EntryAdapter _adapter;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.views;
|
package com.beemdevelopment.aegis.ui.views;
|
||||||
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -7,8 +7,7 @@ import android.view.ViewGroup;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
|
||||||
|
|
||||||
public class GroupAdapter extends RecyclerView.Adapter<GroupHolder> {
|
public class GroupAdapter extends RecyclerView.Adapter<GroupHolder> {
|
||||||
private GroupAdapter.Listener _listener;
|
private GroupAdapter.Listener _listener;
|
|
@ -1,19 +1,11 @@
|
||||||
package me.impy.aegis.ui.views;
|
package com.beemdevelopment.aegis.ui.views;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.crypto.KeyStoreHandle;
|
|
||||||
import me.impy.aegis.crypto.KeyStoreHandleException;
|
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
|
||||||
import me.impy.aegis.db.slots.RawSlot;
|
|
||||||
import me.impy.aegis.db.slots.Slot;
|
|
||||||
import me.impy.aegis.helpers.FingerprintHelper;
|
|
||||||
|
|
||||||
public class GroupHolder extends RecyclerView.ViewHolder {
|
public class GroupHolder extends RecyclerView.ViewHolder {
|
||||||
private TextView _slotName;
|
private TextView _slotName;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.views;
|
package com.beemdevelopment.aegis.ui.views;
|
||||||
|
|
||||||
import android.animation.ObjectAnimator;
|
import android.animation.ObjectAnimator;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
@ -8,7 +8,7 @@ import android.util.AttributeSet;
|
||||||
import android.view.animation.LinearInterpolator;
|
import android.view.animation.LinearInterpolator;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
|
|
||||||
import me.impy.aegis.otp.TotpInfo;
|
import com.beemdevelopment.aegis.otp.TotpInfo;
|
||||||
|
|
||||||
public class PeriodProgressBar extends ProgressBar {
|
public class PeriodProgressBar extends ProgressBar {
|
||||||
private int _period;
|
private int _period;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.views;
|
package com.beemdevelopment.aegis.ui.views;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -7,8 +7,8 @@ import android.view.ViewGroup;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.slots.Slot;
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
|
|
||||||
public class SlotAdapter extends RecyclerView.Adapter<SlotHolder> {
|
public class SlotAdapter extends RecyclerView.Adapter<SlotHolder> {
|
||||||
private Listener _listener;
|
private Listener _listener;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.ui.views;
|
package com.beemdevelopment.aegis.ui.views;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -6,14 +6,16 @@ import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import me.impy.aegis.R;
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandle;
|
||||||
import me.impy.aegis.crypto.KeyStoreHandle;
|
import com.beemdevelopment.aegis.crypto.KeyStoreHandleException;
|
||||||
import me.impy.aegis.crypto.KeyStoreHandleException;
|
import com.beemdevelopment.aegis.helpers.FingerprintHelper;
|
||||||
import me.impy.aegis.db.slots.FingerprintSlot;
|
|
||||||
import me.impy.aegis.db.slots.PasswordSlot;
|
import com.beemdevelopment.aegis.R;
|
||||||
import me.impy.aegis.db.slots.RawSlot;
|
|
||||||
import me.impy.aegis.db.slots.Slot;
|
import com.beemdevelopment.aegis.db.slots.FingerprintSlot;
|
||||||
import me.impy.aegis.helpers.FingerprintHelper;
|
import com.beemdevelopment.aegis.db.slots.PasswordSlot;
|
||||||
|
import com.beemdevelopment.aegis.db.slots.RawSlot;
|
||||||
|
import com.beemdevelopment.aegis.db.slots.Slot;
|
||||||
|
|
||||||
public class SlotHolder extends RecyclerView.ViewHolder {
|
public class SlotHolder extends RecyclerView.ViewHolder {
|
||||||
private TextView _slotUsed;
|
private TextView _slotUsed;
|
|
@ -1,4 +1,4 @@
|
||||||
package me.impy.aegis.util;
|
package com.beemdevelopment.aegis.util;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
|
@ -5,7 +5,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
tools:context="me.impy.aegis.ui.AuthActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.AuthActivity">
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
tools:context="me.impy.aegis.ui.GroupManagerActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.GroupManagerActivity">
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
tools:context="me.impy.aegis.ui.IntroActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.IntroActivity">
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
tools:context="me.impy.aegis.ui.MainActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.MainActivity">
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:name="me.impy.aegis.ui.views.EntryListView"
|
android:name="com.beemdevelopment.aegis.ui.views.EntryListView"
|
||||||
android:id="@+id/key_profiles"
|
android:id="@+id/key_profiles"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||||
android:paddingTop="@dimen/activity_vertical_margin"
|
android:paddingTop="@dimen/activity_vertical_margin"
|
||||||
tools:context="me.impy.aegis.ui.ScannerActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.ScannerActivity">
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
tools:context="me.impy.aegis.ui.SlotManagerActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.SlotManagerActivity">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<me.impy.aegis.ui.views.PeriodProgressBar
|
<com.beemdevelopment.aegis.ui.views.PeriodProgressBar
|
||||||
style="?android:attr/progressBarStyleHorizontal"
|
style="?android:attr/progressBarStyleHorizontal"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="4dp"
|
android:layout_height="4dp"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
android:background="?attr/background"
|
android:background="?attr/background"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<me.impy.aegis.ui.views.PeriodProgressBar
|
<com.beemdevelopment.aegis.ui.views.PeriodProgressBar
|
||||||
style="?android:attr/progressBarStyleHorizontal"
|
style="?android:attr/progressBarStyleHorizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="4dp"
|
android:layout_height="4dp"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context="me.impy.aegis.ui.EditEntryActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.EditEntryActivity">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_save"
|
android:id="@+id/action_save"
|
||||||
app:showAsAction="ifRoom"
|
app:showAsAction="ifRoom"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context="me.impy.aegis.ui.MainActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.MainActivity">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_lock"
|
android:id="@+id/action_lock"
|
||||||
android:icon="@drawable/ic_lock"
|
android:icon="@drawable/ic_lock"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context="me.impy.aegis.ui.ScannerActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.ScannerActivity">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_camera"
|
android:id="@+id/action_camera"
|
||||||
android:icon="@drawable/ic_camera_front_24dp"
|
android:icon="@drawable/ic_camera_front_24dp"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context="me.impy.aegis.ui.SlotManagerActivity">
|
tools:context="com.beemdevelopment.aegis.com.impy.aegis.ui.SlotManagerActivity">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_save"
|
android:id="@+id/action_save"
|
||||||
app:showAsAction="ifRoom"
|
app:showAsAction="ifRoom"
|
||||||
|
|
|
@ -106,7 +106,7 @@
|
||||||
<string name="tap_to_select">Tap to select</string>
|
<string name="tap_to_select">Tap to select</string>
|
||||||
<string name="saving_profile_error">Error saving profile</string>
|
<string name="saving_profile_error">Error saving profile</string>
|
||||||
<string name="welcome">Welcome</string>
|
<string name="welcome">Welcome</string>
|
||||||
<string name="app_description">Aegis is an free, secure and open source 2FA app</string>
|
<string name="app_description">Aegis is a free, secure and open source 2FA app</string>
|
||||||
<string name="setup_completed">Setup completed</string>
|
<string name="setup_completed">Setup completed</string>
|
||||||
<string name="setup_completed_description">Aegis has been setup and is ready to go.</string>
|
<string name="setup_completed_description">Aegis has been setup and is ready to go.</string>
|
||||||
<string name="vault_not_found">Vault not found, starting setup…</string>
|
<string name="vault_not_found">Vault not found, starting setup…</string>
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
android:defaultValue="30"
|
android:defaultValue="30"
|
||||||
android:dialogTitle="Set number of seconds of inactivity before Aegis locks the database"
|
android:dialogTitle="Set number of seconds of inactivity before Aegis locks the database"
|
||||||
app:iconSpaceReserved="false"/>-->
|
app:iconSpaceReserved="false"/>-->
|
||||||
<me.impy.aegis.ui.preferences.SwitchPreference
|
<com.beemdevelopment.aegis.ui.preferences.SwitchPreference
|
||||||
android:key="pref_encryption"
|
android:key="pref_encryption"
|
||||||
android:title="@string/pref_encryption_title"
|
android:title="@string/pref_encryption_title"
|
||||||
android:summary="@string/pref_encryption_summary"
|
android:summary="@string/pref_encryption_summary"
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
android:dependency="pref_encryption"
|
android:dependency="pref_encryption"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
|
|
||||||
<me.impy.aegis.ui.preferences.SwitchPreference
|
<com.beemdevelopment.aegis.ui.preferences.SwitchPreference
|
||||||
android:key="pref_fingerprint"
|
android:key="pref_fingerprint"
|
||||||
android:title="@string/pref_fingerprint_title"
|
android:title="@string/pref_fingerprint_title"
|
||||||
android:summary="@string/pref_fingerprint_summary"
|
android:summary="@string/pref_fingerprint_summary"
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package me.impy.aegis;
|
package com.beemdevelopment.aegis;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.security.InvalidKeyException;
|
import java.security.InvalidKeyException;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
|
||||||
import me.impy.aegis.crypto.otp.HOTP;
|
import com.beemdevelopment.aegis.crypto.otp.HOTP;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue