Как дождаться загрузки класса appsflyer
Я использую класс Appsflyer (AFApplication) в своем проекте.
@Override
public void onCreate() {
super.onCreate();
final AppsFlyerConversionListener conversionListener = new AppsFlyerConversionListener() {
@Override
public void onConversionDataSuccess(Map<String, Object> conversionData) {
for (String attrName : conversionData.keySet()) {
Log.d("LOG_TAG", "attribute: " + attrName + " = " + conversionData.get(attrName));
}
campName = (String) conversionData.get("campaign");
}
@Override
public void onConversionDataFail(String errorMessage) {
Log.d("LOG_TAG", "error getting conversion data: " + errorMessage);
}
@Override
public void onAppOpenAttribution(Map<String, String> attributionData) {
for (String attrName : attributionData.keySet()) {
Log.d("LOG_TAG", "attribute: " + attrName + " = " + attributionData.get(attrName));
}
}
@Override
public void onAttributionFailure(String errorMessage) {
Log.d("LOG_TAG", "error onAttributionFailure : " + errorMessage);
}
};
AppsFlyerLib.getInstance().init(AF_DEV_KEY, conversionListener, this);
AppsFlyerLib.getInstance().start(this);
}
public static String getCampName() {
return campName;
}
Проблема в том что этот класс начинает свою работу позже чем код в моем Activity и метод getCampName() мне возвращает null
Мне удалось дождаться загрузки класса и получить параметры в Activity вот таким образом
AsyncTask.execute(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(8000);
} catch (InterruptedException e) {
e.printStackTrace();
}
appsflyerCamp = AFApplication.getCampName();
openWebView();
}
});
Но теперь я не могу открыть webview в другом потоке. Как мне правильно дождаться загрузки класса для получения параметров, а после чего открыть webview в моем MainActivity ?
Спасибо!