导航菜单

页面标题

页面副标题

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

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

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


package com.bilibili.lib.account;

import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.Context;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
import android.support.annotation.Keep;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import bl.kr;
import java.util.Map;

@Keep
public class AuthProvider extends ContentProvider {
    public static final boolean DEBUG = false;
    private static final String PREFERENCE_AUTHORITY_SUFFIX = ".provider.auth";
    private static final String PREF_NAME = "bili.passport.auth";
    private static final String TAG = "AuthProvider";
    private SharedPreferences mPreferences;

    @Override
    @Nullable
    public String getType(@NonNull Uri uri) {
        return "vnd.android.cursor.item/vnd..provider.auth.item";
    }

    public static Uri getContentUri(Context context) {
        return Uri.parse("content://" + context.getPackageName() + PREFERENCE_AUTHORITY_SUFFIX);
    }

    @Override
    public boolean onCreate() {
        Context context = getContext();
        if (context == null) {
            throw new IllegalStateException("context is null");
        }
        this.mPreferences = context.getSharedPreferences(PREF_NAME, 0);
        return true;
    }

    @Override
    @Nullable
    public Cursor query(@NonNull Uri uri, String[] strArr, String str, String[] strArr2, String str2) {
        if (strArr2 == null) {
            return null;
        }
        String str3 = strArr2[0];
        if (!this.mPreferences.contains(str3)) {
            return null;
        }
        MatrixCursor matrixCursor = new MatrixCursor(new String[]{str3}, 1);
        matrixCursor.newRow().add(this.mPreferences.getString(str3, null));
        return matrixCursor;
    }

    @Override
    @Nullable
    public Uri insert(@NonNull Uri uri, ContentValues contentValues) {
        SharedPreferences.Editor edit = this.mPreferences.edit();
        for (Map.Entry<String, Object> entry : contentValues.valueSet()) {
            Object value = entry.getValue();
            String key = entry.getKey();
            if (value == null) {
                edit.remove(key);
            } else if (value instanceof String) {
                edit.putString(key, (String) value);
            } else {
                if (!kr.a(value.getClass())) {
                    return null;
                }
                edit.putString(key, value.toString());
            }
        }
        edit.apply();
        return uri;
    }

    @Override
    public int delete(@NonNull Uri uri, String str, String[] strArr) {
        if (strArr == null) {
            this.mPreferences.edit().clear().apply();
        } else {
            this.mPreferences.edit().remove(strArr[0]).apply();
        }
        return 0;
    }

    @Override
    public int update(@NonNull Uri uri, ContentValues contentValues, String str, String[] strArr) {
        throw new UnsupportedOperationException("not implement");
    }

    public static void writeDirectly(Context context, String str, Object obj) {
        SharedPreferences.Editor edit = context.getSharedPreferences(PREF_NAME, 0).edit();
        if (obj == null) {
            edit.remove(str);
        } else if (obj instanceof String) {
            edit.putString(str, (String) obj);
        } else if (!kr.a(obj.getClass())) {
            return;
        } else {
            edit.putString(str, obj.toString());
        }
        edit.apply();
    }

    public static String readDirectly(Context context, String str) {
        return context.getSharedPreferences(PREF_NAME, 4).getString(str, null);
    }
}