public static T MainThreadCall <T>(this AndroidJavaObject ajo, string methodName, params object[] args) { T result = default(T); bool wasSet = false; JniUtils.RunOnUiThread(() => { try { result = ajo.Call <T>(methodName, args); } catch { // Ignored } finally { wasSet = true; } }); while (!wasSet) { // Hack for IL2CPP to not optimize the loop hackyDummy++; } return(result); }
public static void MainThreadCall(this AndroidJavaObject ajo, string methodName, params object[] args) { bool finished = false; JniUtils.RunOnUiThread(() => { try { ajo.Call(methodName, args); } catch { // Ignored } finally { finished = true; } }); while (!finished) { // Hack for IL2CPP to not optimize the loop hackyDummy++; } }
public void Init(string clientId, string clientSecret, bool isS2S, string userId) { JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.SetInBrainJavaMethod, JniUtils.Activity, clientId, clientSecret, isS2S, userId); }); }
public void GetRewards(Action <List <InBrainReward> > onRewardsReceived, Action onFailedToReceiveRewards, bool confirmRewardsAutomatically = false) { JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.GetRewardsJavaMethod, new InBrainGetRewardsCallbackProxy(onRewardsReceived, onFailedToReceiveRewards, confirmRewardsAutomatically)); }); }
public void SetStatusBarConfig(InBrainStatusBarConfig config) { var javaConfig = new AndroidJavaObject(Constants.StatusBarConfigJavaClass) .CallAJO("setStatusBarIconsLight", config.LightStatusBarIcons) .CallAJO("setStatusBarColor", config.StatusBarColor.ToJavaColor()); JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.SetStatusBarConfigJavaMethod, javaConfig); }); }
public void SetToolbarConfig(InBrainToolbarConfig config) { var javaConfig = new AndroidJavaObject(Constants.ToolbarConfigJavaClass) .CallAJO("setElevationEnabled", config.ElevationEnabled) .CallAJO("setToolbarColor", config.ToolbarColor.ToJavaColor()) .CallAJO("setBackButtonColor", config.BackButtonColor.ToJavaColor()) .CallAJO("setTitleColor", config.TitleColor.ToJavaColor()) .CallAJO("setTitle", config.Title); JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.SetToolbarConfigJavaMethod, javaConfig); }); }
public static void MainThreadCallNonBlocking(this AndroidJavaObject ajo, string methodName, params object[] args) { JniUtils.RunOnUiThread(() => ajo.Call(methodName, args)); }
public void SetLanguage(string language) { JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.SetLanguageJavaMethod, language); }); }
public void ConfirmRewards(List <InBrainReward> rewards) { JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.ConfirmRewardsJavaMethod, rewards.ToJavaList(reward => reward.ToAJO())); }); }
public void GetRewards() { JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.GetRewardsJavaMethod); }); }
public void ShowSurvey(string surveyId) { JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.ShowSurveyJavaMethod, JniUtils.Activity, surveyId, new InBrainStartSurveysCallbackProxy()); }); }
public void AddCallback(Action <List <InBrainReward> > onRewardsReceived, Action onRewardsViewDismissed, bool confirmRewardsAutomatically = false) { _callback = new InBrainCallbackProxy(onRewardsViewDismissed, onRewardsReceived, confirmRewardsAutomatically); JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.AddCallbackJavaMethod, _callback); }); }
public void GetSurveys(Action <List <InBrainSurvey> > onSurveysReceived) { JniUtils.RunOnUiThread(() => { InBrainInst?.Call(Constants.GetSurveysJavaMethod, new InBrainGetSurveysCallbackProxy(onSurveysReceived)); }); }