导航菜单

页面标题

页面副标题

哔哩哔哩 v1.6.6 - ModResourceProvider.java 源代码

正在查看: 哔哩哔哩 v1.6.6 应用的 ModResourceProvider.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.bilibili.lib.mod;

import android.annotation.SuppressLint;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import bl.att;
import bl.kv;
import bl.lm;
import bl.rc;
import bl.rn;
import bl.rp;
import bl.rr;
import bl.rt;
import bl.sb;
import bl.sd;
import bl.sm;
import bl.sn;
import bl.so;
import bl.sr;
import bl.ss;
import java.io.File;
import java.util.concurrent.atomic.AtomicBoolean;

public class ModResourceProvider extends ContentProvider {
    private static ModConfig a;

    @SuppressLint({"StaticFieldLeak"})
    private static sb b;
    private static AtomicBoolean c = new AtomicBoolean(false);

    @Override
    public int delete(@NonNull Uri uri, @Nullable String str, @Nullable String[] strArr) {
        return 0;
    }

    @Override
    @Nullable
    public String getType(@NonNull Uri uri) {
        return null;
    }

    @Override
    @Nullable
    public Uri insert(@NonNull Uri uri, @Nullable ContentValues contentValues) {
        return null;
    }

    @Override
    @Nullable
    public Cursor query(@NonNull Uri uri, @Nullable String[] strArr, @Nullable String str, @Nullable String[] strArr2, @Nullable String str2) {
        return null;
    }

    @Override
    public int update(@NonNull Uri uri, @Nullable ContentValues contentValues, @Nullable String str, @Nullable String[] strArr) {
        return 0;
    }

    public static ModConfig a() {
        kv.a(a, "Initialize ModResourceProvider at first!", new Object[0]);
        return a;
    }

    private static sb b() {
        kv.a(a, "Initialize ModResourceProvider at first!", new Object[0]);
        return b;
    }

    @NonNull
    static Uri a(@NonNull Context context) {
        return Uri.parse("content://" + context.getPackageName() + ".provider.modresource");
    }

    public static void a(Context context, @NonNull sm smVar) {
        try {
            context.getContentResolver().notifyChange(smVar.c(), null);
        } catch (Exception e) {
            att.a(e);
            boolean z = false;
            if (e()) {
                try {
                    rt.a().onChange(false, smVar.c());
                    z = true;
                } catch (Exception unused) {
                }
            }
            rp.c("ModResourceProvider", "notify change failed: " + smVar.toString());
            rr.a("notifyChanged", e.getMessage(), z);
        }
    }

    @Override
    public boolean onCreate() {
        if (getContext() == null) {
            throw new NullPointerException("Cannot create provider on null context");
        }
        return true;
    }

    @Override
    @Nullable
    public Bundle call(@NonNull String str, @Nullable String str2, @Nullable Bundle bundle) {
        char c2;
        switch (str.hashCode()) {
            case -1949226984:
                if (str.equals("updateAll")) {
                    c2 = 4;
                    break;
                }
                c2 = 65535;
                break;
            case -838846263:
                if (str.equals("update")) {
                    c2 = 3;
                    break;
                }
                c2 = 65535;
                break;
            case 3237136:
                if (str.equals("init")) {
                    c2 = 0;
                    break;
                }
                c2 = 65535;
                break;
            case 107944136:
                if (str.equals("query")) {
                    c2 = 2;
                    break;
                }
                c2 = 65535;
                break;
            case 917865689:
                if (str.equals("init_is_finish")) {
                    c2 = 1;
                    break;
                }
                c2 = 65535;
                break;
            default:
                c2 = 65535;
                break;
        }
        switch (c2) {
            case 0:
                a(getContext(), bundle);
                return null;
            case 1:
                return c();
            case 2:
                return a(bundle);
            case 3:
                b(bundle);
                return null;
            case 4:
                d();
                return null;
            default:
                return null;
        }
    }

    private static synchronized void a(Context context, Bundle bundle) {
        synchronized (ModResourceProvider.class) {
            if (bundle != null) {
                if (!c.get()) {
                    bundle.setClassLoader(ModConfig.class.getClassLoader());
                    ModConfig modConfig = (ModConfig) bundle.getParcelable("bundle_config");
                    if (modConfig != null) {
                        ss.a(modConfig.a());
                        a = modConfig;
                    }
                    if (ss.a()) {
                        b = rc.a().c(context);
                        c.set(true);
                    } else {
                        rp.b("ModResourceProvider", "online params not allow to use mod manager");
                    }
                }
            }
        }
    }

    private static Bundle c() {
        if (!c.get()) {
            rp.c("ModResourceProvider", "isInitFinish: mod manager is disabled");
            return null;
        }
        boolean a2 = b.a();
        Bundle bundle = new Bundle();
        bundle.putBoolean("bundle_boolean", a2);
        return bundle;
    }

    private static Bundle a(Bundle bundle) {
        ModResource a2;
        if (bundle == null || !c.get()) {
            rp.c("ModResourceProvider", "query: mod manager is disabled or params is null");
            return null;
        }
        Uri uri = (Uri) bundle.getParcelable("bundle_uri");
        if (uri == null || (a2 = b().a((sn) sr.a(uri, sn.class))) == null) {
            return null;
        }
        Bundle bundle2 = new Bundle();
        bundle2.putParcelable("bundle_result_parcel", a2);
        return bundle2;
    }

    private static void b(Bundle bundle) {
        if (bundle == null || !c.get()) {
            rp.c("ModResourceProvider", "update: mod manager is disabled or params is null");
            return;
        }
        Uri uri = (Uri) bundle.getParcelable("bundle_uri");
        if (uri != null) {
            b().a((so) sr.a(uri, so.class));
        }
    }

    private static void d() {
        if (!c.get()) {
            rp.c("ModResourceProvider", "updateAll: mod manager is disabled");
        } else {
            b().b();
        }
    }

    private static ModResource b(Context context, sn snVar) {
        try {
            rn rnVar = new rn(context);
            String a2 = snVar.a();
            String b2 = snVar.b();
            sd b3 = rnVar.b(a2, b2);
            if (b3 == null || !b3.d()) {
                return null;
            }
            File b4 = rnVar.b(a2, b2, b3.a());
            if (b4.isDirectory()) {
                return new ModResource(b4, a2, b2);
            }
            return null;
        } catch (Exception unused) {
            rp.c("ModResourceProvider", "queryStandby failed");
            return null;
        }
    }

    private static boolean e() {
        return lm.b();
    }

    @NonNull
    public static ModResource a(Context context, sn snVar) {
        ModResource b2;
        long currentTimeMillis = System.currentTimeMillis();
        Bundle bundle = new Bundle();
        bundle.putParcelable("bundle_uri", snVar.c());
        try {
            b2 = null;
            Bundle call = context.getContentResolver().call(a(context), "query", (String) null, bundle);
            if (call != null) {
                call.setClassLoader(ModResource.class.getClassLoader());
                b2 = (ModResource) call.getParcelable("bundle_result_parcel");
            }
        } catch (Exception e) {
            att.a(e);
            rp.c("ModResourceProvider", "query failed");
            b2 = b(context, snVar);
            rr.a("query", e.getMessage(), b2 != null && b2.e());
        }
        if (b2 == null) {
            b2 = new ModResource(snVar);
        }
        rr.a(context, b2, currentTimeMillis);
        StringBuilder sb = new StringBuilder();
        sb.append("query: ");
        sb.append(b2.b());
        sb.append(" is ");
        sb.append(b2.e() ? "hit" : "not hit");
        rp.a("ModResourceProvider", sb.toString());
        return b2;
    }

    @Override
    public void onLowMemory() {
        super.onLowMemory();
    }
}