ml: prepare for loading libhandwriting.so from dlc.

(1) use flag nodevice_handwriting_dlc is passed to mlservice.

(2) libhandwriting.so is moved to model_path.

(3) GetModelPaths is moved inside handwriting.cc.

(4) Fixed all unit tests to use the default model_path on the rootfs.

BUG=chromium:1054628
TEST='All unit tests passed.'

Cq-Depend: chromium:2331385,chromium:2332072
Change-Id: I35afa96d221cafa8951528365dd53424602833d8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2325512
Reviewed-by: Charles . <charleszhao@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Andrew Moylan <amoylan@chromium.org>
Tested-by: Charles . <charleszhao@chromium.org>
Commit-Queue: Charles . <charleszhao@chromium.org>
diff --git a/ml/machine_learning_service_impl.cc b/ml/machine_learning_service_impl.cc
index 44e4b4d..13c50d2 100644
--- a/ml/machine_learning_service_impl.cc
+++ b/ml/machine_learning_service_impl.cc
@@ -18,7 +18,6 @@
 #include <utils/memory/mmap.h>
 
 #include "ml/handwriting.h"
-#include "ml/handwriting_path.h"
 #include "ml/handwriting_recognizer_impl.h"
 #include "ml/model_impl.h"
 #include "ml/mojom/handwriting_recognizer.mojom.h"
@@ -202,18 +201,14 @@
   request_metrics.RecordRequestEvent(LoadModelResult::OK);
 }
 
-void MachineLearningServiceImpl::LoadHandwritingModel(
-    mojo::PendingReceiver<HandwritingRecognizer> receiver,
-    LoadHandwritingModelCallback callback) {
-  // Use english as default language.
-  LoadHandwritingModelWithSpec(HandwritingRecognizerSpec::New("en"),
-                               std::move(receiver), std::move(callback));
+void MachineLearningServiceImpl::RemovedFunction_3() {
+  NOTREACHED() << "RemovedFunction_3 should not be called";
 }
 
 void MachineLearningServiceImpl::LoadHandwritingModelWithSpec(
     HandwritingRecognizerSpecPtr spec,
     mojo::PendingReceiver<HandwritingRecognizer> receiver,
-    LoadHandwritingModelCallback callback) {
+    LoadHandwritingModelWithSpecCallback callback) {
   RequestMetrics request_metrics("HandwritingModel", kMetricsRequestName);
   request_metrics.StartRecordingPerformanceMetrics();
 
@@ -240,16 +235,6 @@
     return;
   }
 
-  if (!GetModelPaths(spec.Clone()).has_value()) {
-    LOG(ERROR) << "LoadHandwritingRecognizer is not called because language "
-                  "code is not supported.";
-
-    std::move(callback).Run(LoadModelResult::LANGUAGE_NOT_SUPPORTED_ERROR);
-    request_metrics.RecordRequestEvent(
-        LoadModelResult::LANGUAGE_NOT_SUPPORTED_ERROR);
-    return;
-  }
-
   // Create HandwritingRecognizer.
   if (!HandwritingRecognizerImpl::Create(std::move(spec),
                                          std::move(receiver))) {