package Ġcom . example . my da i il yn ews Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġretrofit 2 . create Ċ import Ġjava . text . ParseException Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util . Date Ċ object ĠCommon Ġ{ ĊĠĠĠ Ġval ĠAPI _ KEY Ġ= Ġ" 7 1 a 4 6 c 4 dac 0 f 4 7 6 1 bec f 0 2 0 6 e 7 d 6 7 f 1 f " ĊĠĠĠ Ġval ĠBASE _ URL Ġ= Ġ" https :// news api . org " ĊĠĠĠ Ġ// val ĠBASE _ URL Ġ= Ġ" https :// api . breaking api . com " ĊĠĠĠ Ġval Ġnews Service : News Service ĊĠĠĠ Ġget () Ġ= ĠRet rofit Client . getClient ( BASE _ URL ). create ( News Service :: class . java )// calling Ġthe Ġthe Ġstring Ġ Ġhere Ġit Ġconcaten ates Ġthe Ġbase Ġurl Ġwith Ġthe ĊĠĠĠ Ġfun Ġget News Api ( source : String ): String { ĊĠĠĠĠĠĠĠ Ġval Ġapi Url Ġ= ĠStringBuilder (" Ġhttps :// news api . org / v 2 / top - head lines ? sources =") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( source ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("& apiKey =") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( API _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġapi Url ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġget News Api 1 ( name : String ): String { ĊĠĠĠĠĠĠĠ Ġval Ġapi Url 1 Ġ= ĠStringBuilder (" https :// news api . org / v 2 / top - head lines ? country = in & language = en & category =") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("& apiKey =") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( API _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġapi Url 1 ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġget News Api 2 ( query 1 : String ): String { ĊĠĠĠĠĠĠĠ Ġval Ġapi Url 1 Ġ= ĠStringBuilder (" https :// news api . org / v 2 / everything ? q =") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( query 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("& language = en ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("& sortBy = pop ularity ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("& apiKey =") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( API _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġapi Url 1 ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// our Ġapi Ġkey Ġand Ġstores Ġthe Ġsource Ġand Ġstatus Ġin Ġthe Ġwebsite Ġclass ĊĠĠĠ Ġ// in Short Ġwe Ġimplemented Ġthe Ġinte face Ġnews Ġservice Ġhere Ċ // ĠĠĠ Ġ@ Suppress Lint (" SimpleDateFormat ") Ċ // ĠĠĠ Ġ@ Throws ( ParseException :: class ) Ċ // ĠĠĠ Ġfun Ġparse ( input : String ): Date Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġdf Ġ= ĠSimpleDateFormat (" yyyy - MM - dd ' T ' HH : mm : ss z ") Ċ // ĠĠĠĠĠĠĠ Ġvar Ġinput 1 : ĠString ? Ġ= Ġnull Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( input 1 !!. endsWith (" Z ")) Ċ // ĠĠĠĠĠĠĠ Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġinput 1 Ġ= Ġinput . substring ( 0 , Ġinput . length Ġ- Ġ 1 ) Ġ+ Ġ" GMT - 0 0 : 0 0 " Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġelse Ċ // ĠĠĠĠĠĠĠ Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinset Ġ= Ġ 6 Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs 0 Ġ= Ġinput 1 . substring ( 0 , Ġinput 1 . length Ġ- Ġinset ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs 1 Ġ= Ġinput 1 . substring ( input 1 . length Ġ- Ġinset , Ġinput . length ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġinput 1 Ġ= Ġs 0 Ġ+ Ġ" GMT " Ġ+ Ġs 1 Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġdf . parse ( input 1 ) Ċ // ĠĠĠ Ġ} Ċ }