正在查看: Petal Maps v4.7.0.310001 应用的 FaqSdk.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Petal Maps v4.7.0.310001 应用的 FaqSdk.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.huawei.phoneservice.faq.base.util;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.net.Uri;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Pair;
import androidx.annotation.Keep;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.gson.Gson;
import com.huawei.hms.framework.network.grs.GrsBaseInfo;
import com.huawei.hms.framework.network.grs.GrsClient;
import com.huawei.hms.framework.network.grs.IQueryUrlsCallBack;
import com.huawei.hms.framework.network.restclient.hwhttp.Callback;
import com.huawei.hms.framework.network.restclient.hwhttp.Submit;
import com.huawei.phoneservice.faq.base.constants.FaqConstants;
import com.huawei.phoneservice.faq.base.entity.Builder;
import com.huawei.phoneservice.faq.base.entity.FaqSdkServiceUrlResponse;
import com.huawei.phoneservice.faq.base.entity.ModuleConfigRequest;
import com.huawei.phoneservice.faq.base.entity.ModuleConfigResponse;
import com.huawei.phoneservice.faq.base.network.FaqCallback;
import com.huawei.phoneservice.faq.base.network.FaqRestClient;
import com.huawei.phoneservice.faq.base.network.FaqSdkAddressApi;
import com.huawei.phoneservice.faq.base.network.SdkAppInfo;
import com.huawei.phoneservice.faq.base.tracker.HiAnalyticsUtils;
import com.huawei.phoneservice.faq.base.util.FaqHandler;
import java.io.File;
import java.lang.ref.WeakReference;
import java.net.URI;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TimerTask;
import java.util.concurrent.ConcurrentHashMap;
import org.json.JSONObject;
public final class FaqSdk implements ISdk, Sdk, FaqHandler.CallBack {
public Application a;
public Handler b;
public volatile com.huawei.phoneservice.faq.base.b c;
public volatile com.huawei.phoneservice.faq.base.c d;
public WeakReference<SdkListener> e;
public WeakReference<SdkClickListener> f;
public Map<String, String> g;
public Map<String, String> h;
public String i;
public Map<String, String> j;
public FaqBaseCallback k;
public List<SdkUpdateListener> l;
public class a extends FaqCallback<FaqSdkServiceUrlResponse> {
public final String d;
public a(Class cls, Activity activity, String str) {
super(cls, activity);
this.d = str;
}
@Override
public void onResult(@Nullable Throwable th, @Nullable FaqSdkServiceUrlResponse faqSdkServiceUrlResponse) {
FaqSdk faqSdk;
String str;
if (th != null || faqSdkServiceUrlResponse == null) {
FaqSdk.this.c = com.huawei.phoneservice.faq.base.b.NO_ADDRESS_SERVICE;
faqSdk = FaqSdk.this;
str = "no address, network err";
} else {
if (!FaqCommonUtils.isEmpty(faqSdkServiceUrlResponse.a())) {
FaqSdk.this.e(faqSdkServiceUrlResponse, this.d);
return;
}
FaqSdk.this.c = com.huawei.phoneservice.faq.base.b.NO_ADDRESS;
faqSdk = FaqSdk.this;
str = "no address in countryCode data is null";
}
faqSdk.onSdkInit(-1, str);
FaqLogger.print("SDK_ERROR", str);
}
}
public class b extends FaqCallback<ModuleConfigResponse> {
public b(Class cls, Activity activity) {
super(cls, activity);
}
@Override
public void onResult(@Nullable Throwable th, @Nullable ModuleConfigResponse moduleConfigResponse) {
String str;
String str2;
ModuleConfigUtils.cleanSdkModuleList(FaqSdk.this.a);
if (th == null && moduleConfigResponse != null) {
FaqSdk.this.c = com.huawei.phoneservice.faq.base.b.INIT_SUCCESS;
List<ModuleConfigResponse.ModuleListBean> moduleList = moduleConfigResponse.getModuleList();
if (!FaqCommonUtils.isEmpty(moduleList)) {
ModuleConfigUtils.genSdkModuleList(FaqSdk.this.a, moduleList);
for (ModuleConfigResponse.ModuleListBean moduleListBean : moduleList) {
if (FaqConstants.MODULE_CONTACT.equals(moduleListBean.getModuleCode())) {
str = moduleListBean.getLinkAddress();
str2 = moduleListBean.getOpenType();
break;
}
}
} else {
FaqSdk.this.c = com.huawei.phoneservice.faq.base.b.NO_MODULE;
FaqLogger.print("FaqSdk", "MODULE LIST IS NULL");
}
} else {
FaqSdk.this.c = com.huawei.phoneservice.faq.base.b.NO_MODULE_SERVICE;
}
str = "";
str2 = "";
if (FaqSdk.this.a != null) {
FaqSharePrefUtil.save(FaqSdk.this.a, FaqSharePrefUtil.FAQ_IPCC_FILENAME, FaqSharePrefUtil.FAQ_IPCC_KEY, str);
FaqSharePrefUtil.save(FaqSdk.this.a, FaqSharePrefUtil.FAQ_IPCC_FILENAME, FaqSharePrefUtil.FAQ_IPCC_TYPE, str2);
}
FaqSdk.this.onSdkInit(0, null);
}
}
public class c implements IQueryUrlsCallBack {
public final GrsClient a;
public final String b;
public c(GrsClient grsClient, String str) {
this.a = grsClient;
this.b = str;
}
public void onCallBackFail(int i) {
FaqLogger.print("FaqSdk", "testsynGetGrsUrlsGRSIndependent method failed and the errorCode is" + i);
FaqLogger.d("FaqSdk", "IS_CONSUMER");
FaqSdk.this.c = com.huawei.phoneservice.faq.base.b.NO_GRS_ADDRESS;
FaqSdk.this.onSdkInit(-1, "can not get address from GRS. errorCode" + i);
FaqLogger.print("FaqSdk", "can not get address from GRS. errorCode" + i);
}
public void onCallBackSuccess(Map<String, String> map) {
FaqLogger.print("FaqSdk", "getGrsUrls success ");
if (map == null || map.isEmpty()) {
FaqLogger.e("FaqSdk", "urlMap is null");
return;
}
String synGetGrsUrl = this.a.synGetGrsUrl(FaqConstants.GRS_LOGSERVER_SERVICE_NAME, FaqConstants.GRS_SERVICE_KEY_LOGSERVICE);
if (!TextUtils.isEmpty(synGetGrsUrl)) {
map.put(FaqConstants.GRS_SERVICE_KEY_LOGSERVICE, synGetGrsUrl);
}
FaqUtil.d(map, FaqSdk.this.g);
try {
FaqSdk.this.k(this.b);
} catch (Exception e) {
FaqSdk.this.c = com.huawei.phoneservice.faq.base.b.NO_ADDRESS_SERVICE;
FaqSdk.this.onSdkInit(-1, "FaqSdk getServiceByNet " + e.getMessage());
}
}
}
public static class d {
public static final FaqSdk a = new FaqSdk(null);
}
public static class e extends TimerTask {
public final SdkUpdateListener a;
public e(SdkUpdateListener sdkUpdateListener) {
this.a = sdkUpdateListener;
}
@Override
public void run() {
this.a.onSdkUpdate("accessToken", null, null);
FaqLogger.print("FaqSdk", "GET TOKEN TIME OUT");
}
}
public FaqSdk() {
this.c = com.huawei.phoneservice.faq.base.b.INIT_FAIL;
this.d = com.huawei.phoneservice.faq.base.c.INIT_PROGRESS;
this.h = new HashMap();
this.j = new HashMap();
}
public static FaqSdk c() {
return d.a;
}
@Keep
public static ISdk getISdk() {
return c();
}
@Keep
public static Sdk getSdk() {
return c();
}
private void h(@NonNull String str) {
ModuleConfigRequest moduleConfigRequest = new ModuleConfigRequest(str, getSdk("language"), FaqUtil.getBrand(), getSdk(FaqConstants.FAQ_CHANNEL), getSdk().getSdk(FaqConstants.FAQ_SHASN), FaqDeviceUtils.getSpecialEmuiVersion(), getSdk(FaqConstants.FAQ_APPVERSION), getSdk(FaqConstants.FAQ_MODEL), FaqDeviceUtils.getMachineType());
FaqLogger.print("FaqSdk", moduleConfigRequest.toString());
FaqSdkAddressApi.d.a(this.a).a(moduleConfigRequest, new b(ModuleConfigResponse.class, null));
}
@Override
public synchronized int apply() {
if (this.g == null || this.a == null) {
return -1;
}
ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap(this.g);
this.h.putAll(this.g);
concurrentHashMap.remove("accessToken");
concurrentHashMap.remove(FaqConstants.FAQ_REFRESH);
concurrentHashMap.remove(FaqConstants.FAQ_LOG_SERVER_SECRET_KEY);
FaqSharePrefUtil.delete(this.a, FaqConstants.SDK_SP_FILE_NAME, FaqConstants.SDK_SP_KEY);
FaqSharePrefUtil.save(this.a, FaqConstants.SDK_SP_FILE_NAME, FaqConstants.SDK_SP_KEY, new JSONObject(concurrentHashMap).toString());
return 0;
}
@Override
public void canceledSubmit(Context context) {
FaqRestClient.initRestClientAnno(context).canceledSubmit(context);
}
@Override
public boolean clearDownloadFile(Application application) {
if (FaqStringUtil.isEmpty(FaqFileUtils.getCompressFolder(application))) {
return false;
}
String compressFolder = FaqFileUtils.getCompressFolder(application);
return !TextUtils.isEmpty(compressFolder) && i(FaqFileUtils.getDownloadFolder(application)) && i(new File(compressFolder));
}
public final void d(GrsClient grsClient, String str) {
grsClient.ayncGetGrsUrls(FaqConstants.GRS_SERVICE_NAME, new c(grsClient, str));
}
public final void e(@NonNull FaqSdkServiceUrlResponse faqSdkServiceUrlResponse, @NonNull String str) {
boolean z;
Iterator<FaqSdkServiceUrlResponse.ServiceUrl> it = faqSdkServiceUrlResponse.a().iterator();
while (true) {
if (!it.hasNext()) {
z = false;
break;
}
FaqSdkServiceUrlResponse.ServiceUrl next = it.next();
if (str.equals(next.a())) {
FaqUtil.c(next, this.g);
Application application = this.a;
if (application != null) {
HiAnalyticsUtils.a(application, next.b(), true, false);
}
z = !TextUtils.isEmpty("Y".equals(getSdk().getSdk(FaqConstants.FAQ_USE_OLD_DOMAIN)) ? next.c() : next.d());
}
}
if ("Y".equals(getSdk().getSdk(FaqConstants.FAQ_IS_DEEPLICK))) {
this.c = com.huawei.phoneservice.faq.base.b.INIT_SUCCESS;
onSdkInit(0, null);
} else {
if (z) {
h(str);
return;
}
this.c = com.huawei.phoneservice.faq.base.b.NO_ADDRESS;
onSdkInit(-1, "no address in countryCode:" + str);
FaqLogger.print("SDK_ERROR", "no address in countryCode:");
}
}
@Override
public FaqBaseCallback getCallback() {
return this.k;
}
@Override
public String getMap() {
return new Gson().toJson(FaqUtil.b(this.g));
}
@Override
public String getMapOnSaveInstance() {
this.j.clear();
return new JSONObject(this.h).toString();
}
@Override
public void getModuleList() {
h(this.i);
}
@Override
public int getSdkInitCode() {
return this.c.a();
}
@Override
public synchronized SdkListener getSdkListener() {
WeakReference<SdkListener> weakReference = this.e;
if (weakReference == null) {
return null;
}
return weakReference.get();
}
@Override
public String getSdkVersion() {
return "24.9.0.1";
}
@Override
public void getServiceUrl() {
k(this.i);
}
@Override
public boolean hadAddress() {
return this.c.c();
}
@Override
public void handleMessage(int i, Message message) {
SdkListener sdkListener;
if (i != 0) {
return;
}
Object obj = message.obj;
if (obj instanceof Pair) {
Pair pair = (Pair) obj;
WeakReference<SdkListener> weakReference = this.e;
if (weakReference == null || weakReference.get() == null || (sdkListener = this.e.get()) == null) {
return;
}
sdkListener.onSdkErr((String) pair.first, (String) pair.second);
}
}
@Override
public boolean haveSdkErr(String str) {
SdkListener sdkListener;
WeakReference<SdkListener> weakReference = this.e;
if (weakReference == null || this.b == null || (sdkListener = weakReference.get()) == null) {
return false;
}
return sdkListener.haveSdkErr(str);
}
public final boolean i(File file) {
boolean z = true;
if (file == null || !file.exists()) {
FaqLogger.print("FILE DELETE", "FILE IS NOT EXISTS" + file);
return true;
}
if (!file.isDirectory()) {
return false;
}
File[] listFiles = file.listFiles();
if (listFiles == null) {
return true;
}
for (File file2 : listFiles) {
z &= file2.delete();
if (!z) {
FaqLogger.print("FILE DELETE", "FILE CLEAR IS FAILED " + file2);
}
}
return z;
}
@Override
public int init(@NonNull Activity activity, @NonNull String str) {
return init(activity.getApplication(), str, (SdkListener) null);
}
@Override
public boolean initIsDone() {
return this.d == com.huawei.phoneservice.faq.base.c.INIT_DONE;
}
public final void k(@NonNull String str) {
FaqLogger.print("FaqSdk getServiceByNet", "code:" + str);
com.huawei.phoneservice.faq.base.entity.a aVar = new com.huawei.phoneservice.faq.base.entity.a();
aVar.a(str);
FaqSdkAddressApi.d.a(this.a).b(aVar, new a(FaqSdkServiceUrlResponse.class, null, str));
}
public final void l(@NonNull String str) {
this.i = str;
SdkAppInfo.initAppInfo(this.a);
GrsBaseInfo grsBaseInfo = new GrsBaseInfo();
grsBaseInfo.setSerCountry(str);
grsBaseInfo.setRegCountry(str);
try {
d(new GrsClient(this.a, grsBaseInfo), str);
} catch (Exception e2) {
this.c = com.huawei.phoneservice.faq.base.b.NO_GRS_ADDRESS;
onSdkInit(-1, "can not get address from GRS " + e2.getMessage());
}
}
@Override
public void onClick(String str, String str2, Object obj) {
SdkClickListener sdkClickListener;
WeakReference<SdkClickListener> weakReference = this.f;
if (weakReference == null || (sdkClickListener = weakReference.get()) == null) {
return;
}
sdkClickListener.onClick(str, str2, obj);
}
@Override
public void onSdkErr(@NonNull String str, String str2) {
Handler handler = this.b;
if (handler != null) {
handler.removeMessages(0);
Handler handler2 = this.b;
handler2.sendMessageDelayed(handler2.obtainMessage(0, new Pair(str, str2)), 1000L);
}
}
@Override
public void onSdkInit(int i, String str) {
SdkListener sdkListener;
WeakReference<SdkListener> weakReference = this.e;
if (weakReference == null || (sdkListener = weakReference.get()) == null) {
return;
}
this.d = com.huawei.phoneservice.faq.base.c.INIT_DONE;
if (i != 0 || this.c.a() == 0) {
sdkListener.onSdkInit(i, this.c.a(), this.c.b() + str);
return;
}
sdkListener.onSdkInit(-1, this.c.a(), this.c.b() + str);
}
@Override
public Submit queryModuleList(Context context, ModuleConfigRequest moduleConfigRequest, Callback callback) {
return FaqSdkAddressApi.d.a(context).a(moduleConfigRequest, callback);
}
@Override
public void registerUpdateListener(@NonNull SdkUpdateListener sdkUpdateListener) {
if (this.l == null) {
this.l = new ArrayList();
}
((BaseSdkUpdateRequest) sdkUpdateListener).a(new e(sdkUpdateListener));
this.l.add(sdkUpdateListener);
}
@Override
public void release() {
WeakReference<SdkListener> weakReference = this.e;
if (weakReference != null) {
weakReference.clear();
this.e = null;
}
WeakReference<SdkClickListener> weakReference2 = this.f;
if (weakReference2 != null) {
weakReference2.clear();
this.f = null;
}
List<SdkUpdateListener> list = this.l;
if (list != null) {
list.clear();
this.l = null;
}
Map<String, String> map = this.g;
if (map != null) {
map.clear();
this.g = null;
}
Handler handler = this.b;
if (handler != null) {
handler.removeCallbacksAndMessages(null);
this.b = null;
}
this.c = com.huawei.phoneservice.faq.base.b.INIT_FAIL;
this.a = null;
}
@Override
public void saveMapOnSaveInstanceState(String str) {
String a2 = FaqSharePrefUtil.a(this.a);
if (TextUtils.isEmpty(str)) {
return;
}
Map<String, String> map = this.g;
if (map == null) {
this.g = new Builder().setJson(str).build();
if (!TextUtils.isEmpty(a2)) {
this.g.put("language", a2);
FaqSharePrefUtil.b(this.a, "");
}
} else {
map.putAll(new Builder().setJson(str).build());
if (!TextUtils.isEmpty(a2)) {
this.g.put("language", a2);
FaqSharePrefUtil.b(this.a, "");
}
Map<String, String> map2 = this.j;
if (map2 != null) {
this.g.putAll(map2);
}
}
this.h.putAll(this.g);
this.c = com.huawei.phoneservice.faq.base.b.INIT_SUCCESS;
}
@Override
public synchronized Sdk saveSdk(@NonNull String str, String str2) {
if (str != null) {
try {
String sdk = getSdk(str);
Map<String, String> map = this.g;
if (map != null) {
if (str2 != null) {
map.put(str, str2);
Map<String, String> map2 = this.j;
if (map2 != null) {
map2.put(str, str2);
}
}
List<SdkUpdateListener> list = this.l;
if (list != null) {
for (int size = list.size() - 1; size >= 0; size--) {
this.l.get(size).onSdkUpdate(str, sdk, str2);
}
}
}
} catch (Throwable th) {
throw th;
}
}
return this;
}
@Override
public void setCallback(FaqBaseCallback faqBaseCallback) {
this.k = faqBaseCallback;
}
@Override
public void setClickListener(SdkClickListener sdkClickListener) {
if (sdkClickListener != null) {
WeakReference<SdkClickListener> weakReference = this.f;
if (weakReference != null) {
weakReference.clear();
}
this.f = new WeakReference<>(sdkClickListener);
return;
}
WeakReference<SdkClickListener> weakReference2 = this.f;
if (weakReference2 != null) {
weakReference2.clear();
this.f = null;
}
}
@Override
public void setLanguage(String str) {
FaqSharePrefUtil.b(this.a, str);
}
@Override
public synchronized void setSdkListener(SdkListener sdkListener) {
try {
if (sdkListener != null) {
WeakReference<SdkListener> weakReference = this.e;
if (weakReference != null) {
weakReference.clear();
}
this.e = new WeakReference<>(sdkListener);
} else {
WeakReference<SdkListener> weakReference2 = this.e;
if (weakReference2 != null) {
weakReference2.clear();
this.e = null;
}
}
} catch (Throwable th) {
throw th;
}
}
@Override
public void setUriFromFaq(Uri uri) {
if (uri != null) {
try {
if (!FaqConstants.HOST_NAME.equals(URI.create(uri.toString()).getHost())) {
FaqLogger.print("SDK INIT SET URI", " ERROR, HOST ILLEGAL !!!");
return;
}
if (this.g == null) {
this.g = new Builder().build();
}
this.g.putAll(new Builder().setUri(uri).build());
} catch (IllegalArgumentException unused) {
FaqLogger.print("SDK INIT SET URI", "ERROR, IllegalArgumentException !!!");
}
}
}
@Override
public void showReleaseLog(boolean z) {
FaqLogger.l(z, this.a);
}
@Override
public void unregisterUpdateListener(@NonNull SdkUpdateListener sdkUpdateListener) {
if (this.l != null) {
((BaseSdkUpdateRequest) sdkUpdateListener).a();
this.l.remove(sdkUpdateListener);
}
}
public FaqSdk(a aVar) {
this();
}
@Override
public String getSdk(@NonNull String str) {
if (this.g == null) {
if (this.a == null) {
FaqLogger.print("FaqSdk", "CONTENXT IS NULL");
return null;
}
this.g = new Builder().setJson(FaqSharePrefUtil.getString(this.a, FaqConstants.SDK_SP_FILE_NAME, FaqConstants.SDK_SP_KEY, "")).build();
}
Map<String, String> map = this.g;
if (map == null) {
return null;
}
return map.get(str);
}
@Override
public int init(@NonNull Application application, @NonNull Uri uri, @Nullable SdkListener sdkListener) {
if (uri == null) {
return -1;
}
try {
if (FaqConstants.HOST_NAME.equals(URI.create(uri.toString()).getHost())) {
return init(application, new Builder().setUri(uri), sdkListener);
}
FaqLogger.print("SDK INIT", "ERROR, HOST ILLEGAL !!!");
return -1;
} catch (IllegalArgumentException e2) {
FaqLogger.e("SDK INIT", e2.getMessage());
return -1;
}
}
@Override
public int init(@NonNull Application application, @NonNull Builder builder, @Nullable SdkListener sdkListener) {
this.a = application;
this.c = init() ? com.huawei.phoneservice.faq.base.b.INIT_AGAIN : com.huawei.phoneservice.faq.base.b.INIT_FAIL;
this.d = com.huawei.phoneservice.faq.base.c.INIT_PROGRESS;
if (sdkListener != null) {
WeakReference<SdkListener> weakReference = this.e;
if (weakReference != null) {
weakReference.clear();
}
this.e = new WeakReference<>(sdkListener);
}
if (builder.isEmpty()) {
this.c = com.huawei.phoneservice.faq.base.b.PARAMETER_ERROR;
onSdkInit(-1, "ERROR, parameter EMPTY !!!");
return -1;
}
Map<String, String> build = builder.build();
this.g = build;
l(build.get(FaqConstants.FAQ_COUNTRY));
return 0;
}
@Override
public int init(@NonNull Application application, @NonNull String str, @Nullable SdkListener sdkListener) {
String str2;
if (TextUtils.isEmpty(str)) {
str2 = "ERROR, uriStr EMPTY !!!";
} else {
Uri parse = Uri.parse(str);
if (parse != null) {
return init(application, parse, sdkListener);
}
str2 = "ERROR, Uri NULL !!!";
}
FaqLogger.print("SDK INIT", str2);
return -1;
}
@Override
public boolean init() {
return this.c != com.huawei.phoneservice.faq.base.b.INIT_FAIL;
}
@Override
public boolean init(Application application) {
this.a = application;
this.b = new FaqHandler(this);
return this.c != com.huawei.phoneservice.faq.base.b.INIT_FAIL;
}
}