package Ġpap yr us . demo . ui . adapter . source Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġpap yr us . adapter . Data Item Ċ import Ġpap yr us . adapter . Empty ViewHolder Ċ import Ġpap yr us . adapter . P ap yr us ViewHolder Ċ import Ġpap yr us . adapter . differ . Differ DataSource Ċ import Ġpap yr us . alerts . Dialog Builder Ċ import Ġpap yr us . core . P ap yr us Ċ import Ġpap yr us . demo . R Ċ import Ġpap yr us . demo . module . Alpha Module Ċ import Ġpap yr us . demo . module . Button Module Ċ import Ġpap yr us . demo . module . Header Module Ċ import Ġpap yr us . demo . module . Picker Module Ċ import Ġpap yr us . demo . ui . activity . Query Activity Ċ import Ġpap yr us . demo . ui . adapter . DataTypes Ċ import Ġpap yr us . demo . ui . adapter . holder .* Ċ import Ġpap yr us . demo . ui . adapter . item . Label Item Ċ import Ġpap yr us . demo . ui . dialog . Test Dialog Ċ import Ġpap yr us . spanner . OnClick Span Ċ import Ġpap yr us . spanner . Sp anner Ċ import Ġpap yr us . util . P ap yr us Executor Ċ Ċ class ĠMain DataSource ( owner : ĠLifecycle Owner ) Ġ: ĠD iffer DataSource ( ĊĠĠĠĠĠĠĠ ĠHeader Module (), ĊĠĠĠĠĠĠĠ ĠButton Module ( 3 , Ġ" Test ĠResult ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP ap yr us . navigate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Result Ġ{ ĠresultCode , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w tf (" P AP YR US ", Ġ" Result : Ġ$ result Code ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start ( Query Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ ĠButton Module ( 5 , Ġ" Test ĠPermissions ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP ap yr us . request Permissions ( Manifest . permission . CAMERA ) Ġ{ Ġgranted , Ġdenied Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgranted ?. forEach Ġ{ ĠLog . w tf (" P AP YR US ", Ġ" Permission Ġ$ it ĠG RAN TED ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdenied ?. forEach Ġ{ ĠLog . w tf (" P AP YR US ", Ġ" Permission Ġ$ it ĠD EN IED ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ ĠButton Module ( 6 , Ġ" Alert ĠMe !") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. configuration Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" title ", Ġ" Test ĠDialog ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Parcelable (" message ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp anner () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Span (" Say ĠHello ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Span ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Span (" Red ", ĠFore ground Color Span ( Color . RED )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Span ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append Span (" click Ġme ", ĠOnClick Span Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( P ap yr us . app , Ġ" Clicked ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" positive ", Ġ" Ok ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String (" negative ", Ġ" N ah ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. view Binder ( Test Dialog :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. callback ( R . id . button _ positive ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( P ap yr us . app , Ġ" Positive ĠResponse ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. callback ( R . id . button _ negative ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( P ap yr us . app , Ġ" Negative ĠResponse ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ ĠAlpha Module ( 2 , Ġ 5 ), ĊĠĠĠĠĠĠĠ ĠP icker Module ( 9 , Ġowner ) Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġnext Ġ= Ġ 0 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġpagination Threshold Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠP ap yr us ViewHolder < out ĠData Item <* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( DataTypes . values (). get OrNull ( view Type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDataTypes . HEADER Ġ-> ĠHeader ViewHolder ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDataTypes . BUTTON Ġ-> ĠButton ViewHolder ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDataTypes . P ICK ER Ġ-> ĠP icker ViewHolder ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDataTypes . ALPHA Ġ-> ĠAlpha ViewHolder ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDataTypes . LABEL Ġ-> ĠLabel ViewHolder ( parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠEmpty ViewHolder ( parent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Default Data Item ( index : ĠInt , Ġdata : ĠAny ): ĠData Item < out ĠAny > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLabel Item ( index , Ġdata . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmake Next Request () Ġ{ ĊĠĠĠĠĠĠĠ ĠP ap yr us Executor . background ( 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpage Ġ= ĠInt Range ( 0 , Ġ 1 2 0 ). fold ( ArrayList < Int >()) Ġ{ Ġacc , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġacc . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( next ++) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ( page ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }