package Ġcom . es cod ro . test Ċ Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġandroidx . test . uia utom ator . Ui Device Ċ import Ġorg . junit . rules . Test Rule Ċ import Ġorg . junit . runner . Description Ċ import Ġorg . junit . runners . model . Statement Ċ Ċ /** Ċ Ġ* Ġ[ Test Rule ] Ġto Ġdisable Ġthe Ġanimations Ġduring Ġthe Ġtests Ġand Ġenable Ġagain Ġafter Ġfinish ing . Ċ Ġ*/ Ċ class ĠDisable Animations Rule Ġ: ĠTest Rule Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġui Device Ġ= ĠUi Device . getInstance ( Instrumentation Registry . get Instrumentation ()) ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( base : ĠStatement ?, Ġdescription : ĠDescription ?): ĠStatement Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠStatement () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġevaluate () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisable Animations () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase ?. evaluate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Animations () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisable Animations () Ġ{ ĊĠĠĠĠĠĠĠ Ġui Device . execute Shell Command (" settings Ġput Ġglobal Ġtransition _ animation _ scale Ġ 0 ") ĊĠĠĠĠĠĠĠ Ġui Device . execute Shell Command (" settings Ġput Ġglobal Ġwindow _ animation _ scale Ġ 0 ") ĊĠĠĠĠĠĠĠ Ġui Device . execute Shell Command (" settings Ġput Ġglobal Ġanim ator _ duration _ scale Ġ 0 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġenable Animations () Ġ{ ĊĠĠĠĠĠĠĠ Ġui Device . execute Shell Command (" settings Ġput Ġglobal Ġtransition _ animation _ scale Ġ 1 ") ĊĠĠĠĠĠĠĠ Ġui Device . execute Shell Command (" settings Ġput Ġglobal Ġwindow _ animation _ scale Ġ 1 ") ĊĠĠĠĠĠĠĠ Ġui Device . execute Shell Command (" settings Ġput Ġglobal Ġanim ator _ duration _ scale Ġ 1 ") ĊĠĠĠ Ġ} Ċ } Ċ