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

Side by Side Diff: services/prediction/prediction_service_impl.cc

Issue 1247903003: Add spellcheck and word suggestion to the prediction service (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/application/application_runner_chromium.h" 5 #include "mojo/application/application_runner_chromium.h"
6 #include "mojo/public/c/system/main.h" 6 #include "mojo/public/c/system/main.h"
7 #include "mojo/public/cpp/application/application_connection.h" 7 #include "mojo/public/cpp/application/application_connection.h"
8 #include "mojo/public/cpp/application/application_delegate.h" 8 #include "mojo/public/cpp/application/application_delegate.h"
9 #include "mojo/public/cpp/bindings/strong_binding.h" 9 #include "mojo/public/cpp/bindings/strong_binding.h"
10 #include "services/prediction/dictionary_service.h"
10 #include "services/prediction/prediction_service_impl.h" 11 #include "services/prediction/prediction_service_impl.h"
12 #include "services/prediction/touch_position_correction.h"
11 13
12 namespace prediction { 14 namespace prediction {
13 15
14 PredictionServiceImpl::PredictionServiceImpl( 16 PredictionServiceImpl::PredictionServiceImpl(
15 mojo::InterfaceRequest<PredictionService> request) 17 mojo::InterfaceRequest<PredictionService> request)
16 : strong_binding_(this, request.Pass()) { 18 : strong_binding_(this, request.Pass()) {
19 touch_position_correction = new TouchPositionCorrection();
20
21 // Hardcoded qwerty keyboard proximity settings, parameters are:
22 // locale, grid_width, grid_height, min_width, height, most_common_key_width,
23 // most_common_key_height, sorted_keys, touch_position_correction
24 proximity_settings = new ProximityInfoService("en", 32, 16, 348, 174, 29, 58,
25 touch_position_correction);
26
27 dictionary_service = new DictionaryService();
17 } 28 }
18 29
19 PredictionServiceImpl::~PredictionServiceImpl() { 30 PredictionServiceImpl::~PredictionServiceImpl() {
31 delete dictionary_service;
32 delete touch_position_correction;
33 delete proximity_settings;
20 } 34 }
21 35
22 // PredictionService implementation 36 // PredictionService implementation
23 void PredictionServiceImpl::SetSettings(SettingsPtr settings) {
24 stored_settings_.correction_enabled = settings->correction_enabled;
25 stored_settings_.block_potentially_offensive =
26 settings->block_potentially_offensive;
27 stored_settings_.space_aware_gesture_enabled =
28 settings->space_aware_gesture_enabled;
29 }
30
31 // only predict "cat" no matter what prediction_info
32 // has for now
33 void PredictionServiceImpl::GetPredictionList( 37 void PredictionServiceImpl::GetPredictionList(
34 PredictionInfoPtr prediction_info, 38 PredictionInfoPtr prediction_info,
35 const GetPredictionListCallback& callback) { 39 const GetPredictionListCallback& callback) {
36 mojo::String cat = "cat"; 40 mojo::Array<mojo::String> prediction_list =
37 mojo::Array<mojo::String> prediction_list; 41 dictionary_service->GetDictionarySuggestion(prediction_info.Pass(),
38 prediction_list.push_back(cat); 42 proximity_settings);
39 callback.Run(prediction_list.Pass()); 43 callback.Run(prediction_list.Pass());
40 } 44 }
41 45
42 PredictionServiceDelegate::PredictionServiceDelegate() { 46 PredictionServiceDelegate::PredictionServiceDelegate() {
43 } 47 }
44 48
45 PredictionServiceDelegate::~PredictionServiceDelegate() { 49 PredictionServiceDelegate::~PredictionServiceDelegate() {
46 } 50 }
47 51
48 // mojo::ApplicationDelegate implementation 52 // mojo::ApplicationDelegate implementation
(...skipping 10 matching lines...) Expand all
59 new PredictionServiceImpl(request.Pass()); 63 new PredictionServiceImpl(request.Pass());
60 } 64 }
61 65
62 } // namespace prediction 66 } // namespace prediction
63 67
64 MojoResult MojoMain(MojoHandle application_request) { 68 MojoResult MojoMain(MojoHandle application_request) {
65 mojo::ApplicationRunnerChromium runner( 69 mojo::ApplicationRunnerChromium runner(
66 new prediction::PredictionServiceDelegate()); 70 new prediction::PredictionServiceDelegate());
67 return runner.Run(application_request); 71 return runner.Run(application_request);
68 } 72 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698