CWA for Android: Workspace App crashes when you hit try to cast using a Workspace Hub.

CWA for Android: Workspace App crashes when you hit try to cast using a Workspace Hub.

book

Article ID: CTX277505

calendar_today

Updated On:

Description

This article is intended for Citrix administrators and technical teams only.Non-admin users must contact their company’s Help Desk/IT support team and can refer to CTX297149 for more information.

CWA for Android crashes with following trace when attempted to cast using Hub.
Casting is successful after Desktop or App is launched. It fails only when you try from Store Home.

Following trace is printed CWA logs.

01-23 10:31:37.792 E/AndroidRuntime(10793): FATAL EXCEPTION: main
01-23 10:31:37.792 E/AndroidRuntime(10793): Process: com.citrix.Receiver, PID: 10793
01-23 10:31:37.792 E/AndroidRuntime(10793): java.lang.NoSuchMethodError: No direct method <init>(Landroid/view/ViewGroup;Landroid/view/View;Landroid/support/design/widget/BaseTransientBottomBar$ContentViewCallback;)V in class Landroid/support/design/widget/BaseTransientBottomBar; or its super classes (declaration of 'android.support.design.widget.BaseTransientBottomBar' appears in base.apk)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.pasdk.beacon.CustomSnackbar.<init>(CustomSnackbar.java:23)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.pasdk.beacon.CustomSnackbar.make(CustomSnackbar.java:29)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.pasdk.beacon.HubSession.<init>(HubSession.java:80)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.pasdk.beacon.HubDetector.onICAFileDownloaded(HubDetector.java:301)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.Receiver.workspaceHub.BeaconHelper$1$1.handleResponse(BeaconHelper.java:82)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.Receiver.usecases.callbacks.UseCaseCallBack.onSuccess(UseCaseCallBack.java:57)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.Receiver.usecases.callbacks.UseCaseCallBack.onSuccess(UseCaseCallBack.java:30)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.Receiver.usecases.UseCaseHandler.lambda$onResponse$1(UseCaseHandler.java:72)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.citrix.client.Receiver.usecases.-$$Lambda$UseCaseHandler$Db9oB25f_EaOSoCsX4GV8TGeXPM.run(Unknown Source:4)
01-23 10:31:37.792 E/AndroidRuntime(10793): at android.os.Handler.handleCallback(Handler.java:883)
01-23 10:31:37.792 E/AndroidRuntime(10793): at android.os.Handler.dispatchMessage(Handler.java:100)
01-23 10:31:37.792 E/AndroidRuntime(10793): at android.os.Looper.loop(Looper.java:214)
01-23 10:31:37.792 E/AndroidRuntime(10793): at android.app.ActivityThread.main(ActivityThread.java:7682)
01-23 10:31:37.792 E/AndroidRuntime(10793): at java.lang.reflect.Method.invoke(Native Method)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
01-23 10:31:37.792 E/AndroidRuntime(10793): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
01-23 10:34:34.699 E/AndroidRuntime(12751): FATAL EXCEPTION: main
01-23 10:34:34.699 E/AndroidRuntime(12751): Process: com.citrix.Receiver, PID: 12751
01-23 10:34:34.699 E/AndroidRuntime(12751): java.lang.NoSuchMethodError: No direct method <init>(Landroid/view/ViewGroup;Landroid/view/View;Landroid/support/design/widget/BaseTransientBottomBar$ContentViewCallback;)V in class Landroid/support/design/widget/BaseTransientBottomBar; or its super classes (declaration of 'android.support.design.widget.BaseTransientBottomBar' appears in base.apk)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.pasdk.beacon.CustomSnackbar.<init>(CustomSnackbar.java:23)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.pasdk.beacon.CustomSnackbar.make(CustomSnackbar.java:29)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.pasdk.beacon.HubSession.<init>(HubSession.java:80)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.pasdk.beacon.HubDetector.onICAFileDownloaded(HubDetector.java:301)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.Receiver.workspaceHub.BeaconHelper$1$1.handleResponse(BeaconHelper.java:82)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.Receiver.usecases.callbacks.UseCaseCallBack.onSuccess(UseCaseCallBack.java:57)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.Receiver.usecases.callbacks.UseCaseCallBack.onSuccess(UseCaseCallBack.java:30)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.Receiver.usecases.UseCaseHandler.lambda$onResponse$1(UseCaseHandler.java:72)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.citrix.client.Receiver.usecases.-$$Lambda$UseCaseHandler$Db9oB25f_EaOSoCsX4GV8TGeXPM.run(Unknown Source:4)
01-23 10:34:34.699 E/AndroidRuntime(12751): at android.os.Handler.handleCallback(Handler.java:883)
01-23 10:34:34.699 E/AndroidRuntime(12751): at android.os.Handler.dispatchMessage(Handler.java:100)
01-23 10:34:34.699 E/AndroidRuntime(12751): at android.os.Looper.loop(Looper.java:214)
01-23 10:34:34.699 E/AndroidRuntime(12751): at android.app.ActivityThread.main(ActivityThread.java:7682)
01-23 10:34:34.699 E/AndroidRuntime(12751): at java.lang.reflect.Method.invoke(Native Method)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
01-23 10:34:34.699 E/AndroidRuntime(12751): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

Resolution

Update to CWA 2005 or later.

Problem Cause

CustomSnackbar.java is using BaseTransientBottomBar. It appears that Android has deprecated BaseTransientBottomBar.ContentViewCallback. A fix for the same would be to use ContentViewCallback directly instead.

In place of com.google.android.material.snackbar.BaseTransientBottomBar.ContentViewCallback use com.google.android.material.snackbar.ContentViewCallback