package Ġcom . ap pt ive . link it . presentation . component Ċ Ċ import Ġandroidx . activity . compose . Back Handler Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout .* Ċ import Ġandroidx . compose . material . Icon Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . Top AppBar Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Arrow Back I os Ċ import Ġandroidx . compose . material . icons . filled . More Vert Ċ import Ġandroidx . compose . material . icons . filled . Search Ċ import Ġandroidx . compose . material . icons . filled . T une Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . text . style . Text Align Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġcom . ap pt ive . link it ._ constant . UI Constants Ċ import Ġcom . ap pt ive . link it ._ enums . Search Bar State . CLOSED Ċ import Ġcom . ap pt ive . link it ._ enums . Search Bar State . OPEN ED Ċ import Ġcom . ap pt ive . link it ._ enums . Search Type Ċ import Ġcom . ap pt ive . link it ._ enums . Sorting Option Ċ import Ġcom . ap pt ive . link it . presentation . navigation . Screen Ċ import Ġcom . ap pt ive . link it . presentation . view model . Explorer ViewModel Ċ Ċ @ Composable Ċ fun ĠApp Bar Explorer ( ĊĠĠĠ ĠviewModel : ĠExplorer ViewModel , ĊĠĠĠ Ġmodifier Ġ: ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġfolder Name : ĠString , ĊĠĠĠ Ġfolder Id : ĠLong , ĊĠĠĠ Ġnav Controller : ĠNav Controller Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġsearch Bar State Ġby Ġremember Ġ{ Ġmutable State Of ( CLOSED ) Ġ} ĊĠĠĠ Ġvar Ġsearch Type Ġby Ġremember Ġ{ Ġmutable State Of ( Search Type . URL ) Ġ} ĊĠĠĠ Ġvar Ġtext Ġby Ġremember Ġ{ Ġmutable State Of ("") Ġ} ĊĊĠĠĠ ĠBack Handler ( enabled Ġ= Ġ( search Bar State Ġ== ĠOPEN ED )) Ġ{ ĊĠĠĠĠĠĠĠ Ġsearch Bar State Ġ= ĠCLO SED ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwhen Ġ( search Bar State ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCLO SED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Bar Explorer Default ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠviewModel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfolder Name Ġ= Ġfolder Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Search Click Ġ= Ġ{ Ġsearch Bar State Ġ= ĠOPEN ED Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Click Ġ= Ġ{ Ġnav Controller . pop Back Stack () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠOPEN ED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Bar Search ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġtext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Type Ġ= Ġsearch Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Clear Clicked Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( text . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Bar State Ġ= ĠCLO SED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Text Change Ġ= Ġ{ Ġtext Ġ= Ġit Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Search Clicked Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScreen . SearchResult . route . plus ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"? search Text =${ text }& folder Id =${ folder Id }& search Type =${ search Type . text }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Search Type Change Ġ= Ġ{ Ġsearch Type Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠApp Bar Explorer Default ( ĊĠĠĠ ĠviewModel : ĠExplorer ViewModel , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġfolder Name : ĠString , ĊĠĠĠ Ġon Search Click : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Back Click : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġvar ĠsortBy Ġby ĠviewModel . sortBy ĊĊĠĠĠ ĠApp Bar Sorting ( ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFolder Name And Back Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfolder Name Ġ= Ġfolder Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Click Ġ= Ġon Back Click ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ ĠsortBy Ġ= ĠsortBy , ĊĠĠĠĠĠĠĠ Ġon Search Click Ġ= Ġon Search Click , ĊĠĠĠĠĠĠĠ Ġon Sort Change Ġ= Ġ{ ĠsortBy Ġ= Ġit Ġ} ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠFolder Name And Back Button ( ĊĠĠĠ Ġfolder Name : ĠString , ĊĠĠĠ Ġon Back Click : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġ 1 0 . dp , Ġend Ġ= Ġ 2 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able Ġ{ Ġon Back Click () Ġ}, ĊĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Filled . Arrow Back I os , ĊĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull ĊĠĠĠ Ġ) ĊĠĠĠ ĠText ( text Ġ= Ġfolder Name ) Ċ }