/* Ċ Copyright Ġ 2 0 2 0 - 2 0 2 1 Ġli in ah am ari Ċ Ċ Permission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ Ċ ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġ Ċ publish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġ Ċ subject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ċ The Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ċ THE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF Ġ Ċ MER CHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR Ġ Ċ ANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE Ġ Ċ SOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ */ Ċ Ċ package Ġdev . li in ah am ari . follow er . screens . tracking _ control Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġdev . li in ah am ari . follow er . R Ċ import Ġdev . li in ah am ari . follow er . ext . write Boolean Of Ċ Ċ class ĠRate My App Dialog ( private Ġval Ġshared Preferences : ĠSharedPreferences ) Ġ: ĠDialog Fragment () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ= ĠAlertDialog . Builder ( require Context ()) ĊĠĠĠĠĠĠĠ Ġ. setIcon ( R . drawable . ic _ baseline _ star _ rate _ 2 4 ) ĊĠĠĠĠĠĠĠ Ġ. set Neutral Button ( R . string . title _ dont _ ask _ aga ing ) Ġ{ Ġ_, Ġ_ Ġ-> Ġshared Preferences . write Boolean Of ( getString ( R . string . pref _ never _ show _ rate _ app ), Ġtrue ) Ġ} ĊĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . title _ rate _ our _ app ) ĊĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . yes ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp PackageName : ĠString Ġ= Ġrequire Activity (). packageName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse (" market :// details ? id =$ app PackageName "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( an fe : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse (" https :// play . google . com / store / apps / details ? id =$ app PackageName "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . no , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ. create () Ċ }