Object SdkContext
-
- All Implemented Interfaces:
public class SdkContextThis class maintains things like application context whose life-cycles are tied up with the lifecycle of the app.
-
-
Field Summary
Fields Modifier and Type Field Description public final static StringSHARED_PREF_FILEpublic final static StringSHARED_PREF_PRE_INIT_FILEpublic final static StringPREF_KEY_PRE_INIT_ENABLEDpublic final static StringPREF_KEY_PRE_INIT_CONFIGpublic final static StringPREF_KEY_ACCOUNT_ID_RESET_ENABLEDpublic final static StringPREF_KEY_IM_ACCIDpublic final static StringH_USER_AGENTpublic final static StringINTEGRATION_TYPEpublic final static StringSDK_AD_FORMATprivate static ContextapplicationContextprivate static StringaccountIdprivate final static MultiEventBuseventBusprivate static BooleanisApplicationMutedprivate IntegersdkInitializationStateprivate final static BooleanisSdkInitializedprivate final LongrecordedAppLaunchTimeprivate final static StringwebviewUserAgentprivate static BooleanisAppInForegroundprivate final StringprimaryAccountIdFromPerfpublic final static SdkContextINSTANCE
-
Method Summary
Modifier and Type Method Description final static Booleaninit(Context context, String accountId, Boolean isAppInForeground)Method to be invoked only by IM SDK init flow final static BooleansetupApplicationContext(Context context)final UnitonSdkInitializationSuccess()final UnitonSdkInitializationFailure()final UnitrecordAppLaunchTime(Long timestamp)final static UnitrunInExecutor(Runnable runnable)final static UnitrunInCoroutine(SuspendFunction0<Unit> runnable)final FilegetMediaCacheDirectory(Context context)final UnitclearMediaCacheDirectory(Context context)A utility method to clear the SDK Media cache directory final UnitcreateMediaCache()final BooleancanObtainPermission(Context context, String permission)final static UnitregisterLifecycleCallbacksInternal(Context context, Application.ActivityLifecycleCallbacks lifecycleCallbacks)final UnitstartActivity(Context context, Intent intent)The flag will be used in cases when we don't have an activity context and we want to start an activity with ApplicationContext. final FilegetFileForKey(String key)final UnitsaveAccountId(String primaryAccountId)final StringreadPrimaryAccountIdFromPrefs(Context context)final BooleanisAccountIdResetEnabled()Returns whether publisher init may reset a mismatched persisted account ID. final BooleanisAccountIdDifferent(Context context, String publisherAccountId)final static Unitreset()Resets the SDK Context states to default values and should be used only in Automation final static ContextgetApplicationContext()final static UnitsetApplicationContext(static Context applicationContext)final static StringgetAccountId()final static UnitsetAccountId(static String accountId)final static MultiEventBusgetEventBus()final static BooleanisApplicationMuted()final static UnitsetApplicationMuted(static Boolean isApplicationMuted)final IntegergetSdkInitializationState()final UnitsetSdkInitializationState(Integer sdkInitializationState)final static BooleanisSdkInitialized()final LonggetRecordedAppLaunchTime()final static StringgetWebviewUserAgent()final static BooleanisAppInForeground()final static UnitsetAppInForeground(static Boolean isAppInForeground)final StringgetPrimaryAccountIdFromPerf()-
-
Method Detail
-
init
@UiThread() final static Boolean init(Context context, String accountId, Boolean isAppInForeground)
Method to be invoked only by IM SDK init flow
- Parameters:
context- Represents the application contextaccountId- Represents the IM account-IDisAppInForeground- Whether the app is already foregrounded when init starts.
-
setupApplicationContext
final static Boolean setupApplicationContext(Context context)
-
onSdkInitializationSuccess
final Unit onSdkInitializationSuccess()
-
onSdkInitializationFailure
final Unit onSdkInitializationFailure()
-
recordAppLaunchTime
final Unit recordAppLaunchTime(Long timestamp)
-
runInExecutor
final static Unit runInExecutor(Runnable runnable)
-
runInCoroutine
final static Unit runInCoroutine(SuspendFunction0<Unit> runnable)
-
getMediaCacheDirectory
final File getMediaCacheDirectory(Context context)
-
clearMediaCacheDirectory
@WorkerThread() final Unit clearMediaCacheDirectory(Context context)
A utility method to clear the SDK Media cache directory
-
createMediaCache
@WorkerThread() final Unit createMediaCache()
-
canObtainPermission
final Boolean canObtainPermission(Context context, String permission)
-
registerLifecycleCallbacksInternal
final static Unit registerLifecycleCallbacksInternal(Context context, Application.ActivityLifecycleCallbacks lifecycleCallbacks)
-
startActivity
final Unit startActivity(Context context, Intent intent)
The flag will be used in cases when we don't have an activity context and we want to start an activity with ApplicationContext.Also,It will make opening the external links faster( DI-5221)
When the given Activity is detached from its task (Activity.getTaskId == -1), launching from it crashes on Android 15 devices with Activity Embedding enabled: SplitController$ActivityStartMonitor reads the caller's taskId and throws "taskId is invalid, -1" (DI-19140). Fall back to the application context so the monitor does not use the dead caller.
-
getFileForKey
final File getFileForKey(String key)
-
saveAccountId
@WorkerThread() final Unit saveAccountId(String primaryAccountId)
-
readPrimaryAccountIdFromPrefs
@WorkerThread() final String readPrimaryAccountIdFromPrefs(Context context)
-
isAccountIdResetEnabled
@WorkerThread() final Boolean isAccountIdResetEnabled()
Returns whether publisher init may reset a mismatched persisted account ID.
-
isAccountIdDifferent
@WorkerThread() final Boolean isAccountIdDifferent(Context context, String publisherAccountId)
-
reset
final static Unit reset()
Resets the SDK Context states to default values and should be used only in Automation
-
getApplicationContext
final static Context getApplicationContext()
-
setApplicationContext
final static Unit setApplicationContext(static Context applicationContext)
-
getAccountId
final static String getAccountId()
-
setAccountId
final static Unit setAccountId(static String accountId)
-
getEventBus
final static MultiEventBus getEventBus()
-
isApplicationMuted
final static Boolean isApplicationMuted()
-
setApplicationMuted
final static Unit setApplicationMuted(static Boolean isApplicationMuted)
-
getSdkInitializationState
final Integer getSdkInitializationState()
-
setSdkInitializationState
final Unit setSdkInitializationState(Integer sdkInitializationState)
-
isSdkInitialized
final static Boolean isSdkInitialized()
-
getRecordedAppLaunchTime
final Long getRecordedAppLaunchTime()
-
getWebviewUserAgent
final static String getWebviewUserAgent()
-
isAppInForeground
final static Boolean isAppInForeground()
-
setAppInForeground
final static Unit setAppInForeground(static Boolean isAppInForeground)
-
getPrimaryAccountIdFromPerf
@WorkerThread() final String getPrimaryAccountIdFromPerf()
-
-
-
-