package Ġcom . nice places . nice places . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ Ċ // ĠFrom Ġhttps :// stackoverflow . com / questions / 1 4 5 1 4 5 7 9 / how - to - implement - rate - it - feature - in - android - app Ċ Ċ object ĠApp R ater Ġ{ ĊĊĠĠĠ Ġconst Ġval ĠAPP _ P NAME Ġ= Ġ" com . nice places . nice places " Ġ// ĠPackage ĠName ĊĠĠĠ Ġprivate Ġconst Ġval ĠDAY S _ UNT IL _ PROMPT Ġ= Ġ 7 Ġ// Min Ġnumber Ġof Ġdays ĊĠĠĠ Ġprivate Ġconst Ġval ĠLA UNCH ES _ UNT IL _ PROMPT Ġ= Ġ 8 Ġ// Min Ġnumber Ġof Ġla unches ĊĊĊĠĠĠ Ġfun Ġneed To Trigger Rate Dialog ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprefs : ĠSharedPreferences Ġ= Ġcontext . get SharedPreferences (" app r ater ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( prefs . getBoolean (" dont show again ", Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġprefs . edit () ĊĊĠĠĠĠĠĠĠ Ġ// ĠIncrement Ġlaunch Ġcounter ĊĠĠĠĠĠĠĠ Ġval Ġlaunch Count Ġ= Ġprefs . getLong (" launch _ count ", Ġ 0 ) Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġeditor . put Long (" launch _ count ", Ġlaunch Count ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġdate Ġof Ġfirst Ġlaunch ĊĠĠĠĠĠĠĠ Ġvar Ġdate First Launch Ġ= Ġprefs . getLong (" date _ first launch ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( date First Launch Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate First Launch Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . put Long (" date _ first launch ", Ġdate First Launch ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġeditor . apply () ĊĊĠĠĠĠĠĠĠ Ġ// ĠWait Ġat Ġleast Ġn Ġdays Ġbefore Ġopening ĊĠĠĠĠĠĠĠ Ġreturn Ġlaunch Count Ġ>= ĠLA UNCH ES _ UNT IL _ PROMPT Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . currentTimeMillis () Ġ>= Ġdate First Launch Ġ+ ĠDAY S _ UNT IL _ PROMPT Ġ* Ġ 2 4 Ġ* Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 1 0 0 0 ĊĠĠĠ Ġ} Ċ Ċ }