@@ -88,22 +88,28 @@ class PlayStoreAppReferrerStateListener @Inject constructor(
8888 override fun onInstallReferrerSetupFinished (responseCode : Int ) {
8989 val referrerRetrievalDurationMs = System .currentTimeMillis() - initialisationStartTime
9090 Timber .i(" Took ${referrerRetrievalDurationMs} ms to get initial referral data callback" )
91+ try {
92+ when (responseCode) {
93+ OK -> {
94+ Timber .d(" Successfully connected to Referrer service" )
95+ val response = referralClient.installReferrer
96+ val referrer = response.installReferrer
97+ val parsedResult = appInstallationReferrerParser.parse(referrer)
98+ referralResultReceived(parsedResult)
99+ }
100+ FEATURE_NOT_SUPPORTED -> referralResultFailed(FeatureNotSupported )
101+ SERVICE_UNAVAILABLE -> referralResultFailed(ServiceUnavailable )
102+ DEVELOPER_ERROR -> referralResultFailed(DeveloperError )
103+ SERVICE_DISCONNECTED -> referralResultFailed(ServiceDisconnected )
104+ else -> referralResultFailed(UnknownError )
91105
92- when (responseCode) {
93- OK -> {
94- Timber .d(" Successfully connected to Referrer service" )
95- val response = referralClient.installReferrer
96- val referrer = response.installReferrer
97- val parsedResult = appInstallationReferrerParser.parse(referrer)
98- referralResultReceived(parsedResult)
99106 }
100- FEATURE_NOT_SUPPORTED -> referralResultFailed( FeatureNotSupported )
101- SERVICE_UNAVAILABLE -> referralResultFailed( ServiceUnavailable )
102- DEVELOPER_ERROR -> referralResultFailed( DeveloperError )
103- SERVICE_DISCONNECTED -> referralResultFailed( ServiceDisconnected )
104- else -> referralResultFailed(UnknownError )
107+
108+ referralClient.endConnection( )
109+ } catch (e : RuntimeException ) {
110+ Timber .w(e, " Failed to retrieve referrer data " )
111+ referralResultFailed(UnknownError )
105112 }
106- referralClient.endConnection()
107113 }
108114
109115 /* *
0 commit comments