dbus::RequestBroker::GetInst().SendData(dbus::Command::GET, b);
std::string str = reply.GetString(dbus::kCmdDataKey);
tizen_base::Bundle serialized(str);
+ if (serialized.IsEmpty()) {
+ LOG(ERROR) << "Failed to load current theme info";
+ return nullptr;
+ }
cache_ = std::make_shared<ThemeInfo>(serialized);
tizen_base::Bundle reply =
dbus::RequestBroker::GetInst().SendData(dbus::Command::GET, b);
tizen_base::Bundle serialized(reply.GetString(dbus::kCmdDataKey));
+ if (serialized.IsEmpty()) {
+ LOG(ERROR) << "Failed to load theme info of id: " << id;
+ return nullptr;
+ }
std::shared_ptr<ThemeInfo> info =
std::make_shared<ThemeInfo>(serialized);
if (cur_theme_)
return cur_theme_;
- cur_theme_ =
- std::make_shared<loader::ThemeInfo>(db_manager_->SelectCurrent());
- if (!cur_theme_)
+ tizen_base::Bundle cur_b = db_manager_->SelectCurrent();
+ if (cur_b.IsEmpty()) {
LOG(WARNING) << "Cannot load current theme";
+ return nullptr;
+ }
+ cur_theme_ = std::make_shared<loader::ThemeInfo>(cur_b);
return cur_theme_;
}
if (default_theme_)
return default_theme_;
- default_theme_ =
- std::make_shared<loader::ThemeInfo>(db_manager_->SelectDefault());
- if (!default_theme_)
+ tizen_base::Bundle default_b = db_manager_->SelectDefault();
+ if (default_b.IsEmpty()) {
LOG(WARNING) << "Cannot load default theme";
-
+ return nullptr;
+ }
+ default_theme_ = std::make_shared<loader::ThemeInfo>(default_b);
return default_theme_;
}
}
void ThemeInfoProxy::OnThemePackageChanged(const std::string& id) {
- cur_theme_ = std::make_shared<loader::ThemeInfo>(db_manager_->Select(id));
+ tizen_base::Bundle cur_b = db_manager_->Select(id);
+ if (cur_b.IsEmpty()) {
+ LOG(ERROR) << "Failed to get changed current theme info";
+ // just keep previous cur theme info
+ return;
+ }
+ cur_theme_ = std::make_shared<loader::ThemeInfo>(cur_b);
}
} // namespace provider