Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Unified Diff: services/ui/display/screen_manager_ozone_internal.cc

Issue 2760453003: Work In Progess
Patch Set: convert local_state to use pre_client_store_ Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « services/ui/display/screen_manager_ozone_internal.h ('k') | services/ui/manifest.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/ui/display/screen_manager_ozone_internal.cc
diff --git a/services/ui/display/screen_manager_ozone_internal.cc b/services/ui/display/screen_manager_ozone_internal.cc
index 947a3de34ba93619b255aa4d159e9188f4898525..a42d4a4d76495ee1f7703b459a943b8c4c296513 100644
--- a/services/ui/display/screen_manager_ozone_internal.cc
+++ b/services/ui/display/screen_manager_ozone_internal.cc
@@ -10,6 +10,7 @@
#include "base/command_line.h"
#include "base/memory/ptr_util.h"
#include "base/threading/thread_task_runner_handle.h"
+#include "chrome/common/pref_names.h"
#include "chromeos/system/devicemode.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "services/service_manager/public/cpp/interface_registry.h"
@@ -27,6 +28,15 @@
#include "ui/gfx/geometry/rect.h"
#include "ui/ozone/public/ozone_platform.h"
+#include "ui/display/manager/display_preferences.h"
+
+#include "services/service_manager/public/cpp/connector.h"
+
+#include "components/prefs/pref_store.h"
+#include "services/preferences/public/interfaces/preferences.mojom.h"
+
+#include "base/values.h"
+
namespace display {
namespace {
@@ -149,7 +159,8 @@ void ScreenManagerOzoneInternal::AddInterfaces(
registry->AddInterface<mojom::TestDisplayController>(this);
}
-void ScreenManagerOzoneInternal::Init(ScreenManagerDelegate* delegate) {
+void ScreenManagerOzoneInternal::Init(ScreenManagerDelegate* delegate,
+ service_manager::Connector* connector) {
DCHECK(delegate);
delegate_ = delegate;
@@ -192,6 +203,69 @@ void ScreenManagerOzoneInternal::Init(ScreenManagerDelegate* delegate) {
touch_transform_controller_ = base::MakeUnique<TouchTransformController>(
&display_configurator_, display_manager_.get());
+
+ // base::Value pref_kDisplayRotationLock(prefs::kDisplayRotationLock);
+ // base::Value pref_kSecondaryDisplays(prefs::kSecondaryDisplays);
+ // base::Value pref_kDisplayProperties(prefs::kDisplayProperties);
+ // base::Value pref_kDisplayPowerState(prefs::kDisplayPowerState);
+
+ // auto prefs = base::MakeUnique<base::DictionaryValue>();
+
+ // prefs->Set(prefs::kDisplayRotationLock,
+ // pref_kDisplayRotationLock.CreateDeepCopy());
+ // prefs->Set(prefs::kSecondaryDisplays,
+ // pref_kSecondaryDisplays.CreateDeepCopy());
+ // prefs->Set(prefs::kDisplayProperties,
+ // pref_kDisplayProperties.CreateDeepCopy());
+ // prefs->Set(prefs::kDisplayPowerState,
+ // pref_kDisplayPowerState.CreateDeepCopy());
+
+ connector_ = connector;
+ connector_->BindInterface(prefs::mojom::kServiceName, &pref_factory_ptr);
+ pref_client_store_ =
+ new preferences::PrefClientStore(std::move(pref_factory_ptr));
+
+ pref_client_store_->AddObserver(this);
+
+ //display::LoadDisplayPreferences(true, &display_configurator_,
+ //display_manager_.get(), pref_client_store_.get());
+
+ pref_client_store_->Subscribe(
+ {prefs::kDisplayRotationLock, prefs::kSecondaryDisplays,
+ prefs::kDisplayProperties, prefs::kDisplayProperties});
+
+ // if (pref_client_store_->IsInitializationComplete()) {
+ // LOG(ERROR) << "display::ScreenManagerOzoneInternal::Init() 6";
+ // OnInitializationCompleted(true);
+ //}
+ // OnPrefValueChanged(prefs::kDisplayRotationLock);
+ // OnPrefValueChanged(prefs::kSecondaryDisplays);
+ // OnPrefValueChanged(prefs::kDisplayProperties);
+ // OnPrefValueChanged(prefs::kDisplayPowerState);
+}
+
+void ScreenManagerOzoneInternal::OnInitializationCompleted(bool succeeded) {
+ DCHECK(!initialization_completed_);
+ DCHECK(succeeded);
+ DCHECK(pref_client_store_->IsInitializationComplete());
+ initialization_completed_ = true;
+
+ LOG(ERROR)
+ << "OnInitializationCompleted true----------------------------------";
+ pref_client_store_->SetValue(prefs::kDisplayRotationLock,
+ base::MakeUnique<base::Value>(10), 1);
+ // LOG(ERROR) << "--------
+ // pref_client_store_->GetValue(prefs::kDisplayRotationLock):" << temp;
+ // display::LoadDisplayPreferences(true, &display_configurator_,
+ // display_manager_.get(), pref_client_store_.get());
+}
+
+void ScreenManagerOzoneInternal::OnPrefValueChanged(const std::string& key) {
+ const base::Value* value = NULL;
+ DCHECK(pref_client_store_->GetValue(key, &value));
+ LOG(ERROR) << "-------- ScreenManagerOzoneInternal::OnPrefValueChanged: "
+ << value;
+ changed_prefs_.Set(key, value->DeepCopy());
}
void ScreenManagerOzoneInternal::RequestCloseDisplay(int64_t display_id) {
« no previous file with comments | « services/ui/display/screen_manager_ozone_internal.h ('k') | services/ui/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698