summaryrefslogtreecommitdiff
path: root/libs/storage/ObbInfo.cpp
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2018-08-27 15:50:23 -0700
committerSudheer Shanka <sudheersai@google.com>2018-08-27 15:50:59 -0700
commit25469aacb8fa4f0198af945b5a9878008e16f2c4 (patch)
tree41bb78305bbd9b4dc98bb867c7c10d6669050d42 /libs/storage/ObbInfo.cpp
parentc0ea4241bb9ea8d0b9dea5147ac839884b42b55d (diff)
Remove DefaultContainerService usage in StorageManagerService.
StorageManagerService uses DefaultContainerService to obtain ObbInfo for files passed through mountObb() transaction. This change moves this logic to client side and so ObbInfo will be passed as part of mountObb() transaction. Bug: 111838160 Test: atest src/android/os/storage/cts/StorageManagerTest.java Test: atest core/tests/coretests/src/android/os/storage/StorageManagerIntegrationTest.java Test: atest services/tests/servicestests/src/com/android/server/MountServiceTests.java Change-Id: I29aee3aa54a45057df96aae289888161a3e3af71
Diffstat (limited to 'libs/storage/ObbInfo.cpp')
-rw-r--r--libs/storage/ObbInfo.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/libs/storage/ObbInfo.cpp b/libs/storage/ObbInfo.cpp
new file mode 100644
index 000000000000..1bb6b3a89b86
--- /dev/null
+++ b/libs/storage/ObbInfo.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <storage/ObbInfo.h>
+
+#include <binder/Parcel.h>
+#include <utils/String16.h>
+#include <sys/types.h>
+
+namespace android {
+
+ObbInfo::ObbInfo(const String16 fileName, const String16 packageName, int32_t version,
+ int32_t flags, size_t saltSize, const uint8_t* salt) : mFileName(fileName),
+ mPackageName(packageName), mVersion(version), mFlags(flags), mSaltSize(saltSize),
+ mSalt(salt) {}
+
+ObbInfo::~ObbInfo() {}
+
+status_t ObbInfo::readFromParcel(const Parcel*) {
+ return INVALID_OPERATION;
+}
+
+status_t ObbInfo::writeToParcel(Parcel* p) const {
+ // Parcel write code must be kept in sync with
+ // frameworks/base/core/java/android/content/res/ObbInfo.java
+ p->writeString16(mFileName);
+ p->writeString16(mPackageName);
+ p->writeInt32(mVersion);
+ p->writeInt32(mFlags);
+ p->writeByteArray(mSaltSize, mSalt);
+ return OK;
+}
+
+}; // namespace android \ No newline at end of file