+ protected void onResume() {\r
+ AndroidLogWrapper.d(OpenRocketLoaderActivity.class, "onResume");\r
+ super.onResume();\r
+ // Start loading a file if we have a file and are not already loading one.\r
+ if ( fileToLoad != null && !isLoading ) {\r
+ loadOrkFile();\r
+ }\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)\r
+ */\r
+ @Override\r
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+ AndroidLogWrapper.d(OpenRocketLoaderActivity.class, "onActivityResult");\r
+ switch ( requestCode ) {\r
+ case PICK_ORK_FILE_RESULT:\r
+ if(resultCode==RESULT_OK){\r
+ Uri file = data.getData();\r
+ fileToLoad = file;\r
+ // It would be nice to just start loading the file - but that doesn't work correctly.\r
+ // I'm uncertain if it is a bug in Android 14/15 or a bug in the v4 support library.\r
+ // essentially what happens is, when the FileBrowserActivity is brought up,\r
+ // this activity goes through the saveInstanceState calls to push it to the background.\r
+ // When the FileBrowserActivity returns the result, this.onActivityResult is called\r
+ // prior to any of the other lifecycle methods (onRestoreInstanceState as documented, but onStart is\r
+ // a bug. Since onStart hasn't been called, this activity is not able to create fragments - which \r
+ // are used to indicate progress etc.\r
+ // Instead of calling loadOrkFile() here, we push the file Uri into a member variable,\r
+ // then check the member variable in onResume to actuall kick off the work.\r