Skip to content

Commit 8fd5cf4

Browse files
author
xiaoqi
committed
update to 1.0.3
1 parent f508614 commit 8fd5cf4

5 files changed

Lines changed: 15 additions & 7 deletions

File tree

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66

77
1.0.0 完成基本功能;
88
1.0.1 全局变量的作用域从之前强制public改成只要非private即可;
9-
1.0.1 修改 SaveHelper.bind(this, savedInstanceState)方法为SaveHelper.recover(this, savedInstanceState),只是重命名,
9+
1.0.2 修改 SaveHelper.bind(this, savedInstanceState)方法为SaveHelper.recover(this, savedInstanceState),只是重命名,
1010
以便于理解;
11-
去掉当内存被收回去调用recover方法时,却没有对应helper类会主动抛异常的情况,方便在BaseAcitviy 和 BaseFragment的
11+
去掉当内存被回收去调用recover方法时,却没有对应helper类会主动抛异常的情况,方便在BaseAcitviy 和 BaseFragment的
1212
onSaveInstanceState 和 onRestoreInstanceState 统一添加SaveHelper.save和SaveHelper.recover方法。
13+
1.0.3 优化代码生成,如果一个activity或者fragment中没有有效的@NeedSave注解,但是添加了SaveHelper.recover和SaveHelper.save
14+
方法,现在就不会自动生成这个类的SaveStateHelper类,减少了无用SaveStateHelper类,便于在Base类中统一集成。
1315

1416

1517
# 引入

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ ext {
3535
userOrg = 'noober'
3636
groupId = 'com.noober'
3737
uploadName = 'AutoSaver'
38-
publishVersion = '1.0.2'
38+
publishVersion = '1.0.3'
3939
desc = "A light weight framework can automatically generate 'OnSaveInstanceState' code"
4040
website = 'https://github.com/JavaNoober/AutoSave'
4141
// gradlew clean build bintrayUpload -PbintrayUser=xiaoqiandroid -PbintrayKey=xxxxxxxxxxxxxxxx -PdryRun=false

sample/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ dependencies {
3030
})
3131
implementation 'com.android.support:appcompat-v7:+'
3232
testImplementation 'junit:junit:4.12'
33-
implementation 'com.noober:savehelper:1.0.2'
34-
annotationProcessor 'com.noober:processor:1.0.2'
35-
implementation 'com.noober:savehelper-api:1.0.2'
33+
implementation 'com.noober:savehelper:1.0.3'
34+
annotationProcessor 'com.noober:processor:1.0.3'
35+
implementation 'com.noober:savehelper-api:1.0.3'
3636
// implementation project(':savehelper')
3737
// implementation project(':savehelper-api')
3838
// annotationProcessor project(':savehelper-processor')

sample/src/main/java/com/recover/autosavesample/TestActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class TestActivity extends BaseActivity {
1313
private Button button;
1414
private final static String testContent = "This is a test code:";
1515

16-
@NeedSave
16+
// @NeedSave
1717
String testString = "11111111";
1818
@Override
1919
protected void onCreate(Bundle savedInstanceState) {

savehelper-processor/src/main/java/com/noober/helper/HelperClass.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public JavaFile generateCode(){
5656
.addAnnotation(Override.class)
5757
.beginControlFlow("if(savedInstanceState != null)");
5858

59+
int efficientElement = 0;
5960
for (HelperSavedValues value : elementArrayList) {
6061
Name fieldName = value.getSimpleName();
6162
String fieldType = value.getFieldType().toString();
@@ -64,6 +65,7 @@ public JavaFile generateCode(){
6465
if(value.isPrivate()){
6566
continue;
6667
}
68+
efficientElement ++;
6769
if(!type.equals("unKnow")){
6870
addMethodStatement(saveMethodBuilder,recoverMethodBuilder, type, fieldName);
6971
}else {
@@ -79,6 +81,10 @@ public JavaFile generateCode(){
7981
}
8082
}
8183
}
84+
85+
if(efficientElement == 0){
86+
return null;
87+
}
8288
recoverMethodBuilder.endControlFlow();
8389

8490
MethodSpec saveMethod = saveMethodBuilder.build();

0 commit comments

Comments
 (0)