mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-24 22:21:36 -04:00
support change path to el3, el4
Signed-off-by: hupeixi <hupeixi1@huawei.com>
This commit is contained in:
+2
@@ -39,6 +39,8 @@ static napi_value InitAreaModeObject(napi_env env)
|
||||
|
||||
NAPI_CALL(env, SetEnumItem(env, object, "EL1", 0));
|
||||
NAPI_CALL(env, SetEnumItem(env, object, "EL2", 1));
|
||||
NAPI_CALL(env, SetEnumItem(env, object, "EL3", 2));
|
||||
NAPI_CALL(env, SetEnumItem(env, object, "EL4", 3));
|
||||
|
||||
return object;
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ const std::string ContextImpl::CONTEXT_DATABASE("database");
|
||||
const std::string ContextImpl::CONTEXT_TEMP("/temp");
|
||||
const std::string ContextImpl::CONTEXT_FILES("/files");
|
||||
const std::string ContextImpl::CONTEXT_HAPS("/haps");
|
||||
const std::string ContextImpl::CONTEXT_ELS[] = {"el1", "el2"};
|
||||
const std::string ContextImpl::CONTEXT_ELS[] = {"el1", "el2", "el3", "el4"};
|
||||
Global::Resource::DeviceType ContextImpl::deviceType_ = Global::Resource::DeviceType::DEVICE_NOT_SET;
|
||||
const std::string OVERLAY_STATE_CHANGED = "usual.event.OVERLAY_STATE_CHANGED";
|
||||
const int32_t TYPE_RESERVE = 1;
|
||||
@@ -219,7 +219,7 @@ std::string ContextImpl::GetPreferencesDir()
|
||||
int32_t ContextImpl::GetGroupDirWithCheck(const std::string &groupId, bool checkExist, std::string &groupDir)
|
||||
{
|
||||
if (currArea_ == CONTEXT_ELS[0]) {
|
||||
HILOG_ERROR("GroupDir currently only supports the el2 level");
|
||||
HILOG_ERROR("GroupDir currently can't supports the el1 level");
|
||||
return ERR_INVALID_VALUE;
|
||||
}
|
||||
int errCode = GetBundleManager();
|
||||
|
||||
@@ -32,7 +32,7 @@ constexpr const char *CONTEXT_TEMP("temp");
|
||||
constexpr const char *CONTEXT_FILES("files");
|
||||
constexpr const char *CONTEXT_HAPS("haps");
|
||||
constexpr const char *CONTEXT_ASSET("asset");
|
||||
constexpr const char *CONTEXT_ELS[] = {"el1", "el2"};
|
||||
constexpr const char *CONTEXT_ELS[] = {"el1", "el2", "el3", "el4"};
|
||||
constexpr int DIR_DEFAULT_PERM = 0770;
|
||||
}
|
||||
std::shared_ptr<AppExecFwk::Configuration> AbilityStageContext::GetConfiguration()
|
||||
|
||||
@@ -239,6 +239,47 @@ HWTEST_F(ContextImplTest, GetDatabaseDir_0100, TestSize.Level1)
|
||||
HILOG_INFO("%{public}s end.", __func__);
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: GetDatabaseDir_0200
|
||||
* @tc.desc: Get base directory basic test.
|
||||
* @tc.type: FUNC
|
||||
* @tc.require: issueI8G3YE
|
||||
*/
|
||||
HWTEST_F(ContextImplTest, GetDatabaseDir_0200, TestSize.Level1)
|
||||
{
|
||||
HILOG_INFO("%{public}s start.", __func__);
|
||||
auto contextImpl = std::make_shared<AbilityRuntime::ContextImpl>();
|
||||
EXPECT_NE(contextImpl, nullptr);
|
||||
|
||||
// not create by system app and parent context is nullptr
|
||||
contextImpl->SwitchArea(2);
|
||||
auto databaseDir = contextImpl->GetDatabaseDir();
|
||||
EXPECT_EQ(databaseDir, "/data/storage/el3/database");
|
||||
|
||||
// create by system app and parent context is not nullptr
|
||||
contextImpl->SetFlags(CONTEXT_CREATE_BY_SYSTEM_APP);
|
||||
auto parentContext = std::make_shared<AbilityRuntime::ContextImpl>();
|
||||
EXPECT_NE(parentContext, nullptr);
|
||||
auto applicationInfo = std::make_shared<AppExecFwk::ApplicationInfo>();
|
||||
EXPECT_NE(applicationInfo, nullptr);
|
||||
applicationInfo->bundleName = "com.test.database";
|
||||
parentContext->SetApplicationInfo(applicationInfo);
|
||||
contextImpl->SetParentContext(parentContext);
|
||||
contextImpl->SwitchArea(2);
|
||||
databaseDir = contextImpl->GetDatabaseDir();
|
||||
EXPECT_EQ(databaseDir, "/data/app/el3/0/database/com.test.database/");
|
||||
|
||||
// create by system app and hap module info of parent context is not nullptr
|
||||
AppExecFwk::HapModuleInfo hapModuleInfo;
|
||||
hapModuleInfo.moduleName = "test_moduleName";
|
||||
contextImpl->InitHapModuleInfo(hapModuleInfo);
|
||||
contextImpl->SwitchArea(2);
|
||||
databaseDir = contextImpl->GetDatabaseDir();
|
||||
EXPECT_EQ(databaseDir, "/data/app/el3/0/database/com.test.database/test_moduleName");
|
||||
|
||||
HILOG_INFO("%{public}s end.", __func__);
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: GetPreferencesDir_0100
|
||||
* @tc.desc: Get preference directory basic test.
|
||||
@@ -369,7 +410,7 @@ HWTEST_F(ContextImplTest, SwitchArea_0100, TestSize.Level1)
|
||||
|
||||
// invalid mode
|
||||
contextImpl->SwitchArea(-1);
|
||||
contextImpl->SwitchArea(2);
|
||||
contextImpl->SwitchArea(4);
|
||||
|
||||
// valid mode
|
||||
contextImpl->SwitchArea(0);
|
||||
@@ -398,6 +439,14 @@ HWTEST_F(ContextImplTest, GetAreaArea_0100, TestSize.Level1)
|
||||
mode = contextImpl->GetArea();
|
||||
EXPECT_EQ(mode, 1);
|
||||
|
||||
contextImpl->SwitchArea(2);
|
||||
mode = contextImpl->GetArea();
|
||||
EXPECT_EQ(mode, 2);
|
||||
|
||||
contextImpl->SwitchArea(3);
|
||||
mode = contextImpl->GetArea();
|
||||
EXPECT_EQ(mode, 3);
|
||||
|
||||
// invalid area_
|
||||
contextImpl->currArea_ = "invalid";
|
||||
mode = contextImpl->GetArea();
|
||||
|
||||
Reference in New Issue
Block a user