From 9fb87d972ed7b0edae8f321abf2cd5559acb94b5 Mon Sep 17 00:00:00 2001 From: REAndroid Date: Fri, 28 Apr 2023 21:08:58 +0200 Subject: [PATCH] fix: error on decoding negative valued dimensions --- src/main/java/com/reandroid/arsc/decoder/ComplexUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/reandroid/arsc/decoder/ComplexUtil.java b/src/main/java/com/reandroid/arsc/decoder/ComplexUtil.java index fdbe9d8..fd521c1 100644 --- a/src/main/java/com/reandroid/arsc/decoder/ComplexUtil.java +++ b/src/main/java/com/reandroid/arsc/decoder/ComplexUtil.java @@ -1,4 +1,4 @@ - /* +/* * Copyright (C) 2022 github.com/REAndroid * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,7 +20,7 @@ public class ComplexUtil { public static String decodeComplex(boolean fraction, int complex_value){ int radixFlag = (complex_value >> COMPLEX_RADIX_SHIFT) & COMPLEX_RADIX_MASK; Radix radix = Radix.forFlag(radixFlag); - long mantissa = (complex_value >> COMPLEX_MANTISSA_SHIFT) & COMPLEX_MANTISSA_MASK; + int mantissa = (complex_value >> COMPLEX_MANTISSA_SHIFT) & COMPLEX_MANTISSA_MASK; mantissa = mantissa << radix.getShift(); float value = mantissa * MANTISSA_MULTIPLIER; int unit_type = (complex_value >> COMPLEX_UNIT_SHIFT) & COMPLEX_UNIT_MASK;