package Ġcom . sound ai . az ero . azer om obile . ui . activity Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . core . view . View Compat Ċ import Ġcom . az ero . sdk . A zero Manager Ċ import Ġcom . az ero . sdk . util . log Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Rounded C orners Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . sound ai . az ero . azer om obile . G lide App Ċ import Ġcom . sound ai . az ero . azer om obile . R Ċ import Ġcom . sound ai . az ero . azer om obile . ui . Re cycle Adapter Ċ import Ġcom . sound ai . az ero . azer om obile . ui . activity . launcher . item .* Ċ import Ġcom . sound ai . az ero . azer om obile . ui . activity . player info . News Details Activity Ċ import Ġcom . sound ai . az ero . azer om obile . ui . activity . player info . Playing Details Activity Ċ import Ġcom . sound ai . az ero . azer om obile . utils . Number Util Ċ import Ġcom . sound ai . az ero . azer om obile . utils . Utils Ċ Ċ /** Ċ Ġ* ĠCreate Ġby Ġx ing w Ġon Ġ 2 0 1 9 / 1 0 / 2 6 Ċ Ġ*/ Ċ class ĠMusic ViewHolder ( item View : ĠView ) Ġ: ĠRe cycle Adapter . ViewHolder < Music Grid Item >( item View ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġserial : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ serial ) ĊĠĠĠ Ġprivate Ġval Ġtitle : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ song ) ĊĠĠĠ Ġprivate Ġval Ġs inger Name : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ sing er ) ĊĠĠĠ Ġprivate Ġval Ġbackground : ĠConstraint Layout Ġ= ĠitemView . findViewById ( R . id . cl _ bg ) ĊĠĠĠ Ġprivate Ġval Ġicon : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ icon ) ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun Ġon Bind ( ĊĠĠĠĠĠĠĠ Ġi Grid Item : ĠMusic Grid Item , ĊĠĠĠĠĠĠĠ Ġactivity : ĠActivity ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġserial . text Ġ= Ġi Grid Item . serial . toString () ĊĠĠĠĠĠĠĠ Ġtitle . text Ġ= Ġi Grid Item . title ĊĠĠĠĠĠĠĠ Ġs inger Name . text Ġ= Ġif Ġ( i Grid Item . Album Name . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ i Grid Item . sing er }-${ i Grid Item . Album Name }" ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Grid Item . sing er ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠ ĠG lide App . with ( icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Bitmap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( i Grid Item . icon Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( icon ) ĊĊĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlay ing Details Activity . start ( activity , Ġi Grid Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . e (" Music ViewHolder Ġclick Ġ ç¬¬ ${ Number Util . int To Chinese ( adapter Position Ġ+ 1 )} ä¸ª ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA zero Manager . getInstance (). send Query Text (" æĴŃæĶ¾ ç¬¬ ${ Number Util . int To Chinese ( adapter Position Ġ+ 1 )} ä¸ª ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠEnglish ViewHolder ( item View : ĠView ) Ġ: ĠRe cycle Adapter . ViewHolder < English Grid Item >( item View ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġserial : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ serial ) ĊĠĠĠ Ġprivate Ġval Ġtitle : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ title ) ĊĠĠĠ Ġprivate Ġval Ġprovider Name : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ provider ) ĊĠĠĠ Ġprivate Ġval Ġbackground : ĠConstraint Layout Ġ= ĠitemView . findViewById ( R . id . cl _ bg ) ĊĠĠĠ Ġprivate Ġval Ġimg : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ img ) ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun Ġon Bind ( ĊĠĠĠĠĠĠĠ Ġi Grid Item : ĠEnglish Grid Item , ĊĠĠĠĠĠĠĠ Ġactivity : ĠActivity ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġserial . text Ġ= Ġi Grid Item . serial . toString () ĊĠĠĠĠĠĠĠ Ġtitle . text Ġ= Ġi Grid Item . title ĊĠĠĠĠĠĠĠ Ġprovider Name . text Ġ= Ġi Grid Item . provider ĊĊĠĠĠĠĠĠĠ ĠG lide App . with ( img ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Bitmap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( i Grid Item . img Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions . bitmap Transform ( Rounded C orners ( Utils . dp 2 px ( 6 f ). toInt ()))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( img ) ĊĊĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠPlay ing Details Activity . start ( activity , Ġconvert English Grid Item 2 Music Grid Item ( i Grid Item )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . e (" English ViewHolder Ġclick Ġ ç¬¬ ${ Number Util . int To Chinese ( adapter Position Ġ+ Ġ 1 )} ä¸ª ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠA zero Manager . getInstance (). send Query Text (" æĴŃæĶ¾ ç¬¬ ${ Number Util . int To Chinese ( adapter Position + 1 )} ä¸ª ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNews ViewHolder 1 ( item View : ĠView ) Ġ: ĠRe cycle Adapter . ViewHolder < News Grid Item >( item View ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġserial : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ serial ) ĊĠĠĠ Ġprivate Ġval Ġtitle : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ song ) ĊĠĠĠ Ġprivate Ġval Ġauthor : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ author ) ĊĠĠĠ Ġprivate Ġval Ġtime : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ time ) ĊĠĠĠ Ġprivate Ġval Ġimg : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ img _ 1 ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ( ĊĠĠĠĠĠĠĠ Ġi Grid Item : ĠNews Grid Item , ĊĠĠĠĠĠĠĠ Ġactivity : ĠActivity ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġserial . text Ġ= Ġi Grid Item . serial . toString () ĊĠĠĠĠĠĠĠ Ġtitle . text Ġ= Ġi Grid Item . title ĊĠĠĠĠĠĠĠ Ġauthor . text Ġ= Ġi Grid Item . author ĊĠĠĠĠĠĠĠ Ġtime . text Ġ= Ġi Grid Item . time ĊĠĠĠĠĠĠĠ ĠG lide App . with ( item View ). load ( i Grid Item . img [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( img ) ĊĊĠĠĠĠĠĠĠ ĠView Compat . set Transition Name ( img , Ġ" Title Img :" Ġ+ Ġi Grid Item . title ) ĊĠĠĠĠĠĠĠ ĠView Compat . set Transition Name ( title , Ġ" Title :" Ġ+ Ġi Grid Item . title ) ĊĊĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠNews Details Activity . start ( activity , Ġi Grid Item , Ġimg , Ġtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . e (" News ViewHolder 1 Ġclick Ġ ç¬¬ ${ Number Util . int To Chinese ( adapter Position )} ä¸ª ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠA zero Manager . getInstance (). send Query Text (" æĴŃæĶ¾ ç¬¬ ${ Number Util . int To Chinese ( adapter Position )} ä¸ª ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNews ViewHolder 2 ( item View : ĠView ) Ġ: ĠRe cycle Adapter . ViewHolder < News Grid Item >( item View ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġserial : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ serial ) ĊĠĠĠ Ġprivate Ġval Ġtitle : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ song ) ĊĠĠĠ Ġprivate Ġval Ġauthor : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ author ) ĊĠĠĠ Ġprivate Ġval Ġtime : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ time ) ĊĠĠĠ Ġprivate Ġval Ġimg 1 : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ img _ 1 ) ĊĠĠĠ Ġprivate Ġval Ġimg 2 : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ img _ 2 ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ( ĊĠĠĠĠĠĠĠ Ġi Grid Item : ĠNews Grid Item , ĊĠĠĠĠĠĠĠ Ġactivity : ĠActivity ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġserial . text Ġ= Ġi Grid Item . serial . toString () ĊĠĠĠĠĠĠĠ Ġtitle . text Ġ= Ġi Grid Item . title ĊĠĠĠĠĠĠĠ Ġauthor . text Ġ= Ġi Grid Item . author ĊĠĠĠĠĠĠĠ Ġtime . text Ġ= Ġi Grid Item . time ĊĠĠĠĠĠĠĠ ĠG lide App . with ( item View ). load ( i Grid Item . img [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). fit Center (). override ( 4 0 0 , Ġ 3 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( img 1 ) ĊĠĠĠĠĠĠĠ ĠG lide App . with ( item View ). load ( i Grid Item . img [ 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). fit Center (). override ( 4 0 0 , Ġ 3 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( img 2 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠVideo ViewHolder ( item View : ĠView ) Ġ: ĠRe cycle Adapter . ViewHolder < Video Grid Item >( item View ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġserial : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv _ serial ) ĊĠĠĠ Ġprivate Ġval Ġimg : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ img ) ĊĠĠĠ Ġprivate Ġval Ġbackground : ĠConstraint Layout Ġ= ĠitemView . findViewById ( R . id . cl _ bg ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ( ĊĠĠĠĠĠĠĠ Ġi Grid Item : ĠVideo Grid Item , ĊĠĠĠĠĠĠĠ Ġactivity : ĠActivity ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġserial . text Ġ= Ġi Grid Item . serial . toString () ĊĠĠĠĠĠĠĠ ĠG lide App . with ( item View ). load ( i Grid Item . img ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). fit Center (). override ( 4 0 0 , Ġ 3 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( img ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( i Grid Item . focus ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground . background Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . resources . get Drawable ( R . drawable . ripple _ touch _ recycle item _ focus , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserial . setText Appearance ( R . style . Badge _ Selected ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserial . setText Appearance ( activity , ĠR . style . Badge _ Selected ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserial . background Ġ= Ġactivity . resources . get Drawable ( R . color . color Accent , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground . background Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . resources . get Drawable ( R . drawable . ripple _ touch _ recycle item , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserial . setText Appearance ( R . style . Badge _ Un Selected ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserial . setText Appearance ( activity , ĠR . style . Badge _ Un Selected ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserial . background Ġ= Ġactivity . resources . get Drawable ( R . color . color Primary , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }