/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠV ital iy ĠZ ar ub in Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . key gen qt . viewer . android . utils Ċ Ċ import Ġandroid . net . Uri Ċ import Ġcom . key gen qt . viewer . android . Build Config Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject Ċ import Ġjava . util .* Ċ Ċ object ĠApp Helper Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġstring Ġis Ġnot Ġjson ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠisValid Json ( test : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( test Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJSONObject ( test ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJSONArray ( test ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex 1 : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerate Ġdynamic Ġlink ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Dynamic Link ( path : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" https ://${ Build Config . dynamic Links Host }$ path " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerate Ġoauth Ġlink ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Oauth Link ( login : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUri . Builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscheme (" https ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthority (" github . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend Path (" login ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend Path (" oauth ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend Path (" authorize ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend QueryParameter (" login ", Ġlogin ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend QueryParameter (" state ", ĠUUID . randomUUID (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend QueryParameter (" redirect _ uri ", Ġget Dynamic Link ("/ oauth ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend QueryParameter (" allow _ signup ", Ġfalse . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend QueryParameter (" client _ id ", ĠBuild Config . GITHUB _ CLIENT _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild () ĊĠĠĠĠĠĠĠ Ġ}. toString () ĊĠĠĠ Ġ} Ċ } Ċ