X-plore v4.37.09版本的 MD5 值为:1ac588cd7c13e9578c2d4266387e2f4f
以下内容为反编译后的 i.java 源代码,内容仅作参考
package K6;
import F6.AbstractC1143l;
import F6.C;
import F6.C1141j;
import F7.w;
import F7.x;
import Q6.VBxU.ZXeKvxFHX;
import X6.m;
import android.net.Uri;
import android.os.Build;
import c3.dDy.EPlQ;
import com.amazon.device.iap.cAyg.GQUCMaaITmmx;
import com.lonelycatgames.Xplore.Browser;
import com.lonelycatgames.Xplore.FileSystem.h;
import h7.C6709J;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.text.SimpleDateFormat;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import r.aa.pWhGPktqxGVuO;
import t6.k;
import u6.AbstractC7556B;
import v7.p;
import w7.AbstractC7771k;
import w7.AbstractC7777q;
import w7.AbstractC7780t;
import x.rJS.tqMa;
import z6.AbstractC7990b;
import z6.AbstractC7992d;
import z6.C7989a;
public final class i extends K6.b implements AbstractC7992d.j {
private final String f6822w0;
private final String f6823x0;
public static final c f6820y0 = new c(null);
private static final AbstractC7990b.C0993b f6821z0 = new a(AbstractC7556B.f55749j1, b.f6824I);
private static final SimpleDateFormat f6819A0 = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss ZZZ", Locale.US);
public static final class a extends AbstractC7990b.C0993b {
a(int i9, b bVar) {
super(i9, "pCloud", bVar, true);
}
}
class b extends AbstractC7777q implements p {
public static final b f6824I = new b();
b() {
super(2, i.class, "<init>", "<init>(Lcom/lonelycatgames/Xplore/FileSystem/net/CloudFileSystem;Landroid/net/Uri;)V", 0);
}
@Override
public final i r(C7989a c7989a, Uri uri) {
AbstractC7780t.f(c7989a, "p0");
AbstractC7780t.f(uri, "p1");
return new i(c7989a, uri, null);
}
}
public static final class c {
private c() {
}
public c(AbstractC7771k abstractC7771k) {
this();
}
public final AbstractC7990b.C0993b a() {
return i.f6821z0;
}
}
public static final class d extends IOException {
private final int f6825a;
public d(String str, int i9) {
super(str);
AbstractC7780t.f(str, "msg");
this.f6825a = i9;
}
public final int a() {
return this.f6825a;
}
}
public static final class e extends A6.a {
public e(m mVar, i iVar) {
super(mVar, iVar, "https://www.lonelycatgames.com/internal/xplore/authcode", false, 8, null);
AbstractC7780t.f(mVar, "p");
AbstractC7780t.f(iVar, "server");
}
@Override
protected void A(String str) {
AbstractC7780t.f(str, "url");
f();
i iVar = (i) v();
Uri parse = Uri.parse(str);
AbstractC7780t.e(parse, "parse(...)");
iVar.H3(parse, u());
}
@Override
public void H() {
w().getSettings().setDomStorageEnabled(true);
w().getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36");
w().loadUrl(((i) v()).D3().toString());
}
}
public static final class f extends AbstractC7990b.d {
final HttpURLConnection f6827H;
f(HttpURLConnection httpURLConnection, String str, long j9) {
super(i.this, httpURLConnection, "filename", str, null, j9, "application/octet-stream", true, 1);
this.f6827H = httpURLConnection;
}
@Override
public void f(int i9) {
super.f(i9);
try {
i.this.G3(AbstractC7990b.f60542s0.g(this.f6827H)).getJSONArray("metadata");
} catch (JSONException e9) {
throw new IOException("Upload failed: " + e9.getMessage());
}
}
}
private i(C7989a c7989a, Uri uri) {
super(c7989a, uri, AbstractC7556B.f55749j1, null, 8, null);
this.f6822w0 = "0";
t2(uri);
this.f6823x0 = "X-plore @ " + Build.MODEL;
}
public i(C7989a c7989a, Uri uri, AbstractC7771k abstractC7771k) {
this(c7989a, uri);
}
private final String C3(List list, String str) {
Object obj;
boolean D8;
Iterator it = list.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
D8 = w.D((String) obj, str + '=', false, 2, null);
if (D8) {
break;
}
}
String str2 = (String) obj;
return str2 != null ? x.D0(str2, '=', null, 2, null) : null;
}
public final Uri.Builder D3() {
return new Uri.Builder().scheme("https").authority("my.pcloud.com").path("oauth2/authorize").appendQueryParameter("response_type", "token").appendQueryParameter("client_id", "pu18WNWqOjJ").appendQueryParameter("redirect_uri", "https://www.lonelycatgames.com/internal/xplore/authcode");
}
private final JSONObject E3(String str, String str2) {
JSONObject jSONObject = S2(AbstractC7990b.f60542s0.b(str, "filtermeta=" + str2)).getJSONObject("metadata");
AbstractC7780t.e(jSONObject, "getJSONObject(...)");
return jSONObject;
}
private final String F3(C c9) {
return c9 instanceof AbstractC7990b ? "/" : AbstractC7992d.f60582j0.d(c9.i0());
}
public final JSONObject G3(JSONObject jSONObject) {
int i9 = jSONObject.getInt("result");
if (i9 == 0) {
return jSONObject;
}
String X8 = k.X(jSONObject, "error");
if (X8 == null) {
X8 = "Error " + i9;
}
throw new d(X8, i9);
}
public final void H3(Uri uri, m mVar) {
List s02;
C6709J c6709j;
String fragment = uri.getFragment();
if (fragment == null) {
fragment = "";
}
s02 = x.s0(fragment, new char[]{'&'}, false, 0, 6, null);
String C32 = C3(s02, "access_token");
if (C32 == null) {
Browser.I3(mVar.X0(), "Failed to obtain token", false, 2, null);
return;
}
String C33 = C3(s02, "hostname");
if (C33 == null || C33.length() == 0 || AbstractC7780t.a(C33, "api.pcloud.com")) {
C33 = null;
}
if (C33 != null) {
K6.b.v3(this, C33 + ':' + C32, null, 2, null);
c6709j = C6709J.f49946a;
} else {
c6709j = null;
}
if (c6709j == null) {
K6.b.v3(this, C32, null, 2, null);
}
C1141j.o1(c(), mVar, false, null, 6, null);
}
@Override
public boolean B2() {
return true;
}
public final void B3(m mVar) {
AbstractC7780t.f(mVar, "pane");
if (!T2()) {
G(new e(mVar, this), mVar);
return;
}
Uri.Builder D32 = D3();
AbstractC7780t.e(D32, "<get-loginUrl>(...)");
AbstractC7990b.E2(this, mVar, D32, null, null, 12, null);
}
@Override
protected void C2(HttpURLConnection httpURLConnection) {
String D02;
AbstractC7780t.f(httpURLConnection, "con");
D02 = x.D0(w3(), ':', null, 2, null);
httpURLConnection.setRequestProperty("Authorization", "Bearer " + D02);
}
@Override
public C1141j P2(C1141j c1141j, String str) {
JSONObject E32;
AbstractC7780t.f(c1141j, "parent");
AbstractC7780t.f(str, "name");
String str2 = "createfolder?name=" + Uri.encode(str) + "&folderid=" + AbstractC7990b.f60542s0.f(c1141j);
String str3 = GQUCMaaITmmx.mZn;
try {
E32 = E3(str2, str3);
} catch (d e9) {
if (e9.a() != 2004) {
throw new IOException("Error: " + k.Q(e9) + " code " + e9.a());
}
E32 = E3("listfolder?path=" + Uri.encode(com.lonelycatgames.Xplore.FileSystem.h.f44583b.e(F3(c1141j), str)), str3);
}
String string = E32.getString("folderid");
AbstractC7780t.c(string);
return new AbstractC7992d.b(this, string, 0L, null, 12, null);
}
@Override
public HttpURLConnection Q2(String str, String str2) {
int U8;
String str3;
AbstractC7780t.f(str2, "uri");
String w32 = w3();
U8 = x.U(w32, ':', 0, false, 6, null);
if (U8 > 0) {
str3 = w32.substring(0, U8);
AbstractC7780t.e(str3, "substring(...)");
} else {
str3 = "api.pcloud.com";
}
String builder = Uri.parse(str2).buildUpon().scheme(tqMa.luE).encodedAuthority(str3).appendQueryParameter("device", this.f6823x0).toString();
AbstractC7780t.e(builder, "toString(...)");
return super.Q2(str, builder);
}
@Override
public void R2(C c9) {
AbstractC7780t.f(c9, "le");
StringBuilder sb = new StringBuilder();
sb.append(c9.K0() ? "deletefolderrecursive?folderid=" : "deletefile?fileid=");
sb.append(AbstractC7990b.f60542s0.f(c9));
S2(sb.toString());
}
@Override
public OutputStream S1(C c9, String str, long j9, Long l9) {
String P02;
AbstractC7780t.f(c9, "le");
if (j9 == -1) {
return T1(c9, str, l9);
}
Uri.Builder appendQueryParameter = Uri.parse("").buildUpon().appendPath("uploadfile").appendQueryParameter("nopartial", "1");
if (str != null) {
appendQueryParameter.appendQueryParameter("folderid", AbstractC7990b.f60542s0.f(c9));
} else {
AbstractC7992d.C0994d c0994d = AbstractC7992d.f60582j0;
P02 = x.P0(c9.v0(), '/');
appendQueryParameter.appendQueryParameter("path", c0994d.d(P02));
}
if (l9 != null) {
appendQueryParameter.appendQueryParameter("mtime", String.valueOf(l9.longValue() / 1000));
}
if (str == null) {
str = c9.p0();
}
String str2 = str;
try {
String builder = appendQueryParameter.toString();
AbstractC7780t.e(builder, EPlQ.myKbOdmgcEVYZy);
return new f(Q2("POST", builder), str2, j9);
} catch (IOException e9) {
throw e9;
} catch (Exception e10) {
throw new IOException(k.Q(e10));
}
}
@Override
public JSONObject S2(String str) {
AbstractC7780t.f(str, "uri");
try {
return G3(super.S2(str));
} catch (d e9) {
int a9 = e9.a();
if (a9 != 2094 && a9 != 2095) {
throw e9;
}
Y2();
throw new h.j(null, 1, null);
} catch (h.d e10) {
throw e10;
} catch (IOException e11) {
throw e11;
} catch (Exception e12) {
throw new IOException(k.Q(e12));
}
}
@Override
public AbstractC7990b.C0993b U2() {
return f6821z0;
}
@Override
public String a() {
return this.f6822w0;
}
@Override
public Object clone() {
return super.clone();
}
@Override
public void d3(C c9, C1141j c1141j, String str) {
AbstractC7780t.f(c9, "le");
AbstractC7780t.f(c1141j, "newParent");
StringBuilder sb = new StringBuilder();
sb.append(c9.K0() ? "renamefolder?folderid" : "renamefile?fileid");
sb.append('=');
AbstractC7990b.c cVar = AbstractC7990b.f60542s0;
sb.append(cVar.f(c9));
sb.append("&tofolderid=");
sb.append(cVar.f(c1141j));
String sb2 = sb.toString();
if (str != null) {
sb2 = sb2 + "&toname=" + Uri.encode(str);
}
E3(sb2, pWhGPktqxGVuO.sfnMDSrvxclSK);
}
@Override
public boolean e3() {
return false;
}
@Override
public void f3(Uri uri, m mVar) {
AbstractC7780t.f(uri, "uri");
AbstractC7780t.f(mVar, "pane");
H3(uri, mVar);
}
@Override
public int i(String str) {
return AbstractC7992d.j.a.c(this, str);
}
@Override
public void i3(C c9, String str) {
String str2;
AbstractC7780t.f(c9, "le");
AbstractC7780t.f(str, "newName");
if (AbstractC7780t.a(c9, this)) {
super.i3(c9, str);
return;
}
StringBuilder sb = new StringBuilder();
if (c9.K0()) {
int i9 = 4 << 0;
str2 = EPlQ.gmnUD;
} else {
str2 = "renamefile?fileid";
}
sb.append(str2);
sb.append('=');
sb.append(AbstractC7990b.f60542s0.f(c9));
sb.append("&toname=");
sb.append(Uri.encode(str));
E3(sb.toString(), "");
}
@Override
public void j2(h.f fVar) {
String str;
int i9;
C R12;
AbstractC7780t.f(fVar, "lister");
super.j2(fVar);
try {
try {
JSONArray jSONArray = E3("listfolder?folderid=" + AbstractC7990b.f60542s0.f(fVar.m()), ZXeKvxFHX.wezgmiNQxAwhOq).getJSONArray("contents");
AbstractC7780t.e(jSONArray, "getJSONArray(...)");
int length = jSONArray.length();
boolean z8 = false;
int i10 = 0;
while (i10 < length) {
JSONObject jSONObject = (JSONObject) jSONArray.get(i10);
String string = jSONObject.getString("name");
AbstractC7990b.c cVar = AbstractC7990b.f60542s0;
String optString = jSONObject.optString("modified");
AbstractC7780t.e(optString, "optString(...)");
long e9 = cVar.e(optString, f6819A0, z8);
if (jSONObject.optBoolean("isfolder")) {
String string2 = jSONObject.getString("folderid");
AbstractC7780t.e(string2, "getString(...)");
AbstractC7992d.b bVar = new AbstractC7992d.b(this, string2, 0L, null, 12, null);
if (jSONObject.optBoolean("encrypted")) {
bVar.Z0(true);
}
str = string;
i9 = i10;
R12 = bVar;
} else {
AbstractC7780t.c(string);
str = string;
i9 = i10;
R12 = AbstractC7992d.R1(this, fVar, str, e9, jSONObject.getLong("size"), jSONObject.getString("fileid"), null, 32, null);
}
AbstractC7780t.c(str);
fVar.c(R12, str);
i10 = i9 + 1;
z8 = false;
}
} catch (JSONException e10) {
e = e10;
e.printStackTrace();
}
} catch (JSONException e11) {
e = e11;
}
}
@Override
public InputStream k2(C c9, int i9, long j9) {
AbstractC7780t.f(c9, "le");
JSONObject S22 = S2("getfilelink?skipfilename=1&fileid=" + AbstractC7990b.f60542s0.f(c9));
JSONArray jSONArray = S22.getJSONArray("hosts");
if (jSONArray.length() == 0) {
throw new IOException("No hosts");
}
return AbstractC7990b.h3(this, "http://" + jSONArray.get(0) + S22.getString("path"), j9, false, 4, null);
}
@Override
public boolean o(String str) {
return AbstractC7992d.j.a.b(this, str);
}
@Override
public C1141j o2(C c9) {
AbstractC7780t.f(c9, "le");
StringBuilder sb = new StringBuilder();
sb.append("stat?");
sb.append(c9.K0() ? "folderid" : "fileid");
sb.append('=');
sb.append(AbstractC7990b.f60542s0.f(c9));
String string = E3(sb.toString(), "parentfolderid").getString("parentfolderid");
AbstractC7780t.c(string);
return new AbstractC7992d.b(this, string, 0L, null, 12, null);
}
@Override
protected void r3() {
String optString;
try {
JSONObject S22 = S2("userinfo");
m3(new AbstractC1143l.b(S22.getLong("usedquota"), S22.getLong("quota")));
Uri a22 = a2();
if ((a22 != null ? a22.getFragment() : null) == null && (optString = S22.optString("email")) != null && optString.length() != 0) {
AbstractC7780t.c(optString);
i3(this, optString);
}
} catch (JSONException e9) {
e9.printStackTrace();
}
}
@Override
public String s(String str) {
return AbstractC7992d.j.a.d(this, str);
}
@Override
public Map t() {
return AbstractC7992d.j.a.a(this);
}
}