package Ġcom . example . wik itude ar demo Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġcom . wik itude . architect . Arch itect Startup Configuration Ċ import Ġcom . wik itude . architect . Arch itect View Ċ import Ġcom . wik itude . common . camera . Camera Settings Ċ import Ġjava . io . IOException Ċ Ċ // ĠĠĠĠ ĠThis ĠActivity Ġis Ġrequired Ġto Ġuse Ġthe Ġbasic Ġfunctionality Ġfor ĠObject ĠTracking . Ċ // ĠĠĠĠ ĠIt Ġis Ġresponsible Ġfor Ġloading Ġthe ĠAR ĠExperience Ċ Ċ class ĠSimple Ar Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ// ĠĠĠĠ ĠThe ĠArchitecture View Ġis Ġthe Ġcore Ġof Ġthe ĠAR Function ality . ĠIt Ġis Ġthe Ġmain ĊĠĠĠ Ġ// ĠĠĠĠĠ Ġinterface Ġto Ġthe ĠW ik itude ĠSDK . ĠThe ĠArch itect View Ġhas Ġits Ġown Ġlifecycle Ġwhich ĊĠĠĠ Ġ// ĠĠĠĠĠĠ Ġis Ġvery Ġsimilar Ġto Ġthe ĠActivity Ġlifecycle . ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠ ĠTo Ġensure Ġthat Ġthe ĠArch itect View Ġis Ġfunction ing Ġproperly Ġthe Ġfollowing Ġmethods Ġhave Ġto Ġbe Ġcalled : ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠ Ġ- ĠonCreate ( Arch itect Startup Configuration ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠ Ġ- Ġon Post Create () ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠ Ġ- Ġon Resume () ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠ Ġ- Ġon Pause () ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠ Ġ- Ġon Destroy () ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ ĠThose Ġmethods Ġare Ġprefer ably Ġcalled Ġin Ġthe Ġcorresponding ĠActivity Ġlifecycle Ġcallbacks . ĊĊĠĠĠ Ġvar Ġarchitect View : ĠArch itect View ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠĠĠ ĠThe Ġpath Ġto Ġthe ĠAR - Experience . ĠThis Ġvariable Ġwill Ġbe Ġinitialized Ġwith Ġthe Ġpath Ġof Ġindex . html ĊĠĠĠ Ġprivate Ġvar Ġar Experience Ġ= Ġ" Inter activity _ Model / index . html " ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ ĠThe ĠArch itect Startup Configuration Ġis Ġrequired Ġto Ġcall Ġarchitect View . onCreate (). ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ ĠIt Ġcontrols Ġthe Ġstartup Ġof Ġthe ĠArch itect View Ġwhich Ġincludes Ġcamera Ġsettings , ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġthe Ġrequired Ġdevice Ġfeatures Ġto Ġrun Ġthe ĠArch itect View Ġand Ġthe ĠLicense Key Ġwhich ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġhas Ġto Ġbe Ġset Ġto Ġenable Ġan ĠAR - Experience . ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreates Ġa Ġconfig Ġwith Ġits Ġdefault Ġvalues . ĊĠĠĠĠĠĠĠ Ġval Ġarchitecture Configuration Ġ= ĠArch itect Startup Configuration () ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġw ih itude Ġlicence Ġkey . ĠTo Ġget Ġa Ġtrial Ġlicense Ġkey Ġvisit Ġhttp :// www . wik itude . com / developer / licenses . ĊĠĠĠĠĠĠĠ Ġarchitecture Configuration . license Key Ġ= ĠgetString ( R . string . wik itude _ license _ key ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġcamera Ġposition . ĠThe Ġdefault Ġcamera Ġis Ġthe Ġfirst Ġcamera Ġavailable Ġfor Ġthe Ġsystem . ĊĠĠĠĠĠĠĠ Ġarchitecture Configuration . camera Position Ġ= ĠCamera Settings . Camera Position . BACK ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġcamera Ġresolution . ĠThe Ġdefault Ġresolution Ġis Ġ 6 4 0 x 4 8 0 . ĊĠĠĠĠĠĠĠ Ġarchitecture Configuration . camera Resolution Ġ= ĠCamera Settings . Camera Resolution . HD _ 1 2 8 0 x 7 2 0 ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġcamera Ġfocus Ġmode . ĠThe Ġdefault Ġfocus Ġmode Ġis Ġcontinuous Ġfoc using . ĊĠĠĠĠĠĠĠ Ġarchitecture Configuration . camera Focus Mode Ġ= ĠCamera Settings . Camera Focus Mode . CONT IN UO US ĊĊĠĠĠĠĠĠĠ Ġ// ĠEnable / Disable Ġcamera Ġ 2 . ĠThe Ġcamera 2 Ġapi Ġis Ġdisabled Ġby Ġdefault Ġ( old Ġcamera Ġapi Ġis Ġused ). ĊĠĠĠĠĠĠĠ Ġarchitecture Configuration . is Camera 2 Enabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ// Inst antiate Ġthe ĠArch itect View Ġobject Ġwith Ġabove Ġconfigurations ĊĠĠĠĠĠĠĠ Ġarchitect View Ġ= ĠArch itect View ( this ) ĊĠĠĠĠĠĠĠ Ġarchitect View ?. onCreate ( architecture Configuration ) ĊĊĠĠĠĠĠĠĠ Ġ// Set Ġthe Ġarchitect View Ġas Ġcontent Ġto ĠSimp e Ar Activity ĊĠĠĠĠĠĠĠ ĠsetContentView ( architect View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Post Create ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Post Create ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġarchitect View ?. on Post Create () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ ĠLoads Ġthe ĠAR - Experience , Ġit Ġmay Ġbe Ġa Ġrelative Ġpath Ġfrom Ġassets , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġan Ġabsolute Ġpath Ġ( file :// ) Ġor Ġa Ġserver Ġurl . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ ĠTo Ġget Ġnotified Ġonce Ġthe ĠAR - Experience Ġis Ġfully Ġloaded , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġan ĠArch itect World Loaded Listener Ġcan Ġbe Ġregistered . ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġarchitect View ?. load ( SAMPLES _ ROOT Ġ+ Ġar Experience ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠgetString ( R . string . error _ loading _ ar _ experience ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" Exception Ġwhile Ġloading Ġar Experience Ġ$ ar Experience .", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġ// ĠMandatory ĠArch itect View Ġlifecycle Ġcall ĊĠĠĠĠĠĠĠ Ġarchitect View ?. on Resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĊĠĠĠĠĠĠĠ Ġ// ĠMandatory ĠArch itect View Ġlifecycle Ġcall ĊĠĠĠĠĠĠĠ Ġarchitect View ?. on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠ ĠDeletes Ġall Ġcached Ġfiles Ġof Ġthis Ġinstance Ġof Ġthe ĠArch itect View . ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠ ĠThis Ġguarantees Ġthat Ġinternal Ġstorage Ġfor Ġthis Ġinstance Ġof Ġthe ĠArch itect View ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠ Ġis Ġcleaned Ġand Ġapp - memory Ġdoes Ġnot Ġgrow Ġeach Ġsession . ĊĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠ ĠThis Ġshould Ġbe Ġcalled Ġbefore Ġarchitect View . on Destroy ĊĠĠĠĠĠĠĠ Ġarchitect View ?. clear Cache () ĊĊĠĠĠĠĠĠĠ Ġ// ĠMandatory ĠArch itect View Ġlifecycle Ġcall ĊĠĠĠĠĠĠĠ Ġarchitect View ?. on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠSimple Ar Activity :: class . java . simple Name ĊĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠ ĠRoot Ġdirectory Ġof Ġthe Ġsample ĠAR - Ex peri ences Ġin Ġthe Ġassets Ġdir . ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠS AMPLES _ ROOT Ġ= Ġ" samples /" ĊĠĠĠ Ġ} Ċ } Ċ