Skip to content

Commit 2ed654d

Browse files
committed
Merge pull request #115.
Test: build Change-Id: If12233afb4ca47dae08daea44556e84188163c51
1 parent 5f004a3 commit 2ed654d

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

app/src/main/java/com/afwsamples/testdpc/common/keyvaluepair/KeyValueBundleArrayFragment.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.util.ArrayList;
3434
import java.util.Arrays;
3535
import java.util.List;
36+
import java.util.Set;
3637

3738
import static com.afwsamples.testdpc.common.EditDeleteArrayAdapter.OnDeleteButtonClickListener;
3839
import static com.afwsamples.testdpc.common.EditDeleteArrayAdapter.OnEditButtonClickListener;
@@ -130,10 +131,32 @@ protected void saveConfig() {
130131
@Override
131132
protected void addNewRow() {
132133
Bundle bundle = new Bundle();
134+
135+
if (mBundleList != null && mBundleList.size() > 0) {
136+
bundle = clearBundleValues((Bundle) mBundleList.get(0).clone());
137+
}
138+
133139
mAdapter.add(bundle);
134140
showEditDialog(bundle);
135141
}
136142

143+
private Bundle clearBundleValues(Bundle bundle) {
144+
Set<String> keySet = bundle.keySet();
145+
for(String key : keySet) {
146+
Object valueObject = bundle.get(key);
147+
if(valueObject instanceof String) {
148+
bundle.putString(key, "");
149+
} else if(valueObject instanceof Integer) {
150+
bundle.putInt(key, 0);
151+
} else if(valueObject instanceof Boolean) {
152+
bundle.putBoolean(key, false);
153+
} else if(valueObject instanceof Bundle) {
154+
bundle.putBundle(key, clearBundleValues((Bundle) valueObject));
155+
}
156+
}
157+
return bundle;
158+
}
159+
137160
@Override
138161
protected void loadDefault() {}
139162

0 commit comments

Comments
 (0)