Skip to content

Commit 35fa90f

Browse files
committed
- EasyPrefs Added AES Encryption for secure storage
- Read and Write Access still pending
1 parent 2929047 commit 35fa90f

File tree

15 files changed

+416
-63
lines changed

15 files changed

+416
-63
lines changed

library/src/main/java/io/easyprefs/Prefs.kt

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,37 @@ package io.easyprefs
22

33
import android.content.Context
44
import io.easyprefs.contract.Edit
5-
import io.easyprefs.contract.PrefProvider
65
import io.easyprefs.contract.Read
6+
import io.easyprefs.contract.Secure
77
import io.easyprefs.contract.Write
8+
import io.easyprefs.contract.provider.PrefProvider
89
import io.easyprefs.error.PrefsEditContextException
910
import io.easyprefs.error.PrefsReadContextException
1011
import io.easyprefs.error.PrefsWriteContextException
12+
import io.easyprefs.ext.Pass
1113
import io.easyprefs.impl.EasyPrefImpl
14+
import io.easyprefs.impl.SecureImpl
15+
import io.easyprefs.typedef.Encryption
1216

1317
object Prefs : PrefProvider {
1418

1519
private lateinit var context: Context
1620

17-
fun initializeApp(context: Context) {
21+
override fun initializeApp(context: Context) {
1822
this.context = context.applicationContext
1923
}
2024

25+
override fun securely(): Secure {
26+
return securely(Pass.empty)
27+
}
28+
29+
override fun securely(aesKey: String): Secure {
30+
val secure = SecureImpl
31+
secure.context = context
32+
secure.aesKey = aesKey
33+
return secure
34+
}
35+
2136
override fun write(): Write {
2237
if (this::context.isInitialized) {
2338
return write(context)
@@ -40,15 +55,15 @@ object Prefs : PrefProvider {
4055
}
4156

4257
override fun write(context: Context): Write {
43-
return EasyPrefImpl.write(context)
58+
return EasyPrefImpl.write(context, Encryption.NONE, Pass.empty)
4459
}
4560

4661
override fun write(context: Context, fileName: String): Write {
47-
return EasyPrefImpl.writeOn(context, fileName)
62+
return EasyPrefImpl.writeOn(context, fileName, Encryption.NONE, Pass.empty)
4863
}
4964

5065
override fun write(context: Context, fileName: String, mode: Int): Write {
51-
return EasyPrefImpl.writeOn(context, fileName, mode)
66+
return EasyPrefImpl.writeOn(context, fileName, mode, Encryption.NONE, Pass.empty)
5267
}
5368

5469
override fun read(): Read {
@@ -73,15 +88,15 @@ object Prefs : PrefProvider {
7388
}
7489

7590
override fun read(context: Context): Read {
76-
return EasyPrefImpl.read(context)
91+
return EasyPrefImpl.read(context, Encryption.NONE, Pass.empty)
7792
}
7893

7994
override fun read(context: Context, fileName: String): Read {
80-
return EasyPrefImpl.readOn(context, fileName)
95+
return EasyPrefImpl.readOn(context, fileName, Encryption.NONE, Pass.empty)
8196
}
8297

8398
override fun read(context: Context, fileName: String, mode: Int): Read {
84-
return EasyPrefImpl.readOn(context, fileName, mode)
99+
return EasyPrefImpl.readOn(context, fileName, mode, Encryption.NONE, Pass.empty)
85100
}
86101

87102
override fun edit(): Edit {
@@ -106,14 +121,14 @@ object Prefs : PrefProvider {
106121
}
107122

108123
override fun edit(context: Context): Edit {
109-
return EasyPrefImpl.edit(context)
124+
return EasyPrefImpl.edit(context, Encryption.NONE, Pass.empty)
110125
}
111126

112127
override fun edit(context: Context, fileName: String): Edit {
113-
return EasyPrefImpl.editOn(context, fileName)
128+
return EasyPrefImpl.editOn(context, fileName, Encryption.NONE, Pass.empty)
114129
}
115130

116131
override fun edit(context: Context, fileName: String, mode: Int): Edit {
117-
return EasyPrefImpl.editOn(context, fileName, mode)
132+
return EasyPrefImpl.editOn(context, fileName, mode, Encryption.NONE, Pass.empty)
118133
}
119134
}
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,30 @@
11
package io.easyprefs.contract
22

33
import android.content.Context
4+
import io.easyprefs.typedef.Encryption
45

56
interface EasyPref {
6-
fun write(context: Context): Write
7-
fun writeOn(context: Context, fileName: String): Write
7+
fun write(context: Context, encType: Encryption, aesKey: String): Write
8+
fun writeOn(context: Context, fileName: String, encType: Encryption, aesKey: String): Write
89
fun writeOn(
910
context: Context,
1011
fileName: String,
11-
mode: Int
12+
mode: Int, encType: Encryption, aesKey: String
1213
): Write
1314

14-
fun read(context: Context): Read
15-
fun readOn(context: Context, fileName: String): Read
15+
fun read(context: Context, encType: Encryption, aesKey: String): Read
16+
fun readOn(context: Context, fileName: String, encType: Encryption, aesKey: String): Read
1617
fun readOn(
1718
context: Context,
1819
fileName: String,
19-
mode: Int
20+
mode: Int, encType: Encryption, aesKey: String
2021
): Read
2122

22-
fun edit(context: Context): Edit
23-
fun editOn(context: Context, fileName: String): Edit
23+
fun edit(context: Context, encType: Encryption, aesKey: String): Edit
24+
fun editOn(context: Context, fileName: String, encType: Encryption, aesKey: String): Edit
2425
fun editOn(
2526
context: Context,
2627
fileName: String,
27-
mode: Int
28+
mode: Int, encType: Encryption, aesKey: String
2829
): Edit
2930
}

library/src/main/java/io/easyprefs/contract/PrefProvider.kt

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package io.easyprefs.contract
2+
3+
import io.easyprefs.contract.provider.ReadPrefProvider
4+
import io.easyprefs.contract.provider.WritePrefProvider
5+
6+
interface Secure : WritePrefProvider, ReadPrefProvider
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package io.easyprefs.contract.provider
2+
3+
import android.content.Context
4+
import io.easyprefs.contract.Edit
5+
6+
interface EditPrefProvider {
7+
fun edit(): Edit
8+
fun edit(fileName: String): Edit
9+
fun edit(fileName: String, mode: Int): Edit
10+
11+
fun edit(context: Context): Edit
12+
fun edit(context: Context, fileName: String): Edit
13+
fun edit(context: Context, fileName: String, mode: Int): Edit
14+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package io.easyprefs.contract.provider
2+
3+
import android.content.Context
4+
5+
interface PrefProvider : SecurePrefProvider,
6+
WritePrefProvider,
7+
ReadPrefProvider,
8+
EditPrefProvider {
9+
fun initializeApp(context: Context)
10+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package io.easyprefs.contract.provider
2+
3+
import android.content.Context
4+
import io.easyprefs.contract.Read
5+
6+
interface ReadPrefProvider {
7+
fun read(): Read
8+
fun read(fileName: String): Read
9+
fun read(fileName: String, mode: Int): Read
10+
11+
fun read(context: Context): Read
12+
fun read(context: Context, fileName: String): Read
13+
fun read(context: Context, fileName: String, mode: Int): Read
14+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package io.easyprefs.contract.provider
2+
3+
import io.easyprefs.contract.Secure
4+
5+
interface SecurePrefProvider {
6+
fun securely(): Secure
7+
fun securely(aesKey: String): Secure
8+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package io.easyprefs.contract.provider
2+
3+
import android.content.Context
4+
import io.easyprefs.contract.Write
5+
6+
interface WritePrefProvider {
7+
fun write(): Write
8+
fun write(fileName: String): Write
9+
fun write(fileName: String, mode: Int): Write
10+
11+
fun write(context: Context): Write
12+
fun write(context: Context, fileName: String): Write
13+
fun write(context: Context, fileName: String, mode: Int): Write
14+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package io.easyprefs.ext
2+
3+
class Pass {
4+
companion object {
5+
const val empty = ""
6+
}
7+
}

0 commit comments

Comments
 (0)