@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); options = setupOptions(); dataManager = setupDataManager(); sensorManager = setupSensorManager(); listView = new ListViewComponent(this, setupAdapter()); listView.addListViewListener( new ListViewComponentListener() { @Override public void onListEvent(SceneData data) { onSceneSelected((OAScene) data); } }); dataManager.addDataListener( new OADataListener() { @Override public void dataUpdate(OADataEvent event) { if (event.getScene() != null) { listView.addItem(event.getScene()); } } }); // load up scenes already in the data manager List<OAScene> initialScenes = dataManager.getSceneList(); for (OAScene scene : initialScenes) { listView.addItem(scene); } // trigger to start loading up new scenes to the data manager setupScenes(dataManager); setupUILayout(listView); }