jimu-decompiled/sources/com/baidu/cloud/videocache/ac.java
2025-05-13 19:24:51 +02:00

139 lines
4.0 KiB
Java

package com.baidu.cloud.videocache;
import android.net.Uri;
import android.text.TextUtils;
/* loaded from: classes.dex */
public class ac {
public static Uri a(String str, String str2) {
return Uri.parse(b(str, str2));
}
private static String a(StringBuilder sb, int i, int i2) {
int i3;
int i4;
if (i >= i2) {
return sb.toString();
}
if (sb.charAt(i) == '/') {
i++;
}
int i5 = i;
int i6 = i2;
while (true) {
for (int i7 = i5; i7 <= i6; i7++) {
if (i7 == i6) {
i3 = i7;
} else if (sb.charAt(i7) == '/') {
i3 = i7 + 1;
}
int i8 = i5 + 1;
if (i7 == i8 && sb.charAt(i5) == '.') {
sb.delete(i5, i3);
i6 -= i3 - i5;
} else {
if (i7 == i5 + 2 && sb.charAt(i5) == '.' && sb.charAt(i8) == '.') {
i4 = sb.lastIndexOf("/", i5 - 2) + 1;
int i9 = i4 > i ? i4 : i;
sb.delete(i9, i3);
i6 -= i3 - i9;
} else {
i4 = i7 + 1;
}
i5 = i4;
}
}
return sb.toString();
}
}
private static int[] a(String str) {
int i;
int[] iArr = new int[4];
if (TextUtils.isEmpty(str)) {
iArr[0] = -1;
return iArr;
}
int length = str.length();
int indexOf = str.indexOf("#");
if (indexOf != -1) {
length = indexOf;
}
int indexOf2 = str.indexOf("?");
if (indexOf2 == -1 || indexOf2 > length) {
indexOf2 = length;
}
int indexOf3 = str.indexOf("/");
if (indexOf3 == -1 && indexOf3 > indexOf2) {
indexOf3 = indexOf2;
}
int indexOf4 = str.indexOf(":");
if (indexOf4 > indexOf3) {
indexOf4 = -1;
}
int i2 = indexOf4 + 2;
if (i2 < indexOf2 && str.charAt(indexOf4 + 1) == '/' && str.charAt(i2) == '/') {
i = str.indexOf(47, indexOf4 + 3);
if (i == -1 || i > indexOf2) {
i = indexOf2;
}
} else {
i = indexOf4 + 1;
}
iArr[0] = indexOf4;
iArr[1] = i;
iArr[2] = indexOf2;
iArr[3] = length;
return iArr;
}
private static String b(String str, String str2) {
StringBuilder sb = new StringBuilder();
if (str == null) {
str = "";
}
if (str2 == null) {
str2 = "";
}
int[] a = a(str2);
if (a[0] != -1) {
sb.append(str2);
a(sb, a[1], a[2]);
return sb.toString();
}
int[] a2 = a(str);
if (a[3] == 0) {
sb.append((CharSequence) str, 0, a2[3]);
sb.append(str2);
return sb.toString();
}
if (a[2] == 0) {
sb.append((CharSequence) str, 0, a2[2]);
sb.append(str2);
return sb.toString();
}
if (a[1] != 0) {
int i = a2[0] + 1;
sb.append((CharSequence) str, 0, i);
sb.append(str2);
return a(sb, a[1] + i, i + a[2]);
}
if (str2.charAt(a[1]) == '/') {
sb.append((CharSequence) str, 0, a2[1]);
sb.append(str2);
return a(sb, a2[1], a2[1] + a[2]);
}
if (a2[0] + 2 < a2[1] && a2[1] == a2[2]) {
sb.append((CharSequence) str, 0, a2[1]);
sb.append('/');
sb.append(str2);
return a(sb, a2[1], a2[1] + a[2] + 1);
}
int lastIndexOf = str.lastIndexOf(47, a2[2] - 1);
int i2 = lastIndexOf == -1 ? a2[1] : lastIndexOf + 1;
sb.append((CharSequence) str, 0, i2);
sb.append(str2);
return a(sb, a2[1], i2 + a[2]);
}
}