/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠGoogle ĠLLC Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġdev . android . playground . nova . core . framework . style ables Ċ Ċ import Ġdev . android . playground . nova . core . base .* Ċ Ċ // ĠUse Ġspecific Ġtransition Ġsubclass Ġnames Ġas Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Transition ĠTransition }, Ċ // Ġsuch Ġas Ġ< code > change Bounds </ code >, Ġ< code > fade </ code >, Ġand Ġ< code > transition Set </ code >. Ċ @ Inner Style able ( Core Transition Target Style able :: class , ĊĠĠĠĠĠĠĠ ĠCore Arc Motion Style able :: class , ĊĠĠĠĠĠĠĠ ĠCore Pattern Path Motion Style able :: class ) Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Transition Style able Ġ: ĠBase Style able Ġ{ ĊĠĠĠ Ġ// ĠAmount Ġof Ġtime Ġ( in Ġmilliseconds ) Ġthat Ġthe Ġtransition Ġshould Ġrun . ĊĠĠĠ Ġ@ Re use ( Core Animation Drawable Item Style able . duration :: class ) ĊĠĠĠ Ġclass Ġduration ĊĊĠĠĠ Ġ// ĠDelay Ġin Ġmilliseconds Ġbefore Ġthe Ġtransition Ġstarts . ĊĠĠĠ Ġ@ Integer Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġstart Delay ĊĊĠĠĠ Ġ// ĠInterpol ator Ġto Ġbe Ġused Ġin Ġthe Ġanimations Ġspawn ed Ġby Ġthis Ġtransition . ĊĠĠĠ Ġ@ Re use ( Core ProgressBar Style able . interpol ator :: class ) ĊĠĠĠ Ġclass Ġinterpol ator ĊĊĠĠĠ Ġ// ĠThe Ġmatch Ġorder Ġto Ġuse Ġfor Ġthe Ġtransition . ĠThis Ġis Ġa Ġcomma - separated ĊĠĠĠ Ġ// Ġlist Ġof Ġvalues , Ġcontaining Ġone Ġor Ġmore Ġof Ġthe Ġfollowing : ĊĠĠĠ Ġ// Ġid , ĠitemId , Ġname , Ġinstance . ĠThese Ġcorrespond Ġto ĊĠĠĠ Ġ// Ġ{@ link Ġandroid . transition . Transition # MATCH _ ID }, ĊĠĠĠ Ġ// Ġ{@ link Ġandroid . transition . Transition # MATCH _ ITEM _ ID }, ĊĠĠĠ Ġ// Ġ{@ link Ġandroid . transition . Transition # MATCH _ NAME }, Ġand ĊĠĠĠ Ġ// Ġ{@ link Ġandroid . transition . Transition # MATCH _ INSTANCE }, Ġrespectively . ĊĠĠĠ Ġ// ĠThis Ġcorresponds Ġto Ġ{@ link Ġandroid . transition . Transition # set Match Order ( int ...) }. ĊĠĠĠ Ġ@ StringValue ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġmatch Order Ċ } Ċ Ċ @ Hide (" For Ġinternal Ġuse Ġonly . ĠUse Ġonly Ġas Ġdirected .") Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Epic enter Translate Clip Re veal Style able Ġ: ĠCore Visibility Transition Style able () Ġ{ ĊĠĠĠ Ġ@ Reference Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġinterpol ator X ĊĊĠĠĠ Ġ@ Reference Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġinterpol ator Y ĊĊĠĠĠ Ġ@ Reference Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġinterpol ator Z Ċ } Ċ Ċ // ĠUse Ġ< code > fade </ code > as Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Fade ĠF ade } Ġtransition . Ċ // ĠThe Ġattributes Ġof Ġthe Ġ{@ link Ġandroid . R . style able # Transition ĠTransition } Ċ // Ġresource Ġare Ġavailable Ġin Ġaddition Ġto Ġthe Ġspecific Ġattributes Ġof ĠF ade Ċ // Ġdescribed Ġhere . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Fade Style able Ġ: ĠCore Visibility Transition Style able () Ġ{ ĊĠĠĠ Ġenum Ġclass ĠF ading Mode Enum ( val Ġvalue : ĠInt ) Ġ: ĠStyle able Enum Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠF ade Ġwill Ġonly Ġfade Ġappearing Ġitems Ġin . ĊĠĠĠĠĠĠĠ Ġfade _ in ( 1 ), ĊĠĠĠĠĠĠĠ Ġ// ĠF ade Ġwill Ġonly Ġfade Ġdis appear ing Ġitems Ġout . ĊĠĠĠĠĠĠĠ Ġfade _ out ( 2 ), ĊĠĠĠĠĠĠĠ Ġ// ĠF ade Ġwill Ġfade Ġappearing Ġitems Ġin Ġand Ġdis appear ing Ġitems Ġout . ĊĠĠĠĠĠĠĠ Ġfade _ in _ out ( 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠE quivalent Ġto Ġ< code > transition Visibility Mode </ code >, Ġf ading Mode Ġworks Ġonly ĊĠĠĠ Ġ// Ġwith Ġthe ĠF ade Ġtransition . ĊĠĠĠ Ġ@ EnumValue ( F ading Mode Enum :: class ) ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġf ading Mode Ċ } Ċ Ċ // ĠUse Ġ< code > slide </ code > as Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Slide ĠSlide } Ġtransition . Ċ // ĠThe Ġattributes Ġof Ġthe Ġ{@ link Ġandroid . R . style able # Transition ĠTransition } Ċ // Ġresource Ġare Ġavailable Ġin Ġaddition Ġto Ġthe Ġspecific Ġattributes Ġof ĠSlide Ċ // Ġdescribed Ġhere . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Slide Style able Ġ: ĠCore Visibility Transition Style able () Ġ{ ĊĠĠĠ Ġenum Ġclass ĠSlide Edge Enum ( val Ġvalue : ĠInt ) Ġ: ĠStyle able Enum Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSlide Ġto Ġand Ġfrom Ġthe Ġleft Ġedge Ġof Ġthe ĠScene . ĊĠĠĠĠĠĠĠ Ġleft ( 0 x 0 3 ), ĊĠĠĠĠĠĠĠ Ġ// ĠSlide Ġto Ġand Ġfrom Ġthe Ġtop Ġedge Ġof Ġthe ĠScene . ĊĠĠĠĠĠĠĠ Ġtop ( 0 x 3 0 ), ĊĠĠĠĠĠĠĠ Ġ// ĠSlide Ġto Ġand Ġfrom Ġthe Ġright Ġedge Ġof Ġthe ĠScene . ĊĠĠĠĠĠĠĠ Ġright ( 0 x 0 5 ), ĊĠĠĠĠĠĠĠ Ġ// ĠSlide Ġto Ġand Ġfrom Ġthe Ġbottom Ġedge Ġof Ġthe ĠScene . ĊĠĠĠĠĠĠĠ Ġbottom ( 0 x 5 0 ), ĊĠĠĠĠĠĠĠ Ġ// ĠSlide Ġto Ġand Ġfrom Ġthe Ġx - axis Ġposition Ġat Ġthe Ġstart Ġof Ġthe ĠScene Ġroot . ĊĠĠĠĠĠĠĠ Ġstart ( 0 x 0 0 8 0 0 0 0 3 ), ĊĠĠĠĠĠĠĠ Ġ// ĠSlide Ġto Ġand Ġfrom Ġthe Ġx - axis Ġposition Ġat Ġthe Ġend Ġof Ġthe ĠScene Ġroot . ĊĠĠĠĠĠĠĠ Ġend ( 0 x 0 0 8 0 0 0 0 5 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠIndicates Ġwhat Ġshape Ġto Ġfill Ġwith Ġa Ġgradient . ĊĠĠĠ Ġ@ EnumValue ( Slide Edge Enum :: class ) ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġslide Edge Ċ } Ċ Ċ // ĠUse Ġwith Ġ{@ link Ġandroid . transition . Visibility } Ġtransitions , Ġsuch Ġas Ċ // Ġ< code > slide </ code >, Ġ< code > explode </ code >, Ġand Ġ< code > fade </ code > Ġto Ġmark Ġwhich Ċ // Ġviews Ġare Ġsupported . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Visibility Transition Style able Ġ: ĠCore Transition Style able () Ġ{ ĊĠĠĠ Ġenum Ġclass ĠTransition Visibility Mode Flag ( val Ġvalue : ĠLong ) Ġ: ĠStyle able Flag Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠOnly Ġappearing ĠViews Ġwill Ġbe Ġsupported . ĊĠĠĠĠĠĠĠ Ġmode _ in ( 1 ), ĊĠĠĠĠĠĠĠ Ġ// ĠOnly Ġdis appear ing ĠViews Ġwill Ġbe Ġsupported . ĊĠĠĠĠĠĠĠ Ġmode _ out ( 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠChanges Ġwhether Ġthe Ġtransition Ġsupports Ġappearing Ġand / or Ġdis appear ing ĠViews . ĊĠĠĠ Ġ// ĠCorre spon ds Ġto Ġ{@ link Ġandroid . transition . Visibility # set Mode ( int )}. ĊĠĠĠ Ġ@ Flag Value ( Transition Visibility Mode Flag :: class ) ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġtransition Visibility Mode Ċ } Ċ Ċ // ĠUse Ġ< code > target </ code > Ġas Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Transition # add Target ( int ) Ċ // ĠĠĠĠ Ġtarget Id } Ġof Ġa Ġtransition . ĠThere Ġcan Ġbe Ġone Ġor Ġmore Ġtargets Ġinside Ċ // Ġa Ġ< code > targets </ code > Ġtag , Ġwhich Ġis Ġitself Ġinside Ġan Ġappropriate Ċ // Ġ{@ link Ġandroid . R . style able # Transition ĠTransition } Ġtag . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Transition Target Style able Ġ: ĠBase Style able Ġ{ ĊĠĠĠ Ġ// ĠThe Ġid Ġof Ġa Ġtarget Ġon Ġwhich Ġthis Ġtransition Ġwill Ġanimate Ġchanges . ĊĠĠĠ Ġ@ Reference Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġtarget Id ĊĊĠĠĠ Ġ// ĠThe Ġid Ġof Ġa Ġtarget Ġto Ġexclude Ġfrom Ġthis Ġtransition . ĊĠĠĠ Ġ@ Reference Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġexclude Id ĊĊĠĠĠ Ġ// ĠThe Ġfully - qualified Ġname Ġof Ġthe ĠClass Ġto Ġinclude Ġin Ġthis Ġtransition . ĊĠĠĠ Ġ@ Re use ( Manifest Intent Style able . target Class :: class ) ĊĠĠĠ Ġclass Ġtarget Class ĊĊĠĠĠ Ġ// ĠThe Ġfully - qualified Ġname Ġof Ġthe ĠClass Ġto Ġexclude Ġfrom Ġthis Ġtransition . ĊĠĠĠ Ġ@ StringValue ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġexclude Class ĊĊĠĠĠ Ġ// ĠThe Ġtransition Name Ġof Ġthe Ġtarget Ġon Ġwhich Ġthis Ġtransition Ġwill Ġanimation Ġchanges . ĊĠĠĠ Ġ@ StringValue ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġtarget Name ĊĊĠĠĠ Ġ// ĠThe Ġtransition Name Ġof Ġthe Ġtarget Ġto Ġexclude Ġfrom Ġthis Ġtransition . ĊĠĠĠ Ġ@ StringValue ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġexclude Name Ċ } Ċ Ċ // ĠUse Ġ< code > set </ code > Ġas Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Transition Set Ċ // ĠĠĠĠ ĠTransition Set } Ġtransition . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Transition Set Style able Ġ: ĠBase Style able Ġ{ ĊĠĠĠ Ġenum Ġclass ĠTransition Ordering Enum ( val Ġvalue : ĠInt ) Ġ: ĠStyle able Enum Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġchild Ġtransitions Ġshould Ġbe Ġplayed Ġtogether . ĊĠĠĠĠĠĠĠ Ġtogether ( 0 ), ĊĠĠĠĠĠĠĠ Ġ// Ġchild Ġtransitions Ġshould Ġbe Ġplayed Ġse quent ially , Ġin Ġthe Ġsame Ġorder ĊĠĠĠĠĠĠĠ Ġ// Ġas Ġthe Ġxml . ĊĠĠĠĠĠĠĠ Ġsequential ( 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EnumValue ( Transition Ordering Enum :: class ) ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġtransition Ordering Ċ } Ċ Ċ // ĠUse Ġ< code > change Transform </ code > Ġas Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Change Transform } Ġtransition . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Change Transform Style able Ġ: ĠCore Transition Style able () Ġ{ ĊĠĠĠ Ġ// ĠA Ġparent Ġchange Ġshould Ġuse Ġan Ġoverlay Ġor Ġaffect Ġthe Ġtransform Ġof Ġthe ĊĠĠĠ Ġ// Ġtransition ining ĠView . ĠDefault Ġis Ġtrue . ĠCorre spon ds Ġto ĊĠĠĠ Ġ// Ġ{@ link Ġandroid . transition . Change Transform # set Re parent With Overlay ( boolean )}. ĊĠĠĠ Ġ@ Boolean Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġre parent With Overlay ĊĊĠĠĠ Ġ// ĠTell s ĠChange Transform Ġto Ġtrack Ġparent Ġchanges . ĠDefault Ġis Ġtrue . ĠCorre spon ds Ġto ĊĠĠĠ Ġ// Ġ{@ link Ġandroid . transition . Change Transform # set Re parent ( boolean )}. ĊĠĠĠ Ġ@ Boolean Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġre parent Ċ } Ċ Ċ // ĠUse Ġ< code > change Bounds </ code > as Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Change Bounds } Ġtransition . Ċ // ĠThe Ġattributes Ġof Ġthe Ġ{@ link Ġandroid . R . style able # Transition ĠTransition } Ċ // Ġresource Ġare Ġavailable Ġin Ġaddition Ġto Ġthe Ġspecific Ġattributes Ġof ĠChange Bounds Ċ // Ġdescribed Ġhere . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Change Bounds Style able Ġ: ĠCore Transition Style able () Ġ{ ĊĠĠĠ Ġ// ĠResize Ġthe Ġview Ġby Ġadjust ing Ġthe Ġclip Bounds Ġrather Ġthan Ġchanging Ġthe ĊĠĠĠ Ġ// Ġdimensions Ġof Ġthe Ġview Ġitself . ĠThe Ġdefault Ġvalue Ġis Ġfalse . ĊĠĠĠ Ġ@ Boolean Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġresize Clip Ċ } Ċ Ċ // ĠUse Ġ< code > transition Manager </ code > Ġas Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Transition Manager Ċ // ĠĠĠĠ ĠTransition Manager }. Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Transition Manager Style able Ġ: ĠBase Style able Ġ{ ĊĠĠĠ Ġ// ĠThe Ġid Ġof Ġa Ġtransition Ġto Ġbe Ġused Ġin Ġa Ġparticular Ġscene Ġchange . ĊĠĠĠ Ġ@ Reference Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġtransition ĊĊĠĠĠ Ġ// ĠThe Ġorigin ating Ġscene Ġin Ġthis Ġscene Ġchange . ĊĠĠĠ Ġ@ Reference Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġfrom Scene ĊĊĠĠĠ Ġ// ĠThe Ġdestination Ġscene Ġin Ġthis Ġscene Ġchange . ĊĠĠĠ Ġ@ Reference Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġto Scene Ċ } Ċ Ċ // ĠUse Ġ< code > arc Motion </ code > Ġas Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Arc Motion }. ĠThis Ġmust Ġbe Ġused Ċ // Ġwithin Ġa Ġtransition Ġwith Ġwhich Ġthe ĠPath Motion Ġshould Ġbe Ġassociated . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Arc Motion Style able Ġ: ĠBase Style able Ġ{ ĊĠĠĠ Ġ// ĠThe Ġminimum Ġarc Ġangle Ġin Ġdegrees Ġbetween Ġthe Ġstart Ġand Ġend Ġpoints Ġwhen ĊĠĠĠ Ġ// Ġthey Ġare Ġclose Ġto Ġhorizontal . ĊĠĠĠ Ġ@ Float Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġminimum Horizontal Angle ĊĊĠĠĠ Ġ// ĠThe Ġminimum Ġarc Ġangle Ġin Ġdegrees Ġbetween Ġthe Ġstart Ġand Ġend Ġpoints Ġwhen ĊĠĠĠ Ġ// Ġthey Ġare Ġclose Ġto Ġvertical . ĊĠĠĠ Ġ@ Float Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġminimum Vertical Angle ĊĊĠĠĠ Ġ// ĠThe Ġmaximum Ġarc Ġangle Ġin Ġdegrees Ġbetween Ġthe Ġstart Ġand Ġend Ġpoints . ĊĠĠĠ Ġ@ Float Value ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġmaximum Angle Ċ } Ċ Ċ // ĠUse Ġ< code > pattern Path Motion </ code > Ġas Ġthe Ġroot Ġtag Ġof Ġthe ĠXML Ġresource Ġthat Ċ // Ġdescribes Ġa Ġ{@ link Ġandroid . transition . Pattern Path Motion }. ĠThis Ġmust Ġbe Ġused Ċ // Ġwithin Ġa Ġtransition Ġwith Ġwhich Ġthe ĠPath Motion Ġshould Ġbe Ġassociated . Ċ @ Use Android Namespace Ċ abstract Ġclass ĠCore Pattern Path Motion Style able Ġ: ĠBase Style able Ġ{ ĊĠĠĠ Ġ// ĠThe Ġpath Ġstring Ġdescribing Ġthe Ġpattern Ġto Ġuse Ġfor Ġthe ĠPath Path Motion . ĊĠĠĠ Ġ@ StringValue ĊĠĠĠ Ġ@ Use Android Namespace ĊĠĠĠ Ġclass Ġpattern Path Data Ċ }