/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠF rol lo Ċ Ġ* Ċ Ġ* Ġ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 Ġus . f rol lo . f rol lo sdk Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġandroidx . local broadcast manager . content . Local Broadcast Manager Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġcom . jak ew h art on . th reet en ab p . Android Three Ten Ċ import Ġokhttp 3 . mock webserver . Mock WebServer Ċ import Ġorg . junit . Rule Ċ import Ġus . f rol lo . f rol lo sdk . address . Address Management Ċ import Ġus . f rol lo . f rol lo sdk . aggregation . Aggregation Ċ import Ġus . f rol lo . f rol lo sdk . authentication . OAuth 2 Authentication Ċ import Ġus . f rol lo . f rol lo sdk . authentication . OAuth 2 Helper Ċ import Ġus . f rol lo . f rol lo sdk . b ills . B ills Ċ import Ġus . f rol lo . f rol lo sdk . budget s . Budget s Ċ import Ġus . f rol lo . f rol lo sdk . cards . Cards Ċ import Ġus . f rol lo . f rol lo sdk . contacts . Contacts Ċ import Ġus . f rol lo . f rol lo sdk . core . App Info Ċ import Ġus . f rol lo . f rol lo sdk . core . DeviceInfo Ċ import Ġus . f rol lo . f rol lo sdk . core . test SDK Config Ċ import Ġus . f rol lo . f rol lo sdk . database . SDK Database Ċ import Ġus . f rol lo . f rol lo sdk . events . Events Ċ import Ġus . f rol lo . f rol lo sdk . goals . Go als Ċ import Ġus . f rol lo . f rol lo sdk . images . Images Ċ import Ġus . f rol lo . f rol lo sdk . keystore . Ke yst ore Ċ import Ġus . f rol lo . f rol lo sdk . ky c . KY C Ċ import Ġus . f rol lo . f rol lo sdk . managed products . Managed Products Ċ import Ġus . f rol lo . f rol lo sdk . messages . Messages Ċ import Ġus . f rol lo . f rol lo sdk . network . Network Service Ċ import Ġus . f rol lo . f rol lo sdk . network . api . Token API Ċ import Ġus . f rol lo . f rol lo sdk . notifications . Notifications Ċ import Ġus . f rol lo . f rol lo sdk . pay days . Pay days Ċ import Ġus . f rol lo . f rol lo sdk . payments . Payments Ċ import Ġus . f rol lo . f rol lo sdk . preferences . Preferences Ċ import Ġus . f rol lo . f rol lo sdk . reports . Reports Ċ import Ġus . f rol lo . f rol lo sdk . servic est atus . Service Status Management Ċ import Ġus . f rol lo . f rol lo sdk . statements . Statements Ċ import Ġus . f rol lo . f rol lo sdk . sur veys . Sur veys Ċ import Ġus . f rol lo . f rol lo sdk . user . User Management Ċ Ċ abstract Ġclass ĠBase Android Test Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTOKEN _ URL Ġ= Ġ" token /" ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠRE VOKE _ TOKEN _ URL Ġ= Ġ" revoke /" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġtest Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġval Ġapp Ġ= ĠInstrument ation Registry . get Instrumentation (). target Context . application Context Ġas ĠApplication ĊĊĠĠĠ Ġlateinit Ġvar Ġmock Server : ĠMock WebServer ĊĠĠĠ Ġlateinit Ġvar Ġmock Token Server : ĠMock WebServer ĊĠĠĠ Ġlateinit Ġvar Ġmock Re voke Token Server : ĠMock WebServer ĊĠĠĠ Ġlateinit Ġvar Ġnetwork : ĠNetwork Service ĊĠĠĠ Ġlateinit Ġvar Ġpreferences : ĠPreferences ĊĠĠĠ Ġlateinit Ġvar Ġkeystore : ĠKe yst ore ĊĠĠĠ Ġlateinit Ġvar Ġdatabase : ĠSDK Database ĊĠĠĠ Ġlateinit Ġvar Ġo Auth 2 Authentication : ĠOAuth 2 Authentication ĊĠĠĠ Ġlateinit Ġvar Ġaggregation : ĠAg gregation ĊĠĠĠ Ġlateinit Ġvar Ġuser Management : ĠUser Management ĊĠĠĠ Ġlateinit Ġvar Ġb ills : ĠB ills ĊĠĠĠ Ġlateinit Ġvar Ġevents : ĠEvents ĊĠĠĠ Ġlateinit Ġvar Ġmessages : ĠMessages ĊĠĠĠ Ġlateinit Ġvar Ġnotifications : ĠNotifications ĊĠĠĠ Ġlateinit Ġvar Ġreports : ĠReports ĊĠĠĠ Ġlateinit Ġvar Ġsur veys : ĠSur veys ĊĠĠĠ Ġlateinit Ġvar Ġgoals : ĠGo als ĊĠĠĠ Ġlateinit Ġvar Ġbudget s : ĠBudget s ĊĠĠĠ Ġlateinit Ġvar Ġimages : ĠImages ĊĠĠĠ Ġlateinit Ġvar Ġpayments : ĠPay ments ĊĠĠĠ Ġlateinit Ġvar Ġcontacts : ĠContact s ĊĠĠĠ Ġlateinit Ġvar Ġk yc : ĠK Y C ĊĠĠĠ Ġlateinit Ġvar Ġmanaged Products : ĠManaged Products ĊĠĠĠ Ġlateinit Ġvar Ġcards : ĠC ards ĊĠĠĠ Ġlateinit Ġvar Ġpay days : ĠPay days ĊĠĠĠ Ġlateinit Ġvar Ġaddress Management : ĠAddress Management ĊĠĠĠ Ġlateinit Ġvar Ġstatements : ĠState ments ĊĠĠĠ Ġlateinit Ġvar Ġservice Status Management : ĠService Status Management ĊĠĠĠ Ġlateinit Ġvar Ġapp Info : ĠApp Info ĊĊĠĠĠ Ġval Ġscopes Ġ= ĠlistOf (" offline _ access ", Ġ" openid ", Ġ" email ") ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġinit Setup () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock Server Ġ= ĠMock WebServer () ĊĠĠĠĠĠĠĠ Ġmock Server . start () ĊĠĠĠĠĠĠĠ Ġval ĠbaseUrl Ġ= Ġmock Server . url ("/") ĊĊĠĠĠĠĠĠĠ Ġmock Token Server Ġ= ĠMock WebServer () ĊĠĠĠĠĠĠĠ Ġmock Token Server . start () ĊĠĠĠĠĠĠĠ Ġval Ġbase Token Url Ġ= Ġmock Token Server . url ("/ $ TOKEN _ URL ") ĊĊĠĠĠĠĠĠĠ Ġmock Re voke Token Server Ġ= ĠMock WebServer () ĊĠĠĠĠĠĠĠ Ġmock Re voke Token Server . start () ĊĠĠĠĠĠĠĠ Ġval Ġbase Re voke Token Url Ġ= Ġmock Re voke Token Server . url ("/ $ RE VOKE _ TOKEN _ URL ") ĊĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġtest SDK Config ( server Url Ġ= ĠbaseUrl . toString (), Ġtoken Url Ġ= Ġbase Token Url . toString (), Ġre voke Token URL Ġ= Ġbase Re voke Token Url . toString ()) ĊĠĠĠĠĠĠĠ Ġif Ġ(! F rol lo SDK . is Setup ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF rol lo SDK . context Ġ= Ġapp ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF rol lo SDK . setup ( config ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġapp Info Ġ= ĠApp Info ( app ) ĊĠĠĠĠĠĠĠ Ġkeystore Ġ= ĠKe yst ore () ĊĠĠĠĠĠĠĠ Ġkeystore . setup () ĊĠĠĠĠĠĠĠ Ġpreferences Ġ= ĠPreferences ( app ) ĊĠĠĠĠĠĠĠ Ġdatabase Ġ= ĠSDK Database . getInstance ( app ) ĊĠĠĠĠĠĠĠ Ġval Ġo Auth Ġ= ĠOAuth 2 Helper ( config Ġ= Ġconfig ) ĊĠĠĠĠĠĠĠ Ġnetwork Ġ= ĠNetwork Service ( o Auth 2 Helper Ġ= Ġo Auth , Ġkeystore Ġ= Ġkeystore , Ġpref Ġ= Ġpreferences , Ġapp Info Ġ= Ġapp Info ) ĊĊĠĠĠĠĠĠĠ Ġo Auth 2 Authentication Ġ= ĠOAuth 2 Authentication ( o Auth , Ġpreferences ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoken API Ġ= Ġnetwork . create Auth ( Token API :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre voke Token API Ġ= Ġnetwork . create Re voke ( Token API :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauth Token Ġ= Ġnetwork . auth Token ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnetwork . accessToken Provider Ġ= Ġo Auth 2 Authentication ĊĠĠĠĠĠĠĠ Ġnetwork . authentication Callback Ġ= Ġo Auth 2 Authentication ĊĊĠĠĠĠĠĠĠ Ġuser Management Ġ= ĠUser Management ( DeviceInfo ( app ), Ġnetwork , Ġconfig . clientId , Ġdatabase , Ġpreferences ) ĊĠĠĠĠĠĠĠ Ġaggregation Ġ= ĠAg gregation ( network , Ġdatabase , ĠLocal Broadcast Manager . getInstance ( app )) ĊĠĠĠĠĠĠĠ Ġb ills Ġ= ĠB ills ( network , Ġdatabase , Ġaggregation ) ĊĠĠĠĠĠĠĠ Ġevents Ġ= ĠEvents ( network ) ĊĠĠĠĠĠĠĠ Ġmessages Ġ= ĠMessages ( network , Ġdatabase ) ĊĠĠĠĠĠĠĠ Ġnotifications Ġ= ĠNotifications ( user Management , Ġevents , Ġmessages ) ĊĠĠĠĠĠĠĠ Ġreports Ġ= ĠReports ( network , Ġdatabase , Ġaggregation ) ĊĠĠĠĠĠĠĠ Ġsur veys Ġ= ĠSur veys ( network ) ĊĠĠĠĠĠĠĠ Ġgoals Ġ= ĠGo als ( network , Ġdatabase ) ĊĠĠĠĠĠĠĠ Ġbudget s Ġ= ĠBudget s ( network , Ġdatabase ) ĊĠĠĠĠĠĠĠ Ġimages Ġ= ĠImages ( network , Ġdatabase ) ĊĠĠĠĠĠĠĠ Ġpayments Ġ= ĠPay ments ( network ) ĊĠĠĠĠĠĠĠ Ġcontacts Ġ= ĠContact s ( network , Ġdatabase ) ĊĠĠĠĠĠĠĠ Ġk yc Ġ= ĠK Y C ( network ) ĊĠĠĠĠĠĠĠ Ġmanaged Products Ġ= ĠManaged Products ( network ) ĊĠĠĠĠĠĠĠ Ġcards Ġ= ĠC ards ( network , Ġdatabase ) ĊĠĠĠĠĠĠĠ Ġpay days Ġ= ĠPay days ( network , Ġdatabase ) ĊĠĠĠĠĠĠĠ Ġaddress Management Ġ= ĠAddress Management ( network , Ġdatabase ) ĊĠĠĠĠĠĠĠ Ġstatements Ġ= ĠState ments ( network ) ĊĠĠĠĠĠĠĠ Ġservice Status Management Ġ= ĠService Status Management ( network , Ġdatabase ) ĊĊĠĠĠĠĠĠĠ ĠAndroid Three Ten . init ( app ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock Server . shutdown () ĊĠĠĠĠĠĠĠ Ġmock Token Server . shutdown () ĊĠĠĠĠĠĠĠ Ġmock Re voke Token Server . shutdown () ĊĠĠĠĠĠĠĠ Ġnetwork . reset () ĊĠĠĠĠĠĠĠ Ġo Auth 2 Authentication . reset () ĊĠĠĠĠĠĠĠ Ġpreferences . reset All () ĊĠĠĠĠĠĠĠ Ġdatabase . clear All Tables () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear LoggedIn Preferences () Ġ{ ĊĠĠĠĠĠĠĠ Ġpreferences . reset LoggedIn () ĊĠĠĠĠĠĠĠ Ġpreferences . reset Encrypted AccessToken () ĊĠĠĠĠĠĠĠ Ġpreferences . reset Encrypted RefreshToken () ĊĠĠĠĠĠĠĠ Ġpreferences . reset AccessToken Expiry () ĊĠĠĠ Ġ} Ċ } Ċ