Fix a runtime error on Android OSS build
This is a follow up CL to 1aa25f461b823a43b1b92e4c4234a5bb0d0f2a80,
which broke OSS build.
Closes #432.
Closed #434.
BUG=#432, #434
TEST=manually done
REF_BUG=71956804
REF_CL=186248754
REF_TIME=2018-02-20T10:19:45+09:00
REF_TIME_RAW=1519089585 +0900
Hiroyuki Komatsu
6 years ago
54 | 54 | #if !defined(MOZC_USE_CUSTOM_DATA_MANAGER) |
55 | 55 | // Use plain DataManager, which needs to be manually initialized. |
56 | 56 | using TargetDataManager = ::mozc::DataManager; |
57 | constexpr bool kEmbeddedData = false; | |
58 | ||
59 | ||
57 | 60 | #else |
58 | 61 | // Use OssDataManager, which is embedding data by default. |
59 | 62 | #include "data_manager/oss/oss_data_manager.h" |
60 | 63 | using TargetDataManager = ::mozc::oss::OssDataManager; |
64 | constexpr bool kEmbeddedData = true; | |
65 | ||
61 | 66 | #endif |
62 | 67 | |
63 | 68 | namespace mozc { |
124 | 129 | |
125 | 130 | std::unique_ptr<DataManager> CreateDataManager(JNIEnv *env, |
126 | 131 | jstring j_data_file_path) { |
132 | if (kEmbeddedData) { | |
133 | // If the data manager uses embedded data like OSS version, | |
134 | // j_data_file_path is validly nullptr. | |
135 | std::unique_ptr<DataManager> data_manager(new TargetDataManager()); | |
136 | return data_manager; | |
137 | } | |
138 | ||
127 | 139 | if (j_data_file_path == nullptr) { |
128 | 140 | return nullptr; |
129 | 141 | } |