Skip to content

Commit 810e565

Browse files
authored
Merge pull request #15 from skydoves/feature/encrypt
Encryption preference entity
2 parents 3706281 + e77a02c commit 810e565

File tree

13 files changed

+284
-76
lines changed

13 files changed

+284
-76
lines changed

demo-kotlin/src/main/java/com/skydoves/preferenceroomdemo/entities/Profile.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.skydoves.preferenceroomdemo.entities
1818

19+
import com.skydoves.preferenceroom.EncryptEntity
1920
import com.skydoves.preferenceroom.KeyName
2021
import com.skydoves.preferenceroom.PreferenceEntity
2122
import com.skydoves.preferenceroom.PreferenceFunction
@@ -30,6 +31,7 @@ import com.skydoves.preferenceroomdemo.models.PrivateInfo
3031
* Copyright (c) 2017 skydoves rights reserved.
3132
*/
3233

34+
@EncryptEntity("1234567890ABCDFG")
3335
@PreferenceEntity("UserProfile")
3436
open class Profile {
3537
@KeyName("nickname")

demo/src/main/java/com/skydoves/preferenceroomdemo/MainActivity.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,6 @@ public class MainActivity extends AppCompatActivity {
3636
/** UserProfile Component. {@link AppComponent} */
3737
@InjectPreference public PreferenceComponent_AppComponent component;
3838

39-
private ListViewAdapter adapter;
40-
4139
@Override
4240
protected void onCreate(@Nullable Bundle savedInstanceState) {
4341
super.onCreate(savedInstanceState);
@@ -53,7 +51,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
5351
}
5452

5553
private void initializeUI() {
56-
this.adapter = new ListViewAdapter(this, R.layout.item_profile);
54+
ListViewAdapter adapter = new ListViewAdapter(this, R.layout.item_profile);
5755

5856
if (component.UserProfile().getLogin()) {
5957
ListView listView = findViewById(R.id.content_listView);

demo/src/main/java/com/skydoves/preferenceroomdemo/entities/Profile.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.skydoves.preferenceroomdemo.entities;
1818

19+
import com.skydoves.preferenceroom.EncryptEntity;
1920
import com.skydoves.preferenceroom.KeyName;
2021
import com.skydoves.preferenceroom.PreferenceEntity;
2122
import com.skydoves.preferenceroom.PreferenceFunction;
@@ -25,6 +26,7 @@
2526
import com.skydoves.preferenceroomdemo.models.Pet;
2627
import com.skydoves.preferenceroomdemo.models.PrivateInfo;
2728

29+
@EncryptEntity("1234567890ABCDFG")
2830
@PreferenceEntity("UserProfile")
2931
public class Profile {
3032
@KeyName("nickname")

demo/src/main/java/com/skydoves/preferenceroomdemo/models/PrivateInfo.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.skydoves.preferenceroomdemo.models;
1818

19+
import androidx.annotation.NonNull;
20+
1921
public class PrivateInfo {
2022

2123
private String name;
@@ -33,4 +35,10 @@ public int getAge() {
3335
public String getName() {
3436
return this.name;
3537
}
38+
39+
@NonNull
40+
@Override
41+
public String toString() {
42+
return "name=" + name + ", " + "age=" + age;
43+
}
3644
}

metadata.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
ext {
22
metadata = [userOrg : 'devmagician',
33
groupId : 'com.github.skydoves',
4-
publishVersion : '1.1.5',
4+
publishVersion : '1.1.6',
55
desc : 'This is PreferenceRoom by skydoves',
66
website : 'https://github.com/skydoves/PreferenceRoom',
77
issueTracker : '${website}/issues',

preferenceroom-compiler/src/main/java/com/skydoves/processor/PreferenceEntityAnnotatedClass.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.google.common.base.Strings;
2121
import com.google.common.base.VerifyException;
2222
import com.skydoves.preferenceroom.DefaultPreference;
23+
import com.skydoves.preferenceroom.EncryptEntity;
2324
import com.skydoves.preferenceroom.PreferenceEntity;
2425
import com.skydoves.preferenceroom.PreferenceFunction;
2526
import com.squareup.javapoet.MethodSpec;
@@ -46,6 +47,8 @@ public class PreferenceEntityAnnotatedClass {
4647
public final String entityName;
4748
public final List<PreferenceKeyField> keyFields;
4849
public boolean isDefaultPreference = false;
50+
public boolean isEncryption = false;
51+
public String encryptionKey = null;
4952

5053
public final List<String> keyNameFields;
5154
public final Map<String, PreferenceKeyField> keyFieldMap;
@@ -62,6 +65,7 @@ public PreferenceEntityAnnotatedClass(
6265
throws VerifyException {
6366
PreferenceEntity preferenceEntity = annotatedElement.getAnnotation(PreferenceEntity.class);
6467
DefaultPreference defaultPreference = annotatedElement.getAnnotation(DefaultPreference.class);
68+
EncryptEntity encryptEntity = annotatedElement.getAnnotation(EncryptEntity.class);
6569
PackageElement packageElement = elementUtils.getPackageOf(annotatedElement);
6670
this.packageName =
6771
packageElement.isUnnamed() ? null : packageElement.getQualifiedName().toString();
@@ -79,6 +83,10 @@ public PreferenceEntityAnnotatedClass(
7983
this.getterFunctionsList = new HashMap<>();
8084

8185
if (defaultPreference != null) isDefaultPreference = true;
86+
if (encryptEntity != null) {
87+
isEncryption = true;
88+
encryptionKey = encryptEntity.value();
89+
}
8290

8391
if (Strings.isNullOrEmpty(entityName)) {
8492
throw new VerifyException("You should entity PreferenceRoom class value.");

preferenceroom-compiler/src/main/java/com/skydoves/processor/PreferenceEntityGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import java.util.List;
3333
import javax.lang.model.util.Elements;
3434

35-
@SuppressWarnings("WeakerAccess")
35+
@SuppressWarnings({"WeakerAccess", "SpellCheckingInspection"})
3636
public class PreferenceEntityGenerator {
3737

3838
private final PreferenceEntityAnnotatedClass annotatedClazz;

0 commit comments

Comments
 (0)