导航菜单

页面标题

页面副标题

Vi App v10.18.0 - PrefHelper.java 源代码

正在查看: Vi App v10.18.0 应用的 PrefHelper.java JAVA 源代码文件

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


package io.branch.referral;

import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;
import android.webkit.URLUtil;
import androidx.annotation.NonNull;
import com.squareup.picasso.Utils;
import io.branch.referral.Defines;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.json.JSONException;
import org.json.JSONObject;

public class PrefHelper {
    private static String customCDNBaseURL_ = null;
    private static String customServerURL_ = null;
    public static String fbAppId_ = null;
    private static PrefHelper prefHelper_ = null;
    private static boolean useEUEndpoint_ = false;
    private final SharedPreferences appSharedPrefs_;
    private SharedPreferences.Editor prefsEditor_;
    private final JSONObject requestMetadata = new JSONObject();
    private final JSONObject installMetadata = new JSONObject();
    private final JSONObject secondaryRequestMetadata = new JSONObject();
    public final BranchPartnerParameters partnerParams_ = new BranchPartnerParameters();

    private PrefHelper(Context context) {
        SharedPreferences sharedPreferences = context.getSharedPreferences("branch_referral_shared_pref", 0);
        this.appSharedPrefs_ = sharedPreferences;
        this.prefsEditor_ = sharedPreferences.edit();
    }

    private void clearPrefOnBranchKeyChange() {
        String linkClickID = getLinkClickID();
        String linkClickIdentifier = getLinkClickIdentifier();
        String appLink = getAppLink();
        String pushIdentifier = getPushIdentifier();
        this.prefsEditor_.clear();
        setLinkClickID(linkClickID);
        setLinkClickIdentifier(linkClickIdentifier);
        setAppLink(appLink);
        setPushIdentifier(pushIdentifier);
        this.prefsEditor_.apply();
    }

    private ArrayList<String> deserializeString(String str) {
        ArrayList<String> arrayList = new ArrayList<>();
        Collections.addAll(arrayList, str.split(","));
        return arrayList;
    }

    private ArrayList<String> getActions() {
        String string = getString("bnc_actions");
        return string.equals("bnc_no_value") ? new ArrayList<>() : deserializeString(string);
    }

    public static String getCDNBaseUrl() {
        return !TextUtils.isEmpty(customCDNBaseURL_) ? customCDNBaseURL_ : "https://cdn.branch.io/";
    }

    public static PrefHelper getInstance(Context context) {
        if (prefHelper_ == null) {
            prefHelper_ = new PrefHelper(context);
        }
        return prefHelper_;
    }

    private String serializeArrayList(ArrayList<String> arrayList) {
        Iterator<String> it = arrayList.iterator();
        String str = "";
        while (it.hasNext()) {
            str = str + it.next() + ",";
        }
        return str.substring(0, str.length() - 1);
    }

    public static void setAPIUrl(String str) {
        customServerURL_ = str;
    }

    private void setActions(ArrayList<String> arrayList) {
        if (arrayList.size() == 0) {
            setString("bnc_actions", "bnc_no_value");
        } else {
            setString("bnc_actions", serializeArrayList(arrayList));
        }
    }

    public void addInstallMetadata(String str, String str2) {
        if (str == null) {
            return;
        }
        try {
            this.installMetadata.putOpt(str, str2);
        } catch (JSONException e) {
            BranchLogger.d(e.getMessage());
        }
    }

    public void clearGclid() {
        removePrefValue("bnc_gclid_json_object");
    }

    public void clearUserValues() {
        Iterator<String> it = getActions().iterator();
        while (it.hasNext()) {
            String next = it.next();
            setActionTotalCount(next, 0);
            setActionUniqueCount(next, 0);
        }
        setActions(new ArrayList<>());
    }

    public String getAPIBaseUrl() {
        return URLUtil.isHttpsUrl(customServerURL_) ? customServerURL_ : useEUEndpoint_ ? "https://api3-eu.branch.io/" : "https://api2.branch.io/";
    }

    public boolean getAdNetworkCalloutsDisabled() {
        return getBool("bnc_ad_network_callouts_disabled");
    }

    public boolean getAdPersonalizationConsent() {
        return getBool("bnc_dma_ad_personalization");
    }

    public boolean getAdUserDataUsageConsent() {
        return getBool("bnc_dma_ad_user_data");
    }

    public String getAnonID() {
        return getString("bnc_anon_id");
    }

    public String getAppLink() {
        return getString("bnc_app_link");
    }

    public String getAppStoreReferrer() {
        return getString("bnc_google_play_install_referrer_extras");
    }

    public String getAppStoreSource() {
        return getString("bnc_app_store_source");
    }

    public String getAppVersion() {
        return getString("bnc_app_version");
    }

    public boolean getBool(String str) {
        return this.appSharedPrefs_.getBoolean(str, false);
    }

    public String getBranchKey() {
        return getString("bnc_branch_key");
    }

    public int getConnectTimeout() {
        return getInteger("bnc_connect_timeout", 10000);
    }

    public boolean getEEARegion() {
        return getBool("bnc_dma_eea");
    }

    public String getExternalIntentExtra() {
        return getString("bnc_external_intent_extra");
    }

    public String getExternalIntentUri() {
        return getString("bnc_external_intent_uri");
    }

    public String getGoogleSearchInstallIdentifier() {
        return getString("bnc_google_search_install_identifier");
    }

    public String getIdentity() {
        return getString("bnc_identity");
    }

    public String getInitialReferrer() {
        return getString("bnc_initial_referrer");
    }

    public String getInstallMetaData(String str) {
        if (str == null) {
            return null;
        }
        try {
            return this.installMetadata.get(str).toString();
        } catch (JSONException e) {
            BranchLogger.d(e.getMessage());
            return null;
        }
    }

    public JSONObject getInstallMetadata() {
        return this.installMetadata;
    }

    public String getInstallParams() {
        return getString("bnc_install_params");
    }

    public int getInteger(String str, int i) {
        return this.appSharedPrefs_.getInt(str, i);
    }

    public boolean getIsMetaClickThrough() {
        return getBool("bnc_is_meta_clickthrough");
    }

    public String getLinkClickID() {
        return getString("bnc_link_click_id");
    }

    public String getLinkClickIdentifier() {
        return getString("bnc_link_click_identifier");
    }

    public long getLong(String str) {
        return getLong(str, 0L);
    }

    public int getNoConnectionRetryMax() {
        return getInteger("bnc_no_connection_retry_max", 3);
    }

    public String getPushIdentifier() {
        return getString("bnc_push_identifier");
    }

    public String getRandomizedBundleToken() {
        String string = getString("bnc_randomized_bundle_token");
        return (TextUtils.isEmpty(string) || string.equals("bnc_no_value")) ? getString("bnc_identity_id") : string;
    }

    public String getRandomizedDeviceToken() {
        String string = getString("bnc_randomized_device_token");
        return (TextUtils.isEmpty(string) || string.equals("bnc_no_value")) ? getString("bnc_device_fingerprint_id") : string;
    }

    public String getRandomlyGeneratedUuid() {
        return getString("bnc_randomly_generated_uuid");
    }

    public String getReferrerGclid() {
        String str = "bnc_gclid_json_object";
        String string = getString("bnc_gclid_json_object");
        if (string.equals("bnc_no_value")) {
            return "bnc_no_value";
        }
        String str2 = null;
        try {
            JSONObject jSONObject = new JSONObject(string);
            if (((Long) jSONObject.get("bnc_gclid_expiration_date")).longValue() - System.currentTimeMillis() > 0) {
                str = jSONObject.getString("bnc_gclid_value");
                str2 = str;
            } else {
                removePrefValue("bnc_gclid_json_object");
            }
        } catch (JSONException e) {
            removePrefValue(str);
            e.printStackTrace();
        }
        return str2;
    }

    public long getReferrerGclidValidForWindow() {
        return getLong("bnc_gclid_expiration_window", 2592000000L);
    }

    public JSONObject getReferringURLQueryParameters() {
        String string = getString("bnc_referringUrlQueryParameters");
        JSONObject jSONObject = new JSONObject();
        if (TextUtils.isEmpty(string) || "bnc_no_value".equals(string)) {
            return jSONObject;
        }
        try {
            return new JSONObject(string);
        } catch (JSONException e) {
            BranchLogger.w("Unable to get URL query parameters as string: " + e);
            return jSONObject;
        }
    }

    public JSONObject getRequestMetadata() {
        return this.requestMetadata;
    }

    public int getRetryCount() {
        return getInteger("bnc_retry_count", 3);
    }

    public int getRetryInterval() {
        return getInteger("bnc_retry_interval", Utils.THREAD_LEAK_CLEANING_MS);
    }

    public String getSessionID() {
        return getString("bnc_session_id");
    }

    public String getSessionParams() {
        return getString("bnc_session_params");
    }

    public String getString(String str) {
        return this.appSharedPrefs_.getString(str, "bnc_no_value");
    }

    public int getTaskTimeout() {
        return getInteger("bnc_timeout", 5500) + getInteger("bnc_connect_timeout", 10000);
    }

    public int getTimeout() {
        return getInteger("bnc_timeout", 5500);
    }

    public String getUserURL() {
        return getString("bnc_user_url");
    }

    public boolean hasPrefValue(String str) {
        return this.appSharedPrefs_.contains(str);
    }

    public boolean isAppTrackingLimited() {
        return getBool("bnc_limit_facebook_tracking");
    }

    public boolean isDMAParamsInitialized() {
        return hasPrefValue("bnc_dma_eea");
    }

    public boolean isFullAppConversion() {
        return getBool("bnc_is_full_app_conversion");
    }

    public void loadPartnerParams(JSONObject jSONObject) throws JSONException {
        loadPartnerParams(jSONObject, this.partnerParams_);
    }

    public void removePrefValue(String str) {
        this.prefsEditor_.remove(str).apply();
    }

    public void setActionTotalCount(String str, int i) {
        ArrayList<String> actions = getActions();
        if (!actions.contains(str)) {
            actions.add(str);
            setActions(actions);
        }
        setInteger("bnc_total_base_" + str, i);
    }

    public void setActionUniqueCount(String str, int i) {
        setInteger("bnc_balance_base_" + str, i);
    }

    public void setAdPersonalizationConsent(boolean z) {
        setBool("bnc_dma_ad_personalization", Boolean.valueOf(z));
    }

    public void setAdUserDataUsageConsent(boolean z) {
        setBool("bnc_dma_ad_user_data", Boolean.valueOf(z));
    }

    public void setAnonID(String str) {
        setString("bnc_anon_id", str);
    }

    public void setAppLink(String str) {
        setString("bnc_app_link", str);
    }

    public void setAppStoreReferrer(String str) {
        setString("bnc_google_play_install_referrer_extras", str);
    }

    public void setAppStoreSource(String str) {
        if (TextUtils.isEmpty(str)) {
            return;
        }
        setString("bnc_app_store_source", str);
    }

    public void setAppVersion(String str) {
        setString("bnc_app_version", str);
    }

    public void setBool(String str, Boolean bool) {
        this.prefsEditor_.putBoolean(str, bool.booleanValue()).apply();
    }

    public boolean setBranchKey(String str) {
        if (getString("bnc_branch_key").equals(str)) {
            return false;
        }
        clearPrefOnBranchKeyChange();
        setString("bnc_branch_key", str);
        if (Branch.getInstance() == null) {
            return true;
        }
        Branch.getInstance().linkCache_.clear();
        Branch.getInstance().requestQueue_.clear();
        return true;
    }

    public void setEEARegion(boolean z) {
        setBool("bnc_dma_eea", Boolean.valueOf(z));
    }

    public void setExternalIntentExtra(String str) {
        setString("bnc_external_intent_extra", str);
    }

    public void setExternalIntentUri(String str) {
        setString("bnc_external_intent_uri", str);
    }

    public void setGoogleSearchInstallIdentifier(String str) {
        setString("bnc_google_search_install_identifier", str);
    }

    public void setIdentity(String str) {
        setString("bnc_identity", str);
    }

    public void setInitialReferrer(String str) {
        setString("bnc_initial_referrer", str);
    }

    public void setInstallParams(String str) {
        setString("bnc_install_params", str);
    }

    public void setInstallReferrerParams(String str) {
        setString("bnc_install_referrer", str);
    }

    public void setInteger(String str, int i) {
        this.prefsEditor_.putInt(str, i).apply();
    }

    public void setIsFullAppConversion(boolean z) {
        setBool("bnc_is_full_app_conversion", Boolean.valueOf(z));
    }

    public void setIsMetaClickThrough(boolean z) {
        setBool("bnc_is_meta_clickthrough", Boolean.valueOf(z));
    }

    public void setLinkClickID(String str) {
        setString("bnc_link_click_id", str);
    }

    public void setLinkClickIdentifier(String str) {
        setString("bnc_link_click_identifier", str);
    }

    public void setLong(String str, long j) {
        this.prefsEditor_.putLong(str, j).apply();
    }

    public void setPushIdentifier(String str) {
        setString("bnc_push_identifier", str);
    }

    public void setRandomizedBundleToken(String str) {
        setString("bnc_randomized_bundle_token", str);
    }

    public void setRandomizedDeviceToken(String str) {
        setString("bnc_randomized_device_token", str);
    }

    public void setRandomlyGeneratedUuid(String str) {
        setString("bnc_randomly_generated_uuid", str);
    }

    public void setReferringUrlQueryParameters(JSONObject jSONObject) {
        if (jSONObject == null || jSONObject.length() == 0) {
            setString("bnc_referringUrlQueryParameters", "bnc_no_value");
        } else {
            setString("bnc_referringUrlQueryParameters", jSONObject.toString());
        }
    }

    public void setRequestMetadata(@NonNull String str, @NonNull String str2) {
        if (str == null) {
            return;
        }
        if (this.requestMetadata.has(str) && str2 == null) {
            this.requestMetadata.remove(str);
        }
        try {
            this.requestMetadata.put(str, str2);
        } catch (JSONException unused) {
        }
    }

    public void setSessionID(String str) {
        setString("bnc_session_id", str);
    }

    public void setSessionParams(String str) {
        setString("bnc_session_params", str);
    }

    public void setString(String str, String str2) {
        this.prefsEditor_.putString(str, str2).apply();
    }

    public void setUserURL(String str) {
        setString("bnc_user_url", str);
    }

    public static void loadPartnerParams(JSONObject jSONObject, BranchPartnerParameters branchPartnerParameters) throws JSONException {
        if (jSONObject == null) {
            return;
        }
        JSONObject jSONObject2 = new JSONObject();
        for (Map.Entry<String, ConcurrentHashMap<String, String>> entry : branchPartnerParameters.allParams().entrySet()) {
            JSONObject jSONObject3 = new JSONObject();
            for (Map.Entry<String, String> entry2 : entry.getValue().entrySet()) {
                jSONObject3.put(entry2.getKey(), entry2.getValue());
            }
            jSONObject2.put(entry.getKey(), jSONObject3);
        }
        jSONObject.put(Defines.Jsonkey.PartnerData.getKey(), jSONObject2);
    }

    public long getLong(String str, long j) {
        return this.appSharedPrefs_.getLong(str, j);
    }
}