mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-04-29 22:04:25 +02:00
sort signature info after loaded
This commit is contained in:
parent
744694ccee
commit
d41bc5857c
@ -148,13 +148,7 @@ public class ApkSignatureBlock extends LengthPrefixedList<SignatureInfo>
|
||||
}
|
||||
@Override
|
||||
public int compare(SignatureInfo info1, SignatureInfo info2) {
|
||||
if(SignatureId.PADDING.equals(info1.getId())){
|
||||
return 0;
|
||||
}
|
||||
if(SignatureId.PADDING.equals(info2.getId())){
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
return info1.getId().compareTo(info2.getId());
|
||||
}
|
||||
|
||||
public static final String FILE_EXT = ".sig";
|
||||
|
@ -19,13 +19,15 @@ import com.reandroid.arsc.decoder.ValueDecoder;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class SignatureId {
|
||||
public class SignatureId implements Comparable<SignatureId>{
|
||||
private final String name;
|
||||
private final int id;
|
||||
private final int sort;
|
||||
|
||||
private SignatureId(String name, int id) {
|
||||
private SignatureId(String name, int id, int sort) {
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
this.sort = sort;
|
||||
}
|
||||
public String name() {
|
||||
return name;
|
||||
@ -51,6 +53,10 @@ public class SignatureId {
|
||||
return id == that.id;
|
||||
}
|
||||
@Override
|
||||
public int compareTo(SignatureId signatureId) {
|
||||
return Integer.compare(sort, signatureId.sort);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(id);
|
||||
}
|
||||
@ -76,7 +82,7 @@ public class SignatureId {
|
||||
}
|
||||
}
|
||||
if (ValueDecoder.isHex(name)) {
|
||||
return new SignatureId(null, ValueDecoder.parseHex(name));
|
||||
return new SignatureId(null, ValueDecoder.parseHex(name), 99);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -86,20 +92,20 @@ public class SignatureId {
|
||||
return signatureId;
|
||||
}
|
||||
}
|
||||
return new SignatureId(null, id);
|
||||
return new SignatureId(null, id, 99);
|
||||
}
|
||||
|
||||
public static SignatureId[] values() {
|
||||
return VALUES.clone();
|
||||
}
|
||||
|
||||
public static final SignatureId V2 = new SignatureId("V2", 0x7109871A);
|
||||
public static final SignatureId V3 = new SignatureId("V3", 0xF05368C0);
|
||||
public static final SignatureId V31 = new SignatureId("V31", 0x1B93AD61);
|
||||
public static final SignatureId STAMP_V1 = new SignatureId("STAMP_V1", 0x2B09189E);
|
||||
public static final SignatureId STAMP_V2 = new SignatureId("STAMP_V2", 0x6DFF800D);
|
||||
public static final SignatureId PADDING = new SignatureId("PADDING", 0x42726577);
|
||||
public static final SignatureId NULL = new SignatureId("NULL", 0x0);
|
||||
public static final SignatureId V2 = new SignatureId("V2", 0x7109871A, 0);
|
||||
public static final SignatureId V3 = new SignatureId("V3", 0xF05368C0, 1);
|
||||
public static final SignatureId V31 = new SignatureId("V31", 0x1B93AD61, 2);
|
||||
public static final SignatureId STAMP_V1 = new SignatureId("STAMP_V1", 0x2B09189E, 3);
|
||||
public static final SignatureId STAMP_V2 = new SignatureId("STAMP_V2", 0x6DFF800D, 4);
|
||||
public static final SignatureId PADDING = new SignatureId("PADDING", 0x42726577, 9999);
|
||||
public static final SignatureId NULL = new SignatureId("NULL", 0x0, 999);
|
||||
|
||||
private static final SignatureId[] VALUES = new SignatureId[]{
|
||||
V2, V3, V31, STAMP_V1, STAMP_V2, PADDING, NULL
|
||||
|
Loading…
x
Reference in New Issue
Block a user