- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
373 lines
18 KiB
Java
373 lines
18 KiB
Java
package com.helpshift;
|
|
|
|
import android.app.Activity;
|
|
import android.app.Application;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.os.Looper;
|
|
import com.ea.eadp.pushnotification.forwarding.FCMMessageService;
|
|
import com.facebook.share.internal.ShareConstants;
|
|
import com.google.android.gms.drive.DriveFile;
|
|
import com.helpshift.activities.HSMainActivity;
|
|
import com.helpshift.core.HSContext;
|
|
import com.helpshift.exception.HSUncaughtExceptionHandler;
|
|
import com.helpshift.lifecycle.HSAppLifeCycleController;
|
|
import com.helpshift.log.HSLogger;
|
|
import com.helpshift.log.InternalHelpshiftLogger;
|
|
import com.helpshift.log.LogCollector;
|
|
import com.helpshift.user.UserManager;
|
|
import com.helpshift.util.ApplicationUtil;
|
|
import com.helpshift.util.HSTimer;
|
|
import com.helpshift.util.SchemaUtil;
|
|
import com.helpshift.util.SdkURLs;
|
|
import com.helpshift.util.Utils;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public abstract class Helpshift {
|
|
public static void setHelpshiftEventsListener(final HelpshiftEventsListener helpshiftEventsListener) {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "setHelpshiftEventsListener() is called.");
|
|
HSContext.getInstance().getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.1
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSContext.getInstance().getHsEventProxy().setHelpshiftEventsListener(HelpshiftEventsListener.this);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static synchronized void install(final Application application, final String str, final String str2, final Map map) {
|
|
synchronized (Helpshift.class) {
|
|
if (HSContext.installCallSuccessful.get()) {
|
|
HSLogger.d("Helpshift", "Helpshift is already initialized !");
|
|
return;
|
|
}
|
|
SchemaUtil.validateInstallCredentials(str2, str);
|
|
final Map sanitizeConfig = HSInstallHelper.sanitizeConfig(map);
|
|
Object obj = sanitizeConfig.get("isForChina");
|
|
if ((obj instanceof Boolean) && ((Boolean) obj).booleanValue()) {
|
|
SdkURLs.updateHosts("webchat.hsftcn.cn", "media.hsftcn.cn");
|
|
}
|
|
HSContext.initInstance(application);
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSync(new Runnable() { // from class: com.helpshift.Helpshift.3
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSContext.this.getNativeToSdkxMigrator().migrate();
|
|
HSContext.this.initialiseComponents(application);
|
|
HSInstallHelper.setupLifecycleListeners(application, sanitizeConfig);
|
|
}
|
|
});
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.4
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSContext.this.getConfigManager().saveInstallKeys(str, str2);
|
|
boolean isApplicationInDebugMode = ApplicationUtil.isApplicationInDebugMode(application);
|
|
Object obj2 = sanitizeConfig.get("enableLogging");
|
|
boolean z = (obj2 instanceof Boolean) && ((Boolean) obj2).booleanValue();
|
|
HSContext.this.setSDKLoggingEnabled(z);
|
|
InternalHelpshiftLogger internalHelpshiftLogger = new InternalHelpshiftLogger(isApplicationInDebugMode, z);
|
|
if (isApplicationInDebugMode && z) {
|
|
internalHelpshiftLogger.setLogCollector(new LogCollector(application, System.currentTimeMillis() + "", Looper.getMainLooper().getThread().getId()));
|
|
HSUncaughtExceptionHandler.init();
|
|
HSContext.this.getNotificationManager().showDebugLogNotification();
|
|
}
|
|
HSLogger.initLogger(internalHelpshiftLogger);
|
|
HSLogger.d("Helpshift", "Install called: Domain : " + str2 + ", Config: " + map + " SDK X Version: " + HSContext.this.getDevice().getSDKVersion());
|
|
HSInstallHelper.setNotificationConfigValues(application, HSContext.this.getNotificationManager(), sanitizeConfig);
|
|
HSContext.this.getWebchatAnalyticsManager().setAnalyticsEventsData(sanitizeConfig);
|
|
HSInstallHelper.setEnableInAppNotification(sanitizeConfig, HSContext.this.getPersistentStorage());
|
|
HSInstallHelper.setScreenOrientation(sanitizeConfig, HSContext.this.getPersistentStorage());
|
|
HSContext.this.getHelpcenterCacheEvictionManager().deleteOlderHelpcenterCachedFiles();
|
|
HSContext.this.getUserManager().generateAndSaveAnonymousUserIdIfNeeded();
|
|
if (HSPluginEventBridge.shouldCallFirstForegroundEvent()) {
|
|
HSAppLifeCycleController.getInstance().onAppForeground();
|
|
}
|
|
}
|
|
});
|
|
HSContext.installCallSuccessful.compareAndSet(false, true);
|
|
}
|
|
}
|
|
|
|
public static void showConversation(Activity activity, Map map) {
|
|
if (HSContext.verifyInstall()) {
|
|
HSTimer.setStartTime("api");
|
|
showConversationInternal(activity, map, false);
|
|
}
|
|
}
|
|
|
|
public static void showConversationInternal(final Context context, final Map map, final boolean z) {
|
|
HSLogger.d("Helpshift", "showConversation is called with config: " + map + " \n Is proactive? " + z);
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runOnUIThread(new Runnable() { // from class: com.helpshift.Helpshift.6
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
map.put("enableLogging", Boolean.valueOf(hSContext.isSDKLoggingEnabled()));
|
|
Helpshift.saveConfig(map);
|
|
Intent intent = new Intent(context, (Class<?>) HSMainActivity.class);
|
|
intent.putExtra("SERVICE_MODE", "WEBCHAT_SERVICE_FLAG");
|
|
intent.putExtra(ShareConstants.FEED_SOURCE_PARAM, "api");
|
|
if (z) {
|
|
intent.putExtra(ShareConstants.FEED_SOURCE_PARAM, "proactive");
|
|
intent.setFlags(DriveFile.MODE_READ_ONLY);
|
|
}
|
|
context.startActivity(intent);
|
|
}
|
|
});
|
|
}
|
|
|
|
public static void showFAQs(Activity activity, Map map) {
|
|
if (HSContext.verifyInstall()) {
|
|
showFAQsInternal(activity, map, false);
|
|
}
|
|
}
|
|
|
|
public static void showFAQsInternal(final Context context, final Map map, final boolean z) {
|
|
HSLogger.d("Helpshift", "showFAQs is called with config: " + map + " \n Is proactive? " + z);
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runOnUIThread(new Runnable() { // from class: com.helpshift.Helpshift.7
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
map.put("enableLogging", Boolean.valueOf(hSContext.isSDKLoggingEnabled()));
|
|
Helpshift.saveConfig(map);
|
|
Intent intent = new Intent(context, (Class<?>) HSMainActivity.class);
|
|
intent.putExtra("SERVICE_MODE", "HELP_CENTER_SERVICE_FLAG");
|
|
intent.putExtra("HELPCENTER_MODE", "APP_MAIN_PAGE");
|
|
intent.putExtra(ShareConstants.FEED_SOURCE_PARAM, "api");
|
|
if (z) {
|
|
intent.putExtra(ShareConstants.FEED_SOURCE_PARAM, "proactive");
|
|
intent.setFlags(DriveFile.MODE_READ_ONLY);
|
|
}
|
|
context.startActivity(intent);
|
|
}
|
|
});
|
|
}
|
|
|
|
public static void showFAQSection(Activity activity, String str, Map map) {
|
|
if (HSContext.verifyInstall()) {
|
|
showFAQSectionInternal(activity, str, map, false);
|
|
}
|
|
}
|
|
|
|
public static void showFAQSectionInternal(final Context context, final String str, final Map map, final boolean z) {
|
|
HSLogger.d("Helpshift", "showFAQSection is called with sectionId" + str + " & config: " + map + " \n Is proactive? : " + z);
|
|
if (Utils.isEmpty(str)) {
|
|
HSLogger.e("Helpshift", "Invalid FAQ Section ID. Ignoring call to showFAQSection API.");
|
|
} else {
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runOnUIThread(new Runnable() { // from class: com.helpshift.Helpshift.8
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
map.put("enableLogging", Boolean.valueOf(hSContext.isSDKLoggingEnabled()));
|
|
Helpshift.saveConfig(map);
|
|
Intent intent = new Intent(context, (Class<?>) HSMainActivity.class);
|
|
intent.putExtra("SERVICE_MODE", "HELP_CENTER_SERVICE_FLAG");
|
|
intent.putExtra("HELPCENTER_MODE", "FAQ_SECTION");
|
|
intent.putExtra("FAQ_SECTION_ID", str);
|
|
intent.putExtra(ShareConstants.FEED_SOURCE_PARAM, "api");
|
|
if (z) {
|
|
intent.putExtra(ShareConstants.FEED_SOURCE_PARAM, "proactive");
|
|
intent.setFlags(DriveFile.MODE_READ_ONLY);
|
|
}
|
|
context.startActivity(intent);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void showSingleFAQ(Activity activity, String str, Map map) {
|
|
if (HSContext.verifyInstall()) {
|
|
showSingleFAQInternal(activity, str, map, false);
|
|
}
|
|
}
|
|
|
|
public static void showSingleFAQInternal(final Context context, final String str, final Map map, final boolean z) {
|
|
HSLogger.d("Helpshift", "showSingleFAQ() is called with publishId" + str + " & config: " + map + " \n Is proactive? : " + z);
|
|
if (Utils.isEmpty(str)) {
|
|
HSLogger.e("Helpshift", "Invalid FAQ ID. Ignoring call to showSingleFAQ API.");
|
|
} else {
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runOnUIThread(new Runnable() { // from class: com.helpshift.Helpshift.9
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
map.put("enableLogging", Boolean.valueOf(hSContext.isSDKLoggingEnabled()));
|
|
Helpshift.saveConfig(map);
|
|
Intent intent = new Intent(context, (Class<?>) HSMainActivity.class);
|
|
intent.putExtra("SERVICE_MODE", "HELP_CENTER_SERVICE_FLAG");
|
|
intent.putExtra("HELPCENTER_MODE", "SINGLE_FAQ");
|
|
intent.putExtra("SINGLE_FAQ_PUBLISH_ID", str);
|
|
intent.putExtra(ShareConstants.FEED_SOURCE_PARAM, "api");
|
|
if (z) {
|
|
intent.putExtra(ShareConstants.FEED_SOURCE_PARAM, "proactive");
|
|
intent.setFlags(DriveFile.MODE_READ_ONLY);
|
|
}
|
|
context.startActivity(intent);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void leaveBreadCrumb(final String str) {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "leaveBreadCrumb() is called with action " + str);
|
|
if (Utils.isEmpty(str)) {
|
|
return;
|
|
}
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.10
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSContext.this.getConfigManager().pushBreadCrumb(str);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void clearBreadCrumbs() {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "Clearing Breadcrumbs");
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.11
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSContext.this.getConfigManager().clearBreadCrumbs();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void saveConfig(Map map) {
|
|
if (map == null) {
|
|
map = new HashMap();
|
|
}
|
|
setCIFs(map.remove("customIssueFields"));
|
|
HSContext.getInstance().getConfigManager().saveConfig(map);
|
|
}
|
|
|
|
public static void setCIFs(Object obj) {
|
|
try {
|
|
HSLogger.d("Helpshift", "Setting CIFs.");
|
|
HSContext.getInstance().getConfigManager().saveCustomIssueFields(obj instanceof Map ? (Map) obj : null);
|
|
} catch (Exception e) {
|
|
HSLogger.e("Helpshift", "Error setting CIFs", e);
|
|
}
|
|
}
|
|
|
|
public static void login(final Map map) {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "Logging in the user: " + map);
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.12
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
UserManager userManager = HSContext.this.getUserManager();
|
|
if (userManager.getClearAnonymousUserOnLoginFlag()) {
|
|
userManager.removeAnonymousUser();
|
|
userManager.generateAndSaveAnonymousUserIdIfNeeded();
|
|
}
|
|
userManager.login(map);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void logout() {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "Logging out the user");
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.13
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSContext.this.getUserManager().logout();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void setLanguage(final String str) {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "setLanguage() is called for language - " + str);
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.14
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSContext.this.getConfigManager().saveLanguage(str);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void registerPushToken(final String str) {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "Registering push token, token is empty?- " + Utils.isEmpty(str));
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.15
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSContext.this.getUserManager().registerPushToken(str);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void handlePush(final Map map) {
|
|
if (!HSContext.verifyInstall() || map == null || map.size() == 0) {
|
|
return;
|
|
}
|
|
HSLogger.d("Helpshift", "handlePush() is called.");
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.16
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
if (!HSContext.this.isWebchatUIOpen()) {
|
|
HSContext.this.getUserManager().updatePushUnreadCountBy(1);
|
|
}
|
|
HSContext.this.getNotificationManager().showNotification((String) map.get(FCMMessageService.PushIntentExtraKeys.ALERT), true);
|
|
}
|
|
});
|
|
}
|
|
|
|
public static void requestUnreadMessageCount(final boolean z) {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "requestUnreadMessageCount is called with shouldFetchFromServer = " + z);
|
|
final HSContext hSContext = HSContext.getInstance();
|
|
hSContext.getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.18
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
if (z) {
|
|
hSContext.getRequestUnreadMessageCountHandler().handleRemoteRequest();
|
|
} else {
|
|
hSContext.getRequestUnreadMessageCountHandler().handleLocalCacheRequest();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void onAppForeground() {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "onAppForeground() is called for Manual App lifecycle tracking");
|
|
HSContext.getInstance().getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.19
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSAppLifeCycleController.getInstance().onManualAppForegroundAPI();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
public static void onAppBackground() {
|
|
if (HSContext.verifyInstall()) {
|
|
HSLogger.d("Helpshift", "onAppBackground() is called for Manual App lifecycle tracking");
|
|
HSContext.getInstance().getHsThreadingService().runSerial(new Runnable() { // from class: com.helpshift.Helpshift.20
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
HSAppLifeCycleController.getInstance().onManualAppBackgroundAPI();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|