i want to understand a program that i think it's been obfuscated. it's so difficult to understand i want turn goto-label loop into for or while loop. i found some obfuscate program but it's not working as i want please help me!!!
private void calculatePageOffsets(ItemInfo paramItemInfo1, int paramInt, ItemInfo paramItemInfo2)
{
int m = this.mAdapter.getCount();
int i = getClientHeight();
float f2;
if (i > 0)
{
f2 = this.mPageMargin / i;
if (paramItemInfo2 == null)
break label409;
i = paramItemInfo2.position;
if (i < paramItemInfo1.position)
{
j = 0;
f1 = paramItemInfo2.offset + paramItemInfo2.heightFactor + f2;
i += 1;
}
}
else
{
while (true)
{
if ((i > paramItemInfo1.position) || (j >= this.mItems.size()))
break label409;
for (paramItemInfo2 = (ItemInfo)this.mItems.get(j); ; paramItemInfo2 = (ItemInfo)this.mItems.get(j))
{
f3 = f1;
k = i;
if (i <= paramItemInfo2.position)
break;
f3 = f1;
k = i;
if (j >= this.mItems.size() - 1)
break;
j += 1;
}
f2 = 0.0F;
break;
while (k < paramItemInfo2.position)
{
f3 += this.mAdapter.getPageWidth(k) + f2;
k += 1;
}
paramItemInfo2.offset = f3;
f1 = f3 + (paramItemInfo2.heightFactor + f2);
i = k + 1;
}
}