Loading media/java/android/mtp/MtpStorage.java +12 −1 Original line number Diff line number Diff line Loading @@ -29,12 +29,15 @@ public class MtpStorage { private final String mPath; private final String mDescription; private final long mReserveSpace; private final boolean mRemovable; public MtpStorage(int id, String path, String description, long reserveSpace) { public MtpStorage(int id, String path, String description, long reserveSpace, boolean removable) { mStorageId = id; mPath = path; mDescription = description; mReserveSpace = reserveSpace; mRemovable = removable; } /** Loading Loading @@ -86,4 +89,12 @@ public class MtpStorage { return mReserveSpace; } /** * Returns true if the storage is removable. * * @return is removable */ public final boolean isRemovable() { return mRemovable; } } media/jni/android_mtp_MtpServer.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ static jfieldID field_MtpStorage_storageId; static jfieldID field_MtpStorage_path; static jfieldID field_MtpStorage_description; static jfieldID field_MtpStorage_reserveSpace; static jfieldID field_MtpStorage_removable; static Mutex sMutex; Loading Loading @@ -245,11 +246,13 @@ android_mtp_MtpServer_add_storage(JNIEnv *env, jobject thiz, jobject jstorage) jstring path = (jstring)env->GetObjectField(jstorage, field_MtpStorage_path); jstring description = (jstring)env->GetObjectField(jstorage, field_MtpStorage_description); jlong reserveSpace = env->GetLongField(jstorage, field_MtpStorage_reserveSpace); jboolean removable = env->GetBooleanField(jstorage, field_MtpStorage_removable); const char *pathStr = env->GetStringUTFChars(path, NULL); const char *descriptionStr = env->GetStringUTFChars(description, NULL); MtpStorage* storage = new MtpStorage(storageID, pathStr, descriptionStr, reserveSpace); MtpStorage* storage = new MtpStorage(storageID, pathStr, descriptionStr, reserveSpace, removable); thread->addStorage(storage); env->ReleaseStringUTFChars(path, pathStr); Loading Loading @@ -318,7 +321,12 @@ int register_android_mtp_MtpServer(JNIEnv *env) } field_MtpStorage_reserveSpace = env->GetFieldID(clazz, "mReserveSpace", "J"); if (field_MtpStorage_reserveSpace == NULL) { LOGE("Can't find MtpStorage.mStorageId"); LOGE("Can't find MtpStorage.mReserveSpace"); return -1; } field_MtpStorage_removable = env->GetFieldID(clazz, "mRemovable", "Z"); if (field_MtpStorage_removable == NULL) { LOGE("Can't find MtpStorage.mRemovable"); return -1; } clazz_MtpStorage = (jclass)env->NewGlobalRef(clazz); Loading media/mtp/MtpStorage.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -33,12 +33,13 @@ namespace android { MtpStorage::MtpStorage(MtpStorageID id, const char* filePath, const char* description, uint64_t reserveSpace) const char* description, uint64_t reserveSpace, bool removable) : mStorageID(id), mFilePath(filePath), mDescription(description), mMaxCapacity(0), mReserveSpace(reserveSpace) mReserveSpace(reserveSpace), mRemovable(removable) { LOGV("MtpStorage id: %d path: %s\n", id, filePath); } Loading @@ -47,7 +48,7 @@ MtpStorage::~MtpStorage() { } int MtpStorage::getType() const { return MTP_STORAGE_FIXED_RAM; return (mRemovable ? MTP_STORAGE_REMOVABLE_RAM : MTP_STORAGE_FIXED_RAM); } int MtpStorage::getFileSystemType() const { Loading media/mtp/MtpStorage.h +4 −1 Original line number Diff line number Diff line Loading @@ -33,10 +33,12 @@ private: uint64_t mMaxCapacity; // amount of free space to leave unallocated uint64_t mReserveSpace; bool mRemovable; public: MtpStorage(MtpStorageID id, const char* filePath, const char* description, uint64_t reserveSpace); const char* description, uint64_t reserveSpace, bool removable); virtual ~MtpStorage(); inline MtpStorageID getStorageID() const { return mStorageID; } Loading @@ -47,6 +49,7 @@ public: uint64_t getFreeSpace(); const char* getDescription() const; inline const char* getPath() const { return (const char *)mFilePath; } inline bool isRemovable() const { return mRemovable; } }; }; // namespace android Loading Loading
media/java/android/mtp/MtpStorage.java +12 −1 Original line number Diff line number Diff line Loading @@ -29,12 +29,15 @@ public class MtpStorage { private final String mPath; private final String mDescription; private final long mReserveSpace; private final boolean mRemovable; public MtpStorage(int id, String path, String description, long reserveSpace) { public MtpStorage(int id, String path, String description, long reserveSpace, boolean removable) { mStorageId = id; mPath = path; mDescription = description; mReserveSpace = reserveSpace; mRemovable = removable; } /** Loading Loading @@ -86,4 +89,12 @@ public class MtpStorage { return mReserveSpace; } /** * Returns true if the storage is removable. * * @return is removable */ public final boolean isRemovable() { return mRemovable; } }
media/jni/android_mtp_MtpServer.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ static jfieldID field_MtpStorage_storageId; static jfieldID field_MtpStorage_path; static jfieldID field_MtpStorage_description; static jfieldID field_MtpStorage_reserveSpace; static jfieldID field_MtpStorage_removable; static Mutex sMutex; Loading Loading @@ -245,11 +246,13 @@ android_mtp_MtpServer_add_storage(JNIEnv *env, jobject thiz, jobject jstorage) jstring path = (jstring)env->GetObjectField(jstorage, field_MtpStorage_path); jstring description = (jstring)env->GetObjectField(jstorage, field_MtpStorage_description); jlong reserveSpace = env->GetLongField(jstorage, field_MtpStorage_reserveSpace); jboolean removable = env->GetBooleanField(jstorage, field_MtpStorage_removable); const char *pathStr = env->GetStringUTFChars(path, NULL); const char *descriptionStr = env->GetStringUTFChars(description, NULL); MtpStorage* storage = new MtpStorage(storageID, pathStr, descriptionStr, reserveSpace); MtpStorage* storage = new MtpStorage(storageID, pathStr, descriptionStr, reserveSpace, removable); thread->addStorage(storage); env->ReleaseStringUTFChars(path, pathStr); Loading Loading @@ -318,7 +321,12 @@ int register_android_mtp_MtpServer(JNIEnv *env) } field_MtpStorage_reserveSpace = env->GetFieldID(clazz, "mReserveSpace", "J"); if (field_MtpStorage_reserveSpace == NULL) { LOGE("Can't find MtpStorage.mStorageId"); LOGE("Can't find MtpStorage.mReserveSpace"); return -1; } field_MtpStorage_removable = env->GetFieldID(clazz, "mRemovable", "Z"); if (field_MtpStorage_removable == NULL) { LOGE("Can't find MtpStorage.mRemovable"); return -1; } clazz_MtpStorage = (jclass)env->NewGlobalRef(clazz); Loading
media/mtp/MtpStorage.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -33,12 +33,13 @@ namespace android { MtpStorage::MtpStorage(MtpStorageID id, const char* filePath, const char* description, uint64_t reserveSpace) const char* description, uint64_t reserveSpace, bool removable) : mStorageID(id), mFilePath(filePath), mDescription(description), mMaxCapacity(0), mReserveSpace(reserveSpace) mReserveSpace(reserveSpace), mRemovable(removable) { LOGV("MtpStorage id: %d path: %s\n", id, filePath); } Loading @@ -47,7 +48,7 @@ MtpStorage::~MtpStorage() { } int MtpStorage::getType() const { return MTP_STORAGE_FIXED_RAM; return (mRemovable ? MTP_STORAGE_REMOVABLE_RAM : MTP_STORAGE_FIXED_RAM); } int MtpStorage::getFileSystemType() const { Loading
media/mtp/MtpStorage.h +4 −1 Original line number Diff line number Diff line Loading @@ -33,10 +33,12 @@ private: uint64_t mMaxCapacity; // amount of free space to leave unallocated uint64_t mReserveSpace; bool mRemovable; public: MtpStorage(MtpStorageID id, const char* filePath, const char* description, uint64_t reserveSpace); const char* description, uint64_t reserveSpace, bool removable); virtual ~MtpStorage(); inline MtpStorageID getStorageID() const { return mStorageID; } Loading @@ -47,6 +49,7 @@ public: uint64_t getFreeSpace(); const char* getDescription() const; inline const char* getPath() const { return (const char *)mFilePath; } inline bool isRemovable() const { return mRemovable; } }; }; // namespace android Loading