package Ġcom . air bnb . lott ie . compose Ċ Ċ /** Ċ Ġ* ĠSpecification Ġfor Ġa Ġ[ com . air bnb . lott ie . Lot tie Composition ]. ĠEach Ġsubclass Ġrepresents Ġa Ġdifferent Ġsource . Ċ Ġ* ĠA Ġ[ com . air bnb . lott ie . Lot tie Composition ] Ġis Ġthe Ġstate less Ġparsed Ġversion Ġof Ġa ĠL ot tie Ġjson Ġfile Ġand Ġis Ċ Ġ* Ġpassed Ġinto Ġ[ remember Lot tie Composition ] Ġor Ġ[ Lot tie Animation ]. Ċ Ġ*/ Ċ sealed Ġclass ĠL ot tie Composition Spec Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġan Ġanimation Ġfrom Ġres / raw . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠRaw Res (@ android x . annotation . Raw Res Ġval Ġres Id : ĠInt ) Ġ: ĠL ot tie Composition Spec () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġan Ġanimation Ġfrom Ġthe Ġinternet . ĠL ot tie Ġhas Ġa Ġdefault Ġnetwork Ġstack Ġthat Ġwill Ġuse ĊĠĠĠĠ Ġ* Ġstandard ĠAndroid Ġnetworking ĠAPIs Ġto Ġattempt Ġto Ġload Ġyour Ġanimation . ĠYou Ġmay Ġwant Ġto ĊĠĠĠĠ Ġ* Ġintegrate Ġyour Ġown Ġnetworking Ġstack Ġinstead Ġfor Ġconsistency , Ġto Ġadd Ġyour Ġown Ġheaders , ĊĠĠĠĠ Ġ* Ġor Ġimplement Ġretries . ĠTo Ġdo Ġthat , Ġcall Ġ[ com . air bnb . lott ie . Lot tie . initialize ] Ġand Ġset ĊĠĠĠĠ Ġ* Ġa Ġ[ com . air bnb . lott ie . network . Lot tie Network Fetcher ] Ġon Ġthe Ġ[ com . air bnb . lott ie . Lot tie Config ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠIf Ġyou Ġare Ġusing Ġthis Ġspec , Ġyou Ġmay Ġwant Ġto Ġuse Ġ[ remember Lot tie Composition ] Ġinstead Ġof ĊĠĠĠĠ Ġ* Ġpassing Ġthis Ġspec Ġdirectly Ġinto Ġ[ Lot tie Animation ] Ġbecause Ġit Ġcan Ġfail Ġand Ġyou Ġwant Ġto ĊĠĠĠĠ Ġ* Ġmake Ġsure Ġthat Ġyou Ġproperly Ġhandle Ġthe Ġfailures Ġand / or Ġretries . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠUrl ( val Ġurl : ĠString ) Ġ: ĠL ot tie Composition Spec () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġan Ġanimation Ġfrom Ġan Ġarbitrary Ġfile . ĠMake Ġsure Ġthat Ġyour Ġapp Ġhas Ġpermissions Ġto Ġread Ġit ĊĠĠĠĠ Ġ* Ġor Ġelse Ġthis Ġmay Ġfail . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠFile ( val ĠfileName : ĠString ) Ġ: ĠL ot tie Composition Spec () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġan Ġanimation Ġfrom Ġthe Ġassets Ġdirectory Ġof Ġyour Ġapp . ĠThis Ġisn 't Ġtype Ġsafe Ġlike Ġ[ Raw Res ] ĊĠĠĠĠ Ġ* Ġso Ġmake Ġsure Ġthat Ġthe Ġpath Ġto Ġyour Ġanimation Ġis Ġcorrect Ġthis Ġwill Ġfail . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠAsset ( val Ġasset Name : ĠString ) Ġ: ĠL ot tie Composition Spec () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġan Ġanimation Ġfrom Ġits Ġjson Ġstring . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠJson String ( val Ġjson String : ĠString ) Ġ: ĠL ot tie Composition Spec () Ċ }