Clarify AssetManager usage
PiperOrigin-RevId: 487935478
This commit is contained in:
		
							parent
							
								
									c7030ac7fa
								
							
						
					
					
						commit
						8ec83d2aa0
					
				| 
						 | 
					@ -32,17 +32,23 @@ namespace mediapipe {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Thin wrapper over AAssetManager provided by JNI. This class is meant to be
 | 
					// Thin wrapper over AAssetManager provided by JNI. This class is meant to be
 | 
				
			||||||
// used as a singleton.
 | 
					// used as a singleton.
 | 
				
			||||||
// Usage: Call InitializeFromActivity from a JNI function that has access to the
 | 
					//
 | 
				
			||||||
// Java activity in the Android application. This initializes the asset manager
 | 
					// Usage: Call one of Initialize* functions from a JNI function that has access
 | 
				
			||||||
// and now files bundled in the assets folder can be read using ReadFile().
 | 
					// to a context/activity/etc. This initializes the asset manager and now files
 | 
				
			||||||
 | 
					// bundled in the assets folder can be read using ReadFile().
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// NOTE: initialization should happen strictly once and guaranteed to complete
 | 
				
			||||||
 | 
					// before any possible use, otherwise it cannot be used safely across multiple
 | 
				
			||||||
 | 
					// threads.
 | 
				
			||||||
class AssetManager {
 | 
					class AssetManager {
 | 
				
			||||||
 public:
 | 
					 public:
 | 
				
			||||||
  AssetManager(const AssetManager&) = delete;
 | 
					  AssetManager(const AssetManager&) = delete;
 | 
				
			||||||
  AssetManager& operator=(const AssetManager&) = delete;
 | 
					  AssetManager& operator=(const AssetManager&) = delete;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Returns the asset manager if it has been set by a call to
 | 
					  // Returns the asset manager if it has been set by one of Initialize*
 | 
				
			||||||
  // InitializeFromActivity, otherwise returns nullptr.
 | 
					  // functions, otherwise returns nullptr.
 | 
				
			||||||
  AAssetManager* GetAssetManager();
 | 
					  AAssetManager* GetAssetManager();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Returns true if AAssetManager was successfully initialized.
 | 
					  // Returns true if AAssetManager was successfully initialized.
 | 
				
			||||||
  bool InitializeFromAssetManager(JNIEnv* env, jobject local_asset_manager,
 | 
					  bool InitializeFromAssetManager(JNIEnv* env, jobject local_asset_manager,
 | 
				
			||||||
                                  const std::string& cache_dir_path);
 | 
					                                  const std::string& cache_dir_path);
 | 
				
			||||||
| 
						 | 
					@ -55,7 +61,7 @@ class AssetManager {
 | 
				
			||||||
                              const std::string& cache_dir_path);
 | 
					                              const std::string& cache_dir_path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Returns true if AAssetManager was successfully initialized.
 | 
					  // Returns true if AAssetManager was successfully initialized.
 | 
				
			||||||
  ABSL_DEPRECATED("Use InitializeFromActivity instead.")
 | 
					  ABSL_DEPRECATED("Use one of alternate Initialize* functions instead.")
 | 
				
			||||||
  bool InitializeFromAssetManager(JNIEnv* env, jobject local_asset_manager);
 | 
					  bool InitializeFromAssetManager(JNIEnv* env, jobject local_asset_manager);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Returns true if AAssetManager was successfully initialized.
 | 
					  // Returns true if AAssetManager was successfully initialized.
 | 
				
			||||||
| 
						 | 
					@ -79,12 +85,14 @@ class AssetManager {
 | 
				
			||||||
                              std::string* output);
 | 
					                              std::string* output);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Returns the path to the Android cache directory. Will be empty if
 | 
					  // Returns the path to the Android cache directory. Will be empty if
 | 
				
			||||||
  // InitializeFromActivity has not been called.
 | 
					  // AssetManager hasn't been initialized.
 | 
				
			||||||
  const std::string& GetCacheDirPath();
 | 
					  const std::string& GetCacheDirPath();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Caches the contents of the given asset as a file, and returns a path to
 | 
					  // Caches the contents of the given asset as a file, and returns a path to
 | 
				
			||||||
  // that file. This can be used to pass an asset to APIs that require a path
 | 
					  // that file. This can be used to pass an asset to APIs that require a path
 | 
				
			||||||
  // to a filesystem file.
 | 
					  // to a filesystem file.
 | 
				
			||||||
 | 
					  // NOTE: this is _not_ thread-safe, e.g. if two threads are requesting the
 | 
				
			||||||
 | 
					  // same file
 | 
				
			||||||
  absl::StatusOr<std::string> CachedFileFromAsset(
 | 
					  absl::StatusOr<std::string> CachedFileFromAsset(
 | 
				
			||||||
      const std::string& asset_path);
 | 
					      const std::string& asset_path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user