package Ġcom . dic od ing jet pack pro . mov iec atalog ue . presentation . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Id Res Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġcom . dic od ing jet pack pro . mov iec atalog ue . R Ċ import Ġcom . google . android . material . transition . Material Arc Motion Ċ import Ġcom . google . android . material . transition . Material Container Transform Ċ import Ġcom . google . android . material . transition . Material Elevation Scale Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġay db t iko Ġon Ġ 5 / 3 0 / 2 0 2 1 . Ċ Ġ* Ġabstraction Ġclass Ġof Ġ[ Base Fragment ] Ġwith Ġdefault Ċ Ġ* Ġtransition Ġof Ġ[ Material Elevation Scale ] Ġand Ġshared Ġelement Ċ Ġ* Ġtransition Ġof Ġ[ Material Container Transform ] Ċ Ġ*/ Ċ abstract Ġclass ĠBase Detail Fragment (@ Layout Res Ġlayout Id : ĠInt ) Ġ: ĠBase Fragment ( layout Id ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġenter Ġtransition Ġtarget Ġto Ġanimated Ġduring Ġenter Transition ĊĠĠĠĠ Ġ* Ġwith Ġdefault Ġvalue ĠR . id . root _ container ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Id Res ĊĠĠĠ Ġopen Ġval Ġenter Transition Target Id : ĠInt Ġ= ĠR . id . root _ container ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġduration Ġof Ġenter Ġtransition Ġanimation Ġwith Ġdefault Ġ( 2 2 0 L ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġval Ġenter Transition Duration Id : ĠLong Ġ= Ġ 2 2 0 L ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ// Ġenter Ġtransition Ġanimation ĊĠĠĠĠĠĠĠ Ġenter Transition Ġ= ĠMaterial Elevation Scale ( true ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Target ( enter Transition Target Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġenter Transition Duration Id ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġshared Ġelement Ġanimation ĊĠĠĠĠĠĠĠ Ġshared Element Enter Transition Ġ= ĠMaterial Container Transform (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Path Motion ( Material Arc Motion ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ