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);
    }
}