Skip to content

Commit ca5fb95

Browse files
committed
#11 DEX format UI refactor
1 parent 5c9dba7 commit ca5fb95

23 files changed

+123
-112
lines changed

CommonLib/src/main/java/org/freeinternals/commonlib/ui/GenerateTreeNodeFileFormat.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ public interface GenerateTreeNodeFileFormat {
2828
*/
2929
ResourceBundle getMessages();
3030

31+
default DefaultMutableTreeNode addNode(DefaultMutableTreeNode parentNode, int startPos, int len, String name, Object value) {
32+
return addNode(parentNode, startPos, len, name, value, null, null);
33+
}
34+
3135
default DefaultMutableTreeNode addNode(DefaultMutableTreeNode parentNode, int startPos, int len, String fieldName, Object value, String msgkey, Icon icon) {
3236
JTreeNodeFileComponent fileComp = new JTreeNodeFileComponent(
3337
startPos,

FormatDEX/src/main/java/org/freeinternals/format/dex/GenerateTreeNodeDexFile.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.Locale;
1111
import java.util.ResourceBundle;
1212
import javax.swing.tree.DefaultMutableTreeNode;
13+
import org.freeinternals.commonlib.ui.GenerateTreeNodeFileFormat;
1314

1415
/**
1516
* Interface for generating tree node for {@link DexFile}.
@@ -21,12 +22,13 @@
2122
* </pre>
2223
*/
2324
@SuppressWarnings({"java:S115"})
24-
public interface GenerateTreeNodeDexFile {
25+
public interface GenerateTreeNodeDexFile extends GenerateTreeNodeFileFormat {
2526
static final ResourceBundle MESSAGES = ResourceBundle.getBundle(JTreeDexFile.class.getPackageName() + ".MessagesBundle", Locale.ROOT);
2627
static final String FORMAT_STRING_STRING = "%s - %s";
27-
2828
static final String msg_annotation_set_item = "msg_annotation_set_item";
2929

30-
void generateTreeNode(final DefaultMutableTreeNode parentNode, final DexFile dexFile);
31-
30+
@Override
31+
default ResourceBundle getMessages() {
32+
return MESSAGES;
33+
}
3234
}

FormatDEX/src/main/java/org/freeinternals/format/dex/JTreeDexFile.java

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.logging.Logger;
1111
import javax.swing.Icon;
1212
import javax.swing.tree.DefaultMutableTreeNode;
13+
import org.freeinternals.commonlib.core.FileFormat;
1314
import org.freeinternals.commonlib.ui.GenerateTreeNode;
1415
import org.freeinternals.commonlib.ui.JTreeNodeFileComponent;
1516
import org.freeinternals.commonlib.ui.UITool;
@@ -30,38 +31,11 @@ public class JTreeDexFile implements GenerateTreeNodeDexFile {
3031
JTreeDexFile() {
3132
}
3233

33-
protected static DefaultMutableTreeNode addNode(DefaultMutableTreeNode parentNode, int startPos, int len, String name, Object value) {
34-
return addNode(parentNode, startPos, len, name, value, null, null);
35-
}
36-
37-
protected static DefaultMutableTreeNode addNode(DefaultMutableTreeNode parentNode, int startPos, int len, String name, Object value, Icon icon) {
38-
return addNode(parentNode, startPos, len, name, value, null, icon);
39-
}
40-
41-
protected static DefaultMutableTreeNode addNode(DefaultMutableTreeNode parentNode, int startPos, int len, String name, Object value, String msgkey) {
42-
return addNode(parentNode, startPos, len, name, value, msgkey, null);
43-
}
44-
45-
protected static DefaultMutableTreeNode addNode(DefaultMutableTreeNode parentNode, int startPos, int len, String name, Object value, String msgkey, Icon icon) {
46-
JTreeNodeFileComponent fileComp = new JTreeNodeFileComponent(
47-
startPos,
48-
len,
49-
name + ": " + value.toString()
50-
);
51-
if (msgkey != null) {
52-
fileComp.setDescription(GenerateTreeNodeDexFile.MESSAGES.getString(msgkey));
53-
}
54-
fileComp.setIcon(icon);
55-
56-
DefaultMutableTreeNode node = new DefaultMutableTreeNode(fileComp);
57-
parentNode.add(node);
58-
return node;
59-
}
60-
6134
@Override
62-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
35+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
36+
DexFile dexFile = (DexFile)format;
6337
this.generate_magic(parentNode, dexFile);
64-
dexFile.header.generateTreeNode(parentNode);
38+
dexFile.header.generateTreeNode(parentNode, dexFile);
6539
this.generate_string_ids(parentNode, dexFile);
6640
this.generate_type_ids(parentNode, dexFile);
6741
this.generate_proto_ids(parentNode, dexFile);

FormatDEX/src/main/java/org/freeinternals/format/dex/annotation_set_item.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
import java.io.IOException;
1010
import javax.swing.tree.DefaultMutableTreeNode;
1111
import org.freeinternals.commonlib.core.FileComponent;
12+
import org.freeinternals.commonlib.core.FileFormat;
1213
import org.freeinternals.commonlib.core.FileFormatException;
1314
import org.freeinternals.commonlib.ui.JTreeNodeFileComponent;
1415
import org.freeinternals.commonlib.ui.UITool;
15-
import static org.freeinternals.format.dex.JTreeDexFile.addNode;
1616

1717
/**
1818
*
@@ -51,7 +51,8 @@ public String toString() {
5151
}
5252

5353
@Override
54-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
54+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
55+
DexFile dexFile = (DexFile)format;
5556
int floatPos = super.startPos;
5657
addNode(parentNode,
5758
floatPos,
@@ -127,7 +128,8 @@ public static class annotation_item extends FileComponent implements GenerateTre
127128
}
128129

129130
@Override
130-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
131+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
132+
DexFile dexFile = (DexFile)format;
131133
int floatPos = super.startPos;
132134
addNode(parentNode,
133135
floatPos,

FormatDEX/src/main/java/org/freeinternals/format/dex/annotation_set_ref_list.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@
99
import java.io.IOException;
1010
import javax.swing.tree.DefaultMutableTreeNode;
1111
import org.freeinternals.commonlib.core.FileComponent;
12+
import org.freeinternals.commonlib.core.FileFormat;
1213
import org.freeinternals.commonlib.core.FileFormatException;
1314
import org.freeinternals.commonlib.ui.JTreeNodeFileComponent;
1415
import org.freeinternals.commonlib.ui.UITool;
15-
import static org.freeinternals.format.dex.GenerateTreeNodeDexFile.MESSAGES;
16-
import static org.freeinternals.format.dex.JTreeDexFile.addNode;
1716

1817
/**
1918
*
@@ -53,8 +52,10 @@ public String toString() {
5352
}
5453

5554
@Override
56-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
55+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
56+
DexFile dexFile = (DexFile)format;
5757
int floatPos = super.startPos;
58+
5859
addNode(parentNode,
5960
floatPos,
6061
Type_uint.LENGTH,

FormatDEX/src/main/java/org/freeinternals/format/dex/annotations_directory_item.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@
99
import java.io.IOException;
1010
import javax.swing.tree.DefaultMutableTreeNode;
1111
import org.freeinternals.commonlib.core.FileComponent;
12+
import org.freeinternals.commonlib.core.FileFormat;
1213
import org.freeinternals.commonlib.core.FileFormatException;
1314
import org.freeinternals.commonlib.ui.JTreeNodeFileComponent;
1415
import org.freeinternals.commonlib.ui.UITool;
15-
import static org.freeinternals.format.dex.GenerateTreeNodeDexFile.FORMAT_STRING_STRING;
16-
import static org.freeinternals.format.dex.JTreeDexFile.addNode;
1716

1817
/**
1918
*
@@ -84,8 +83,10 @@ public class annotations_directory_item extends FileComponent implements Generat
8483
}
8584

8685
@Override
87-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
86+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
87+
DexFile dexFile = (DexFile)format;
8888
int floatPos = super.startPos;
89+
8990
DefaultMutableTreeNode classAnOffsetNode = addNode(parentNode,
9091
floatPos,
9192
Type_uint.LENGTH,
@@ -229,8 +230,10 @@ public static class field_annotation extends FileComponent implements GenerateTr
229230
}
230231

231232
@Override
232-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
233+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
234+
DexFile dexFile = (DexFile)format;
233235
int floatPos = super.startPos;
236+
234237
addNode(parentNode,
235238
floatPos,
236239
Type_uint.LENGTH,
@@ -281,8 +284,10 @@ public static class method_annotation extends FileComponent implements GenerateT
281284
}
282285

283286
@Override
284-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
287+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
288+
DexFile dexFile = (DexFile)format;
285289
int floatPos = super.startPos;
290+
286291
addNode(parentNode,
287292
floatPos,
288293
Type_uint.LENGTH,
@@ -332,8 +337,10 @@ public static class parameter_annotation extends FileComponent implements Genera
332337
}
333338

334339
@Override
335-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
340+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
341+
DexFile dexFile = (DexFile)format;
336342
int floatPos = super.startPos;
343+
337344
addNode(parentNode,
338345
floatPos,
339346
Type_uint.LENGTH,

FormatDEX/src/main/java/org/freeinternals/format/dex/class_data_item.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,10 @@
1010
import javax.swing.tree.DefaultMutableTreeNode;
1111
import org.freeinternals.commonlib.core.BytesTool;
1212
import org.freeinternals.commonlib.core.FileComponent;
13+
import org.freeinternals.commonlib.core.FileFormat;
1314
import org.freeinternals.commonlib.core.FileFormatException;
1415
import org.freeinternals.commonlib.ui.JTreeNodeFileComponent;
1516
import org.freeinternals.commonlib.ui.UITool;
16-
import static org.freeinternals.format.dex.GenerateTreeNodeDexFile.MESSAGES;
17-
import static org.freeinternals.format.dex.JTreeDexFile.addNode;
1817

1918
/**
2019
*
@@ -93,8 +92,10 @@ public class class_data_item extends FileComponent implements GenerateTreeNodeDe
9392

9493
@Override
9594
@SuppressWarnings("java:S3776")
96-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dex) {
95+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
96+
DexFile dex = (DexFile)format;
9797
int floatPos = super.startPos;
98+
9899
addNode(parentNode, floatPos, this.static_fields_size.length, "static_fields_size", this.static_fields_size, "msg_class_data_item__static_fields_size", UITool.icon4Size());
99100
floatPos += this.static_fields_size.length;
100101
addNode(parentNode, floatPos, this.instance_fields_size.length, "instance_fields_size", this.instance_fields_size, "msg_class_data_item__instance_fields_size", UITool.icon4Size());
@@ -234,8 +235,10 @@ public static class encoded_field extends FileComponent implements GenerateTreeN
234235
}
235236

236237
@Override
237-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
238+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
239+
DexFile dexFile = (DexFile)format;
238240
int floatPos = super.startPos;
241+
239242
field_id_item field = dexFile.field_ids[this.field_idx_diff.value];
240243
addNode(parentNode,
241244
floatPos,
@@ -274,8 +277,10 @@ public static class encoded_method extends FileComponent implements GenerateTree
274277
}
275278

276279
@Override
277-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
280+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
281+
DexFile dexFile = (DexFile)format;
278282
int floatPos = super.startPos;
283+
279284
method_id_item method = dexFile.method_ids[this.method_idx_diff.value];
280285
addNode(parentNode,
281286
floatPos,

FormatDEX/src/main/java/org/freeinternals/format/dex/class_def_item.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
import javax.swing.tree.DefaultMutableTreeNode;
1111
import org.freeinternals.commonlib.core.BytesTool;
1212
import org.freeinternals.commonlib.core.FileComponent;
13+
import org.freeinternals.commonlib.core.FileFormat;
1314
import org.freeinternals.commonlib.core.FileFormatException;
1415
import org.freeinternals.commonlib.ui.JTreeNodeFileComponent;
1516
import org.freeinternals.commonlib.ui.UITool;
16-
import static org.freeinternals.format.dex.JTreeDexFile.addNode;
1717

1818
/**
1919
*
@@ -220,7 +220,8 @@ public String get_source_file(DexFile dexFile) {
220220
}
221221

222222
@Override
223-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
223+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
224+
DexFile dexFile = (DexFile)format;
224225
int floatPos = super.startPos;
225226
addNode(parentNode,
226227
floatPos,

FormatDEX/src/main/java/org/freeinternals/format/dex/code_item.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
import java.io.IOException;
1010
import javax.swing.tree.DefaultMutableTreeNode;
1111
import org.freeinternals.commonlib.core.FileComponent;
12+
import org.freeinternals.commonlib.core.FileFormat;
1213
import org.freeinternals.commonlib.core.FileFormatException;
1314
import org.freeinternals.commonlib.ui.GenerateTreeNode;
1415
import org.freeinternals.commonlib.ui.UITool;
15-
import static org.freeinternals.format.dex.JTreeDexFile.addNode;
1616

1717
/**
1818
*
@@ -84,7 +84,7 @@ public class code_item extends FileComponent implements GenerateTreeNodeDexFile
8484
}
8585

8686
@Override
87-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
87+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat dexFile) {
8888
int floatPos = super.startPos;
8989
addNode(parentNode, floatPos, Type_ushort.LENGTH, "registers_size", this.registers_size, "msg_code_item__registers_size", UITool.icon4Size());
9090
floatPos += Type_ushort.LENGTH;

FormatDEX/src/main/java/org/freeinternals/format/dex/encoded_annotation.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@
1111
import java.util.logging.Logger;
1212
import javax.swing.tree.DefaultMutableTreeNode;
1313
import org.freeinternals.commonlib.core.FileComponent;
14+
import org.freeinternals.commonlib.core.FileFormat;
1415
import org.freeinternals.commonlib.core.FileFormatException;
1516
import org.freeinternals.commonlib.ui.JTreeNodeFileComponent;
1617
import org.freeinternals.commonlib.ui.UITool;
17-
import static org.freeinternals.format.dex.GenerateTreeNodeDexFile.MESSAGES;
18-
import static org.freeinternals.format.dex.JTreeDexFile.addNode;
1918

2019
/**
2120
*
@@ -76,7 +75,8 @@ public String toString(DexFile dexFile) {
7675
}
7776

7877
@Override
79-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
78+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
79+
DexFile dexFile = (DexFile)format;
8080
int floatPos = super.startPos;
8181
addNode(parentNode,
8282
floatPos,
@@ -150,7 +150,8 @@ public static class annotation_element extends FileComponent implements Generate
150150
}
151151

152152
@Override
153-
public void generateTreeNode(DefaultMutableTreeNode parentNode, DexFile dexFile) {
153+
public void generateTreeNode(DefaultMutableTreeNode parentNode, FileFormat format) {
154+
DexFile dexFile = (DexFile)format;
154155
int floatPos = super.startPos;
155156
addNode(parentNode,
156157
floatPos,

0 commit comments

Comments
 (0)