package Ġcom . example . p ainter Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Image Button Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġimages Bitmap Ġ= Ġarray ListOf < Bitmap >( ĊĠĠĠĠĠĠĠ ĠBitmap . create Bitmap ( 1 , Ġ 1 , ĠBitmap . Config . ARGB _ 8 8 8 8 ), ĊĠĠĠĠĠĠĠ ĠBitmap . create Bitmap ( 1 , Ġ 1 , ĠBitmap . Config . ARGB _ 8 8 8 8 ), ĊĠĠĠĠĠĠĠ ĠBitmap . create Bitmap ( 1 , Ġ 1 , ĠBitmap . Config . ARGB _ 8 8 8 8 ), ĊĠĠĠĠĠĠĠ ĠBitmap . create Bitmap ( 1 , Ġ 1 , ĠBitmap . Config . ARGB _ 8 8 8 8 ), ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment View : ĠView Ġ= ĠfindViewById ( R . id . list Fragment ) ĊĠĠĠĠĠĠĠ Ġfragment View . visibility Ġ= ĠView . IN VISIBLE ĊĊĠĠĠĠĠĠĠ Ġval Ġsurface View Ġ= ĠCustom Surface View ( application Context , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġdraw Canvas Ġ= ĠfindViewById < LinearLayout >( R . id . Custom Surface View ) ĊĠĠĠĠĠĠĠ Ġdraw Canvas . addView ( surface View ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton _ RED Ġ= ĠfindViewById < Button >( R . id . button ) ĊĠĠĠĠĠĠĠ Ġbutton _ RED . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsurface View . change Paint Color ( Color . RED ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton _ Y EL Ġ= ĠfindViewById < Button >( R . id . button 2 ) ĊĠĠĠĠĠĠĠ Ġbutton _ Y EL . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsurface View . change Paint Color ( Color . YELLOW ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton _ BL U Ġ= ĠfindViewById < Button >( R . id . button 3 ) ĊĠĠĠĠĠĠĠ Ġbutton _ BL U . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsurface View . change Paint Color ( Color . BLUE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton _ GRE Ġ= ĠfindViewById < Button >( R . id . button 4 ) ĊĠĠĠĠĠĠĠ Ġbutton _ GRE . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsurface View . change Paint Color ( Color . GREEN ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton _ CLEAR Ġ= ĠfindViewById < Image Button >( R . id . image Button ) ĊĠĠĠĠĠĠĠ Ġbutton _ CLEAR . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsurface View . clear Canvas () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton _ BACK Ġ= ĠfindViewById < Button >( R . id . back button ) ĊĠĠĠĠĠĠĠ Ġval Ġbutton _ SAVE Ġ= ĠfindViewById < Button >( R . id . button 5 ) ĊĠĠĠĠĠĠĠ Ġbutton _ SAVE . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton _ BACK . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton _ SAVE . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimages Bitmap [ counter ] Ġ= Ġ( Bitmap . create Bitmap ( surface View . m Bitmap a )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( counter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġcounter Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcounter ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( application Context , Ġ" Z apis ano Ġo braz ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Bundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Bundle . put Parcelable ArrayList ( BITMAP _ KEY , Ġimages Bitmap ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Canvas . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsurface View . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment View . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm FragmentManager Ġ= Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Fragment Ġ= ĠList Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Fragment Trans ac ition Ġ= Ġm FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Fragment . arguments Ġ= Ġm Bundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Fragment Trans ac ition . replace ( R . id . list Fragment , Ġm Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Fragment Trans ac ition . commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton _ BACK . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Canvas . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsurface View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton _ BACK . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton _ SAVE . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBIT MAP _ KEY Ġ= Ġ" BITMAP _ KEY " ĊĠĠĠĠĠĠĠ Ġvar Ġcounter Ġ= Ġ 0 ĊĠĠĠ Ġ} Ċ } ĊĊ