external/mozc.git
37 hours agoMove storage/louds/key_expansion_table{.h, _test.cc} files to dictionary/system master
yukawa@google.com [Sat, 31 Jan 2015 09:16:37 +0000 (09:16 +0000)]
Move storage/louds/key_expansion_table{.h, _test.cc} files to dictionary/system

Key expansion table is no longer associated with louds trie but system dictionary.  So it should be located under dictionary/system.

This is just a code refactoring, no user-visible behavior change is intended.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@527 a6090854-d499-a067-5803-1114d4e51264

37 hours agoRefactor SystemDictionary::LookupPredictive using new LoudsTrie::Node APIs
yukawa@google.com [Sat, 31 Jan 2015 09:11:35 +0000 (09:11 +0000)]
Refactor SystemDictionary::LookupPredictive using new LoudsTrie::Node APIs

In the previous implementation, LookupPredictive was implemented by DFS and some short key list management to emulate BFS because it was difficult to implement BFS due to LOUDS trie implementation.  This CL implements BFS using a new LOUDS trie APIs.  The resulting code is simpler and more efficient.

Benchmark shows significant performance improvement for suggestion and prediction.  For example, observed 1.2x and 1.4x speed up for mobile one character prediction and suggestion, respectively.  Note also that this is just a code refactoring, no user-visible behavior change is intended.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest,benchmark

git-svn-id: http://mozc.googlecode.com/svn/trunk@526 a6090854-d499-a067-5803-1114d4e51264

37 hours agoRefactor SystemDictionary::PrefixSearch using LoudsTrie::Node APIs
yukawa@google.com [Sat, 31 Jan 2015 09:08:12 +0000 (09:08 +0000)]
Refactor SystemDictionary::PrefixSearch using LoudsTrie::Node APIs

This CL re-implements prefix search without LoudsTrie::Callback, which simplifies code because the nested callback of DictionaryInterface::Callback and LoudsTrie::Callback was removed.

Also, some performance improvements are implemented.
- Instead of decoding the prefix using Codec::DecodeKey, only its length is decoded by Codec::GetDecodeKeyLength and the decoded prefix is obtained from the original user input.  This is faster because we can avoid UCS4 to UTF8 conversion and string construction.
- Lazy decoding of LoudsTrie's key ID.  In the previous implementation, key IDs were always decoded due to the restriction of LoudsTrie::Callback.  However, key ID is first used when starting decoding token array elements.  Thus, when performing culling based on key strings, we can skip decoding of key ID.
- Optimization for the case where key expansion is not performed (e.g., predictor calls LookupPrefix without expansion).  In the previous implementation, this case was implemented by passing the default KeyExpansionTable.  However, since recursive traversal over LoudsTrie is far complicated than the normal traversal, it's worth optimizing the code for non-expanding cases.

Roughly 10% time reduction is observed in converter_benchmark with several corpora.  Note that this is just a code refactoring, no user-visible behavior change is intended.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest,benchmark

git-svn-id: http://mozc.googlecode.com/svn/trunk@525 a6090854-d499-a067-5803-1114d4e51264

37 hours agoRefactor LOUDS trie by introducing a new API set for traversal
yukawa@google.com [Sat, 31 Jan 2015 09:02:05 +0000 (09:02 +0000)]
Refactor LOUDS trie by introducing a new API set for traversal

Louds::Node structure is introduced to represent the position in the tree during traversal.  Three basic movements are implemented: 1) go to the first child, 2) go to the next sibling, and 3) go to the parent.  This new design brings a few benefits:
* Intermediate traversal state can be saved (e.g., incremental search can be implemented).
* Similar pieces of code in ExactSearcher, PrefixSearcher and PredictiveSearcher are factored out, so new code looks more concise and intuitive.
* New APIs take StringPiece instead of const char*.

Using the new APIs, LoudsTrie::HasKey is introduced, which is a faster modification of LoudsTrie::ExactSearch to test the existence of key, where one Rank1 operation is saved compared to ExactSearch.  This is nice because HasKey is called more often than before, e.g., from LanguageAwareRewriter.

Also, in LoudsTrie::Reverse, which is renamed to LoudsTrie::RestoreKeyString, one Rank0 operation is eliminated in the loop of key string reconstruction.  Namely, N operations are saved for keys of length N.

Benchmark shows no performance regression.  Also, this is just a code refactoring, no behavior change is intended.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest,benchmark

git-svn-id: http://mozc.googlecode.com/svn/trunk@524 a6090854-d499-a067-5803-1114d4e51264

38 hours agoDemove dead code that is never used in Windows Vista or later
yukawa@google.com [Sat, 31 Jan 2015 08:42:23 +0000 (08:42 +0000)]
Demove dead code that is never used in Windows Vista or later

Now that Mozc for Windows does not support Windows XP, we can safely get rid of SystemUtil::IsVistaOrLater() as well as the dead code conditionally used behind that.

This is just dead-code removal.  No behavior change is intended.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@523 a6090854-d499-a067-5803-1114d4e51264

38 hours agoUse VersionHelpers.h to simplify SystemUtil
yukawa@google.com [Sat, 31 Jan 2015 08:33:49 +0000 (08:33 +0000)]
Use VersionHelpers.h to simplify SystemUtil

A set of useful utilify functions called "Version Helper functions" has been available since Windows SDK 8.1.
https://msdn.microsoft.com/en-us/library/windows/desktop/dn424972.aspx

We can rely on them in SystemUtil instead of reimplementing the same logic.

This is just a code clean-up.  No behavior change is intended.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@522 a6090854-d499-a067-5803-1114d4e51264

38 hours agoRemove legacy base/hash_tables.h in favor of C++11
yukawa@google.com [Sat, 31 Jan 2015 08:28:56 +0000 (08:28 +0000)]
Remove legacy base/hash_tables.h in favor of C++11

With this CL all the uses of base/hash_tables.h are replaced with std::unordered_set and std::unordered_map in favor of C++11.

No user-visible behavior change is intended.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@521 a6090854-d499-a067-5803-1114d4e51264

7 days agoRemove a workaround code for Visual C++ 2010 (KB813540)
yukawa@google.com [Sun, 25 Jan 2015 14:15:20 +0000 (14:15 +0000)]
Remove a workaround code for Visual C++ 2010 (KB813540)

Mozc no longer supports Visual C++ 2010.  We don't need to work around KB813540 anymore.
http://support.microsoft.com/kb/813540

This is just a removal of dead code.  No behavior change is intended.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@510 a6090854-d499-a067-5803-1114d4e51264

7 days agoRequire Visual C++ 2013 to build Mozc for Windows
yukawa@google.com [Sun, 25 Jan 2015 12:44:44 +0000 (12:44 +0000)]
Require Visual C++ 2013 to build Mozc for Windows

To reduce the number of actively maintained build configurations, we will discontinue the support of Visual C++ 2010 and 2012.

With this CL, the required Windows Installer version is also bumped from 3.0 to 4.5 because merge modules of Visual C++ 2013 requires Windows Installer 4.5 or later.  This should be OK because Mozc supports Windows Vista SP2 and later, and Windows Vista SP2 was shipped with Windows Installer 4.5.

Basically no user visible change is intended.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@509 a6090854-d499-a067-5803-1114d4e51264

7 days agoRequire Windows Vista SP2 or later
yukawa@google.com [Sun, 25 Jan 2015 12:30:18 +0000 (12:30 +0000)]
Require Windows Vista SP2 or later

With this CL, Mozc binaries are configured to run only on Windows Vista SP2 and later.  Windows XP and Windows Server 2003 are no longer supported.

Closes Issue 277.

BUG=Issue mozc:277
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@508 a6090854-d499-a067-5803-1114d4e51264

7 days agoRemove build_tools command from build_mozc.py
yukawa@google.com [Sun, 25 Jan 2015 12:08:08 +0000 (12:08 +0000)]
Remove build_tools command from build_mozc.py

With this CL, build_tools command of build_mozc.py is completely removed. 2-pass build can not be enabled anymore even manually.

No behavior change is intended with this CL.

BUG=Issue mozc:223
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@507 a6090854-d499-a067-5803-1114d4e51264

7 days agoRequire Clang to build Linux host binaries
yukawa@google.com [Sun, 25 Jan 2015 07:42:45 +0000 (07:42 +0000)]
Require Clang to build Linux host binaries

With this CL, Clang 3.5 is required in the host environment to build Mozc for Android, NaCl, and Linux.  What we want to do with this CL is to reduce the number of actively maintained build configurations.

No user visible change is intended with this CL.

Closes Issue 276.

BUG=Issue mozc:276
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@506 a6090854-d499-a067-5803-1114d4e51264

7 days agoSwitch from stlport to libcxx in Android build
yukawa@google.com [Sun, 25 Jan 2015 06:55:02 +0000 (06:55 +0000)]
Switch from stlport to libcxx in Android build

Deprecation of stlport is an important step to enable C++11 everywhere in Mozc.  With this CL, Mozc for Android will be built with libcxx by default, and building Mozc with stlport is not supported anymore.

Basically no user visible change is intended with this CL.

BUG=Issue mozc:219
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@505 a6090854-d499-a067-5803-1114d4e51264

7 days agoRemove mozc::DetachedThread as it is no longer used
yukawa@google.com [Sun, 25 Jan 2015 06:49:55 +0000 (06:49 +0000)]
Remove mozc::DetachedThread as it is no longer used

This is just a removal of dead code.  Hence no behavior change is intended.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@504 a6090854-d499-a067-5803-1114d4e51264

7 days agoFix build failur of unit tests when libcxx is used on Android
yukawa@google.com [Sun, 25 Jan 2015 06:48:00 +0000 (06:48 +0000)]
Fix build failur of unit tests when libcxx is used on Android

When libcxx is used to biuld Mozc for Android, building gtest fails due to the ambiguity of wcsstr function.

This CL specifies _WCHAR_H_CPLUSPLUS_98_CONFORMANCE_ macro to work around.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@503 a6090854-d499-a067-5803-1114d4e51264

7 days agoFix test failure in release build with Visual C++ 2013
yukawa@google.com [Sun, 25 Jan 2015 06:42:09 +0000 (06:42 +0000)]
Fix test failure in release build with Visual C++ 2013

Seems that the optimization in release mode of Visual C++ 2013 is a bit too aggressive when an API is dynamically hooked up.  This CL relaxes the test case in question a bit as a workaround.

No production code is changed.  Bahavior change is not intended with this CL.

git-svn-id: http://mozc.googlecode.com/svn/trunk@502 a6090854-d499-a067-5803-1114d4e51264

7 days agoMake the conditions to learn candidates with a punctuation mark more strict
yukawa@google.com [Sun, 25 Jan 2015 06:37:36 +0000 (06:37 +0000)]
Make the conditions to learn candidates with a punctuation mark more strict

Learning a candidate with a punctuation was originally introduced for the desktop users so that sentence like suggestions such as "いつもお世話になっております" can be learned with punctuation marks like "。".  However, especially in mobile where zero query suggestions are suggested aggressively, the current algorithm is sometimes too aggressive in practice.

To reduce the risk of polluting history entries, this CL imposes some condition on the history candidate to check if it is a sentence or not.  Currently the candidate is handles as "sentence-like" when all the following conditions are met.
- the reading character length is 8 or greater.
- the word ends with Hiragana character.

Closes Issue 275.

Patch from Noriyuki Takahashi.

BUG=Issue mozc:275
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@501 a6090854-d499-a067-5803-1114d4e51264

8 days agoApply the same hack as conversion to prediction for transition cost from history...
yukawa@google.com [Sat, 24 Jan 2015 15:15:39 +0000 (15:15 +0000)]
Apply the same hack as conversion to prediction for transition cost from history node

Sometimes transition cost is too high and causes a bug Issue 274.

For example, "接続詞 が" -> "始まる 動詞,五段活用,基本形" has very large cost and "始まる" is demoted.  To prevent such cases, ImmutableConverter computes transition from BOS/EOS too; see ImmutableConverterImpl::MakeLatticeNodesForHistorySegments().

This CL introduces the same hack for DictionaryPredictor::GetLMCost so that similar language model can be applied to both suggestion candidates and conversion candidates.

Closes Issue 274.

Patch from Noriyuki Takahashi.

BUG=Issue mozc:274
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@500 a6090854-d499-a067-5803-1114d4e51264

8 days agoRemove an unused member field
yukawa@google.com [Sat, 24 Jan 2015 14:17:09 +0000 (14:17 +0000)]
Remove an unused member field

This is jsut a removal of dead code.  No behavior change is intended.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@499 a6090854-d499-a067-5803-1114d4e51264

8 days agoAs-is import of NaCl Mozc for Chromium OS
yukawa@google.com [Sat, 24 Jan 2015 14:13:41 +0000 (14:13 +0000)]
As-is import of NaCl Mozc for Chromium OS

This is just an as-is import of NaCl Mozc from the internal repository.  Compilation is not verified.  Nothing is tested actually.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@498 a6090854-d499-a067-5803-1114d4e51264

8 days agoRemove platform-dependent mozc::Encryptor part 3
yukawa@google.com [Sat, 24 Jan 2015 14:07:05 +0000 (14:07 +0000)]
Remove platform-dependent mozc::Encryptor part 3

This is just a removal of an unused file, which should have been removed in r208.  Hence no behavior change is intended with this CL.

BUG=Issue mozc:215
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@497 a6090854-d499-a067-5803-1114d4e51264

8 days agoFix style violations in header include guards part 4
yukawa@google.com [Sat, 24 Jan 2015 14:02:10 +0000 (14:02 +0000)]
Fix style violations in header include guards part 4

This is a follow up CL for r332
No behavior change is intended with this CL.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@496 a6090854-d499-a067-5803-1114d4e51264

8 days agoRemove unused variables
yukawa@google.com [Sat, 24 Jan 2015 13:59:55 +0000 (13:59 +0000)]
Remove unused variables

This is just a removal of unused code.  No behavior chnage is intended.

Patch from Noriyuki Takahashi.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@495 a6090854-d499-a067-5803-1114d4e51264

8 days agoFix a typo in reading strings of Unicode Emoji data
yukawa@google.com [Sat, 24 Jan 2015 13:56:43 +0000 (13:56 +0000)]
Fix a typo in reading strings of Unicode Emoji data

Patch from Toshiyuki Hanaoka

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@494 a6090854-d499-a067-5803-1114d4e51264

2 weeks agoUnsupport Ubuntu 12.04 as a build environment
yukawa@google.com [Sun, 18 Jan 2015 13:38:00 +0000 (13:38 +0000)]
Unsupport Ubuntu 12.04 as a build environment

With this CL, Ubuntu 12.04 is no longer a reference environment to build Mozc binaries for Android, NaCl, and Linux.  Hereafter only Ubuntu 14.04 is supported to build those binaries.
This is just a removal of Docker files.  Hence no behavior change is intended.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@486 a6090854-d499-a067-5803-1114d4e51264

2 weeks agoUpdate copyright year in source header comments
yukawa@google.com [Sun, 18 Jan 2015 12:46:53 +0000 (12:46 +0000)]
Update copyright year in source header comments

The copyright year in source header comments is updated to 2015 from 2014.
No behavior change is intended.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@485 a6090854-d499-a067-5803-1114d4e51264

2 weeks agoUpdate copyright year in the about dialog to 2015
yukawa@google.com [Sat, 17 Jan 2015 16:24:12 +0000 (16:24 +0000)]
Update copyright year in the about dialog to 2015

The copyright year in the about dialog is updated from 2014 to 2015.
No behavior change is intended.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@484 a6090854-d499-a067-5803-1114d4e51264

2 weeks agoUpdate special rules for KEN_ALL.CSV
yukawa@google.com [Sat, 17 Jan 2015 16:10:17 +0000 (16:10 +0000)]
Update special rules for KEN_ALL.CSV

Patch from Toshiyuki Hanaoka.

Closes Issue 272.

BUG=Issue mozc:272
TEST=manually tested on Ubuntu 14.04

git-svn-id: http://mozc.googlecode.com/svn/trunk@483 a6090854-d499-a067-5803-1114d4e51264

2 weeks agoRevert r438 "Update Protocol Buffers to 2.6.1" and r444 "Suppress compiler warnings...
yukawa@google.com [Sat, 17 Jan 2015 15:33:01 +0000 (15:33 +0000)]
Revert r438 "Update Protocol Buffers to 2.6.1" and r444 "Suppress compiler warnings for Protocol Buffers 2.6.1"

Although this CL breaks aarch64/mipsel64 build in Android, we should fix Windows test first.

Closes Issue 271.

BUG=Issue mozc:271
TEST=unittest on Windows 7

git-svn-id: http://mozc.googlecode.com/svn/trunk@482 a6090854-d499-a067-5803-1114d4e51264

2 weeks agoRevert r477 "Revert r247 "Explicity invoke bash for make-standalone-toolchain.sh""
yukawa@google.com [Sat, 17 Jan 2015 08:53:13 +0000 (08:53 +0000)]
Revert r477 "Revert r247 "Explicity invoke bash for make-standalone-toolchain.sh""

Turned out that the original issue was not fixed even in NDK r10d.

Closes Issue 269.

BUG=Issue mozc:269
TEST=compile in Ubuntu 14.04

git-svn-id: http://mozc.googlecode.com/svn/trunk@481 a6090854-d499-a067-5803-1114d4e51264

4 weeks agoCall CalculatorInterface::CalculateString even for x86 Android testing
yukawa@google.com [Sun, 4 Jan 2015 15:57:56 +0000 (15:57 +0000)]
Call CalculatorInterface::CalculateString even for x86 Android testing

With this CL, CalculatorInterface::CalculateString is called just as a smoke test.
This is just a clean-up of unittest. Hence no behavior change is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@480 a6090854-d499-a067-5803-1114d4e51264

4 weeks agoSuppress LangAwareRewriter to suggest the raw text if the query is in the dictionary...
yukawa@google.com [Sun, 4 Jan 2015 15:49:02 +0000 (15:49 +0000)]
Suppress LangAwareRewriter to suggest the raw text if the query is in the dictionary as a key

This CL adds DictionaryInterface::HasKey with which LangAwareRewriter can determine when the raw text should be suggested.

Patch from Hiroyuki Komatsu.

Closes Issue 267.

BUG=Issue mozc:267
TEST=manually done on Ubuntu 14.04

git-svn-id: http://mozc.googlecode.com/svn/trunk@479 a6090854-d499-a067-5803-1114d4e51264

4 weeks agoHandle emojis that have multiple readings correctly
yukawa@google.com [Fri, 2 Jan 2015 21:59:46 +0000 (21:59 +0000)]
Handle emojis that have multiple readings correctly

There are some emojis in emoji_data.ts which contain multiple readings but gen_emoji_rewriter_data.py couldn't handle them correctly.  As a result, some emoji are registered as if they could be read as " ".  This CL addresses the issue.

Patch from Noriyuki Takahashi.

Closes Issue 266.

BUG=Issue mozc:266
TEST=manually done with Nexus 5 / Android 5.0.1 (LRX22C)

git-svn-id: http://mozc.googlecode.com/svn/trunk@478 a6090854-d499-a067-5803-1114d4e51264

4 weeks agoRevert r247 "Explicity invoke bash for make-standalone-toolchain.sh"
yukawa@google.com [Thu, 1 Jan 2015 22:35:48 +0000 (22:35 +0000)]
Revert r247 "Explicity invoke bash for make-standalone-toolchain.sh"

The implicit dependency on bash in make-standalone-toolchain.sh was fixed in NDK r10d.
https://code.google.com/p/android/issues/detail?id=74145

Hence we can safely revert the workaround code that was added as r247.

This is just a clean-up of build procedure.  No behavior change is intended.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@477 a6090854-d499-a067-5803-1114d4e51264

4 weeks agoSeveral coding style fixes
yukawa@google.com [Thu, 1 Jan 2015 21:58:09 +0000 (21:58 +0000)]
Several coding style fixes

This is just a coding style fix CL.  No behavior change is intended.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@476 a6090854-d499-a067-5803-1114d4e51264

4 weeks agoImprove classic skins for Android
yukawa@google.com [Thu, 1 Jan 2015 21:47:27 +0000 (21:47 +0000)]
Improve classic skins for Android

Major changes are:
- Modify the shadows of the major category buttons to keep consistency with other buttons.
- Change the color of the narrow frame on blue_darkgray skin.

This is just a cosmetic fix.  No functional change is intended.

Patch from Hiroshi Sumita.

BUG=none
TEST=manually done with Nexus 5 / Android 5.0.1 (LRX22C)

git-svn-id: http://mozc.googlecode.com/svn/trunk@475 a6090854-d499-a067-5803-1114d4e51264

4 weeks agoFix resource leak on onDestroy
yukawa@google.com [Thu, 1 Jan 2015 21:29:47 +0000 (21:29 +0000)]
Fix resource leak on onDestroy

Starting from Android 5.0, IME processes can be alive even after Service.onDestory is called depending on the available memory so that we can switch IMEs as fast as possible.
https://android.googlesource.com/platform/frameworks/base/+/f0f94d129b6eb3c48624e915898d86d4f2de59ff

However, this change revealed that Mozc has not released all the Java objects on Service.onDestory, which can be observed as an increasing memory usage of Mozc.

Patch from Tsuyoshi Matsuzaki.

Closes Issue 265.

BUG=Issue mozc:265
TEST=manually done with Nexus 5 / Android 5.0.1 (LRX22C)

git-svn-id: http://mozc.googlecode.com/svn/trunk@474 a6090854-d499-a067-5803-1114d4e51264

5 weeks agoEnable Material theme for Android (part 4)
yukawa@google.com [Wed, 24 Dec 2014 17:05:08 +0000 (17:05 +0000)]
Enable Material theme for Android (part 4)

This is the 3rd (and hopefuly the last) follow up CL for r467.

Files listed in this CL are obsolete, and actually should have been removed in r467.

BUG=none
TEST=manually done with Nexus 5 / Android 5.0.1 (LRX22C)

git-svn-id: http://mozc.googlecode.com/svn/trunk@470 a6090854-d499-a067-5803-1114d4e51264

5 weeks agoEnable Material theme for Android (part 3)
yukawa@google.com [Mon, 22 Dec 2014 09:24:49 +0000 (09:24 +0000)]
Enable Material theme for Android (part 3)

Now building Mozc for Android depends on 'zip' command in build time.  Without that command, you cannot build Mozc for Android.

BUG=none
TEST=compine

git-svn-id: http://mozc.googlecode.com/svn/trunk@469 a6090854-d499-a067-5803-1114d4e51264

5 weeks agoEnable Material theme for Android (part 2)
yukawa@google.com [Mon, 22 Dec 2014 08:59:12 +0000 (08:59 +0000)]
Enable Material theme for Android (part 2)

These two SVG resources should have been included in the previous CL.  Without them, you cannot build Mozc for Android.

BUG=none
TEST=manually done with Nexus 5 / Android 5.0.1 (LRX22C)

git-svn-id: http://mozc.googlecode.com/svn/trunk@468 a6090854-d499-a067-5803-1114d4e51264

5 weeks agoEnable Material theme for Android
yukawa@google.com [Mon, 22 Dec 2014 08:38:00 +0000 (08:38 +0000)]
Enable Material theme for Android

With this CL, Mozc for Android supports Material theme.

Note that this CL also contains a lot of other improvements and bug fixes that might not be directly related to the Material theme.  Here are some examples:
  * Floating candidate window support in Android 5.0.
  * Improved accessibility support.
  * Start bundling Key Character Map (KCM) file of Japanese 109 keyboard.

See the release note for details.

As for desktop versions, no behavior change is intended.

BUG=none
TEST=manually done with Nexus 5 / Android 5.0.1 (LRX22C)

git-svn-id: http://mozc.googlecode.com/svn/trunk@467 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoFix crash when a dead key is pressed in the physical keyboard in Android
yukawa@google.com [Sun, 21 Dec 2014 14:46:22 +0000 (14:46 +0000)]
Fix crash when a dead key is pressed in the physical keyboard in Android

The root cause of the crash was unawareness of KeyCharacterMap.COMBINING_ACCENT_MASK flag in Mozc's hardware key event handling.  The return value of android.view.KeyEvent#getUnicodeChar() should have been masked with KeyCharacterMap.COMBINING_ACCENT_MASK before it is treated as a Unicode character.

Note that even with this CL, Mozc for Android still cannot handle dead keys correctly.  It should be addressed by another CL.

Closes Issue 248.

BUG=Issue mozc:248
TEST=manually done with Nexus 5 / Android 5.0.1 (LRX22C)

git-svn-id: http://mozc.googlecode.com/svn/trunk@463 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoIgnore InflateException when showing AlertDialog (part 2)
yukawa@google.com [Sun, 21 Dec 2014 14:16:56 +0000 (14:16 +0000)]
Ignore InflateException when showing AlertDialog (part 2)

This is a follow up CL for r461, which caused several compile failures.

Closes Issue 262.

BUG=Issue mozc:262
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@462 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoIgnore InflateException when showing AlertDialog
yukawa@google.com [Fri, 19 Dec 2014 06:50:20 +0000 (06:50 +0000)]
Ignore InflateException when showing AlertDialog

Seems that creating AlertDialog on IME contexts may cause InflateException on certain devices.  That's unfortunate, but users expect IMEs to not crash even on such a device.

Patch from Tsuyoshi Matsuzaki.

Closes Issue 262

BUG=Issue mozc:262
TEST=manually done

git-svn-id: http://mozc.googlecode.com/svn/trunk@461 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoUse android-sdk_* to check out Android SDK and related components
yukawa@google.com [Thu, 18 Dec 2014 20:20:21 +0000 (20:20 +0000)]
Use android-sdk_* to check out Android SDK and related components

adt-bundle-linux-* has not been released for Android 5.0.  In order to use newer tools, and to start using new APIs that are added in Android 5.0, we need to switch to android-sdk_* and to use 'android' command to download related components.

Basically no behavior change in production is intended.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@460 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoShorten annotations so that more candidates can be displayed (part 3)
yukawa@google.com [Thu, 18 Dec 2014 20:08:57 +0000 (20:08 +0000)]
Shorten annotations so that more candidates can be displayed (part 3)

This is a follow up CL for r454, which replaced "<部分確定>" with "部分" to save space on the display.  That change should be applied to NumberRewriter as well.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@459 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoExplicitly specify point release numbers for Ubuntu LTS releases
yukawa@google.com [Thu, 18 Dec 2014 20:01:24 +0000 (20:01 +0000)]
Explicitly specify point release numbers for Ubuntu LTS releases

With this CL, we will explicitly specify point release numbers for Ubuntu 12.04/14.04 used in our reference build environment based on Docker file.
This is just in case change for build environment, and no behavior change is intended for production.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@458 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoAdd a custom font file built from Noto font and Roboto2 font for Android
yukawa@google.com [Thu, 18 Dec 2014 19:49:08 +0000 (19:49 +0000)]
Add a custom font file built from Noto font and Roboto2 font for Android

This CL adds a custom font file that is built from Noto font and Roboto2.  That font, Noto-Roboto2-Regular.otf, will be used for custom rendering in Mozc for Android.

Noto-Roboto2-Regular.otf is basically equal to NotoSansJP-Regular.otf, but ASCII characters are replaced with Roboto-Regular.ttf to keep consistency with other UI parts in Android with Material Design enabled.  See README.mozc about how to reproduce Noto-Roboto2-Regular.otf by yourself.

Patch from Toshiyuki Hanaoka.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@457 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoShorten annotations so that more candidates can be displayed (part 2)
yukawa@google.com [Thu, 18 Dec 2014 07:25:18 +0000 (07:25 +0000)]
Shorten annotations so that more candidates can be displayed (part 2)

This is a follow up CL for r454, which removed a comment line unexpectedly.  That line is recovered with this CL.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@456 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoFix VariantsRewriter and SymbolRewriter to handle inner segment boundary correctly
yukawa@google.com [Thu, 18 Dec 2014 02:49:36 +0000 (02:49 +0000)]
Fix VariantsRewriter and SymbolRewriter to handle inner segment boundary correctly

Turned out that SymbolRewriter and VariantRewriter are culprits.

Patch from Noriyuki Takahashi.

Closes Issue 261

BUG=Issue mozc:261
TEST=Manually done on Nexus 5 / Android 5.0.1 LRX22C

git-svn-id: http://mozc.googlecode.com/svn/trunk@455 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoShorten annotations so that more candidates can be displayed
yukawa@google.com [Thu, 18 Dec 2014 01:29:45 +0000 (01:29 +0000)]
Shorten annotations so that more candidates can be displayed

Mobile phones still have very limited display area.  Hence this CL replaces annotations <入力補正> and <部分確定> with 補正 and 部分, respectively, so that we can show more candidates at the same time.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@454 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoMove EmoticonsAboveSymbols test to rewriter_test.cc
yukawa@google.com [Thu, 18 Dec 2014 00:43:37 +0000 (00:43 +0000)]
Move EmoticonsAboveSymbols test to rewriter_test.cc

This is just a unittest clean-up.  Hence no behavior change in production is intended.

Patch from Hiroshi Sumita.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@453 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoShorten debug annotations for predicted candidates (part 2)
yukawa@google.com [Thu, 18 Dec 2014 00:32:28 +0000 (00:32 +0000)]
Shorten debug annotations for predicted candidates (part 2)

Fix test breakage in r451 by updating test expectation.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@452 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoShorten debug annotations for predicted candidates
yukawa@google.com [Thu, 18 Dec 2014 00:28:07 +0000 (00:28 +0000)]
Shorten debug annotations for predicted candidates

In order to make the candidate layout close to production, especially on Android, this CL shortens debug annotations for predicted candidates.

Those annotations are displayed only in debug build.  Hence no visible change in production is intended.

Patch from Noriyuki Takahashi.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@451 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoPrepare to load dictionary data set from an external file
yukawa@google.com [Wed, 17 Dec 2014 08:56:26 +0000 (08:56 +0000)]
Prepare to load dictionary data set from an external file

This CL is a groundwork to enable mozc server to load dictionary data set from an external file at runtime.  No actual behavior change is intended right now though.

Major changes are:
- Add sentinel elements to arrays of POSMatcher to determine array size.
- Remove const qualifier from POSMatcher::Range so that it can be constructed by vector::push_back.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@450 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoLearn content word for real time conversion in the mobile mode
yukawa@google.com [Wed, 17 Dec 2014 07:17:51 +0000 (07:17 +0000)]
Learn content word for real time conversion in the mobile mode

To propagate the segmentation information in mobile use, this CL extends Segment::Candidate::inner_segment_boundary to include content key and value lengths.  This extra information is utilized in UserHistoryPredictor to reconstruct content word.

Motivation:
In mobile mode, it would be useful if content words can be learned.  Here are some examples.

Case 1:
1. Type がっこうに
2. Select 学校に
学校に (which is one segment) is learned but 学校 (content word) is not learned.  Here learning 学校 makes sense for mobile since particles are suggested by zero query suggestion in the mobile mode.

Case 2:
1. Type とうきょうかなごやにいきたい
2. Select 東京か名古屋に行きたい
This is similar to the case 1 but we can learn both 東京 and 名古屋.

Note that this CL should not change anything in the desktop mode.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@449 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoRemove an ad-hoc optimization in JNI boundary
yukawa@google.com [Wed, 17 Dec 2014 05:41:18 +0000 (05:41 +0000)]
Remove an ad-hoc optimization in JNI boundary

We have had an ad-hoc optimization in JNI boundary, which clears |all_candidate_words| field in the Output proto to reduce the deserialization cost of protobuf because that field has never been used in Android.  However, supporting floating candidate window for Android 5.0 does require that field like other desktop OSes.  Hence we cannot simply clear that field anymore.  As a groundwork, this CL finaly removes that ad-hoc optimization.

No behavior change is intended right now.

Patch from Hiroshi Sumita.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@448 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoFor Android and Chrome OS, we need to change the page size of the candidate list...
yukawa@google.com [Wed, 17 Dec 2014 05:08:29 +0000 (05:08 +0000)]
For Android and Chrome OS, we need to change the page size of the candidate list from 9 as the default value.

Introduce per-session config mechanism to change the page size of the candidate list

For the traditional desktop-style floating candidate list, in some situations, we may want to reduce its maximum height by changing the page size.  For instance, if we show up-to 5 candidates per page, the candidate list is more likely to be rendered without being cliped by the edge of the screen even on a relatively smaller screen.

With this CL, each mozc client can tell the mozc server to change the page size in a per-session basis.  The default size is kept to be 9 hence no visible change is intended with this CL though.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@447 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoAdd usage stats entries about how many times keyboard are expanded/folded
yukawa@google.com [Wed, 17 Dec 2014 00:56:11 +0000 (00:56 +0000)]
Add usage stats entries about how many times keyboard are expanded/folded

This CL introduces a pair of new usage stats entries so that we can know how many times the keyboard are expanded/folded on Android.

No visible change is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@446 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoAdd new usage stats entries for chosen candidates
yukawa@google.com [Wed, 17 Dec 2014 00:28:53 +0000 (00:28 +0000)]
Add new usage stats entries for chosen candidates

This CL introduces a set of new usage stats entries so that we can understand the distribution of the number of chosen words grouped by the row number of the candidate table where the word is displayed.

No visible change is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@445 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoSuppress compiler warnings for Protocol Buffers 2.6.1
yukawa@google.com [Tue, 16 Dec 2014 22:29:00 +0000 (22:29 +0000)]
Suppress compiler warnings for Protocol Buffers 2.6.1

This is a follow up CL for r438, which also brought few new compiler warnings.  With this CL, all of them are now suppressed.

This is just an update of compiler warning settings.  Hence no behvior change in production is intended.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@444 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoSimplify protobuf/protobuf.gyp (part 2)
yukawa@google.com [Tue, 16 Dec 2014 22:05:25 +0000 (22:05 +0000)]
Simplify protobuf/protobuf.gyp (part 2)

This is a follow up CL for r442, but is still just an internal fix/clean-up for warnings settings in build time.  No behvior change is intended.  Basically this CL does:
- Fix indentation.
- Fix wrong conditoins in compiler-dependent warning rules.
- Fix a compiler option name to suppress unknown options.  It should heen '-Wno-unknown-warning-option', not '-Wno-unknown-warning'.
- Remove a redundant 'xcode_settings', whose settings are now coverted in a more platform agnostic way.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@443 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoSimplify protobuf/protobuf.gyp
yukawa@google.com [Tue, 16 Dec 2014 08:08:21 +0000 (08:08 +0000)]
Simplify protobuf/protobuf.gyp

This CL simplifies protobuf/protobuf.gyp with keeping the current settings.  No visible change is intended.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@442 a6090854-d499-a067-5803-1114d4e51264

6 weeks agoRemove an incorrect output declaration in 'protobuf_java' target
yukawa@google.com [Tue, 16 Dec 2014 07:07:28 +0000 (07:07 +0000)]
Remove an incorrect output declaration in 'protobuf_java' target

This is a follow up CL for r416 and r417, which decoupled Ant task for protobuf from the main Ant task.

Previous commits had a problem that 'protobuf_java' GYP target incorrectly contained 'mozc/android/protobuf/gen/com/google/userfeedback/android/api/R.java' in an output section.  That target never generates such a file in practice.  As a result, 'protobuf_java' target is always rebuilt every time when you build a target that directly or indirectly depends on 'protobuf_java' target.

BUG=none
TEST=python build_mozc.py clean --target_platform=Android && python build_mozc.py gyp --target_platform=Android && python build_mozc.py build -c Debug android/prorobuf/protobuf.gyp:protobuf_java && python build_mozc.py build -c Debug android/prorobuf/protobuf.gyp:protobuf_java

git-svn-id: http://mozc.googlecode.com/svn/trunk@441 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSupport Clang 3.5 with libc++ in Android build
yukawa@google.com [Sat, 13 Dec 2014 18:20:08 +0000 (18:20 +0000)]
Support Clang 3.5 with libc++ in Android build

With this CL, Clang 3.5 with libc++ is supported to biuld Mozc for Android.

To build Mozc for Android with Clang and libc++, run build_mozc.py as follows.

  python build_mozc.py gyp     \
    --target_platform=Android  \
    --android_compiler=clang   \
    --android_stl=libcxx

Closes Issue 260.

BUG=Issue mozc:260
TEST=compile with Android NDR r10d

git-svn-id: http://mozc.googlecode.com/svn/trunk@440 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSupport arm64/mips64/x86-64 in Android build
yukawa@google.com [Sat, 13 Dec 2014 15:55:13 +0000 (15:55 +0000)]
Support arm64/mips64/x86-64 in Android build

With this CL, arm64/mips64/x86-64 native builds are supported in Android.

To build arm64, run build_mozc.py as follows.

  python build_mozc.py gyp     \
    --target_platform=Android  \
    --android_arch=arm64

Note that this CL also updates the versioning scheme in Android Mozc as follows.

  Previous Version code format:
    0005BBBBBA
    A: ABI (0: Fat, 5: x86, 2: armeabi-v7a, 1:mips)
    B: ANDROID_VERSION_CODE

  New Version code format:
    0005BBBBBA
    A: ABI (0: Fat, 6: x86_64, 5:arm64, 4:mips64, 3: x86, 2: armeabi-v7a, 1:mips)
    B: ANDROID_VERSION_CODE

where ANDROID_VERSION_CODE is equal to the build number defined in mozc_version_template.

Closes Issue 259.

BUG=Issue mozc:259
TEST=compile with Android NDK r10d

git-svn-id: http://mozc.googlecode.com/svn/trunk@439 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoUpdate Protocol Buffers to 2.6.1
yukawa@google.com [Sat, 13 Dec 2014 15:18:48 +0000 (15:18 +0000)]
Update Protocol Buffers to 2.6.1

This CL rolls following commits of protobuf:
  from: 172019c40bf548908ab09bfd276074c929d48415
    to: bba83652e1be610bdb7ee1566ad18346d98b843c

Full commit summary is available here.
https://github.com/google/protobuf/compare/172019c40bf548908ab09bfd276074c929d48415...bba83652e1be610bdb7ee1566ad18346d98b843c

Reason:
protobuf 2.5.x lacks aarch64/mipsel64 support.  We need to update protobuf to unblock the native 64-bit support for Android.

BUG=Issue mozc:259
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@438 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoUse stlport hash_set/hash_map when and only when MOZC_USE_STLPORT is defined
yukawa@google.com [Thu, 11 Dec 2014 04:50:10 +0000 (04:50 +0000)]
Use stlport hash_set/hash_map when and only when MOZC_USE_STLPORT is defined

Now we are allowing to configure which STL is used in Android build.  Hence we shouldn't expect <hash_map>/<hash_set> are always available in Android build.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@437 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoDeprecate --mozc_root_dir option in run_android_test.py
yukawa@google.com [Thu, 11 Dec 2014 04:14:36 +0000 (04:14 +0000)]
Deprecate --mozc_root_dir option in run_android_test.py

That option has never been used.

This is just an internal clean-up.  No behavior change in production is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@436 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoRelax the size of the packages for desktop versions
yukawa@google.com [Thu, 11 Dec 2014 03:52:49 +0000 (03:52 +0000)]
Relax the size of the packages for desktop versions

Note that this verification is for Google Japanese Input branding build.  Has nothing to do with OSS build.

No behavior change in production is intended anyway.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@435 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoRemove unused import
yukawa@google.com [Thu, 11 Dec 2014 03:48:23 +0000 (03:48 +0000)]
Remove unused import

CopyFiles has never been used in build_and_sign_pkg_mac.py.

This is just an internal clean-up.  No behavior change in production is intended.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@434 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSeveral style fixes in GYP files
yukawa@google.com [Thu, 11 Dec 2014 03:07:25 +0000 (03:07 +0000)]
Several style fixes in GYP files

They are just style fixes.  No behavior change in production is intended.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@433 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoAdd stub directory for userfeedback component in Android (part 2)
yukawa@google.com [Thu, 11 Dec 2014 02:56:25 +0000 (02:56 +0000)]
Add stub directory for userfeedback component in Android (part 2)

This is a follow up CL for r415.  This CL fixes an incorrect dependency.

No behavior change in production is intended anyway.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@432 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoCreates AVD on runtime instead of copying pregenerated AVD (part 2)
yukawa@google.com [Thu, 11 Dec 2014 02:39:52 +0000 (02:39 +0000)]
Creates AVD on runtime instead of copying pregenerated AVD (part 2)

This is a follow up CL for r419.  Several lines were not updated correctly.

No behavior change in production is intended anyway.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@431 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSuppress usage stats dialog in test environment for better performance and stability
yukawa@google.com [Thu, 11 Dec 2014 01:26:43 +0000 (01:26 +0000)]
Suppress usage stats dialog in test environment for better performance and stability

Usage stats dialog in test environment will be disabled with this CL.

Usually the dialog in question will not be closed by anybody if it is shown in invisible X session.  In this case emulator process will never die and it keeps using provided port.  This will block invocation of emulator because of no available port.

This CL has nothing to do with the production build.  Hence no behavior change in production is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@430 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoImprove stability of CI environment where multiple instances of emulator are used
yukawa@google.com [Thu, 11 Dec 2014 01:17:45 +0000 (01:17 +0000)]
Improve stability of CI environment where multiple instances of emulator are used

This CL introduces a locking mechanism to prevent port-number from being conflicted even when multiple emulator instances are launched.

This CL has nothing to do with the production build.  Hence no behavior change in production is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@429 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoRemove an obsolete comment
yukawa@google.com [Wed, 10 Dec 2014 19:47:00 +0000 (19:47 +0000)]
Remove an obsolete comment

Our minimum API level is 14. We don't need that comment anymore.

This is just a removal of an obsolete comment. Hence no behavior change is intended.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@428 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoExplicitly enable PIE in standaline executables for unittest on Android
yukawa@google.com [Wed, 10 Dec 2014 19:30:33 +0000 (19:30 +0000)]
Explicitly enable PIE in standaline executables for unittest on Android

Android 5.0 requires standalone native executable to be PIE, which means that we need to build unittest executables to with PIE enabled.  Note that this change has nothing to do with the production, where native code is used only as a shared library.

This CL also disables native unittest on Android if API level is 14 or 15, which do not support PIE.  Probably we could work around that limitation by using the same approach in Chromium, but currently we simply disable unittest for those platforms.

Reference:
- https://code.google.com/p/android-developer-preview/issues/detail?id=888
- https://code.google.com/p/chromium/issues/detail?id=373219

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@427 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoCorrect the project URL of Zinnia
yukawa@google.com [Wed, 10 Dec 2014 19:01:41 +0000 (19:01 +0000)]
Correct the project URL of Zinnia

This CL corrects the project URL of Zinnia to http://zinnia.sourceforge.net.  This is just a document change.  Hence no behavior change is intended.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@426 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoShorten GYP target names
yukawa@google.com [Wed, 10 Dec 2014 05:10:27 +0000 (05:10 +0000)]
Shorten GYP target names

On Windows, some build toolchains such as Ninja or GYP may not be able to deal with a long path name that exceeds 256 chars or so.  To work around this limitation, this CL shortens several GYP target names that tend to be long.

This is completely a build-time change.  Hence no behavior change is intended.

Patch from Noriyuki Takahashi.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@425 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoAdd 6 emoticons
yukawa@google.com [Wed, 10 Dec 2014 04:43:15 +0000 (04:43 +0000)]
Add 6 emoticons

6 emoticons are added with this CL.

Patch from Toshiyuki Hanaoka.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@424 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoAdd U+4E8E to single Kanji dictionary
yukawa@google.com [Wed, 10 Dec 2014 04:38:57 +0000 (04:38 +0000)]
Add U+4E8E to single Kanji dictionary

This CL adds U+4E8E to single Kanji dictionary.

Patch from Toshiyuki Hanaoka.

BUG=none
TEST=unittest

git-svn-id: http://mozc.googlecode.com/svn/trunk@423 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSpecify minimum SDK version for protobuf project just in case
yukawa@google.com [Wed, 10 Dec 2014 04:33:53 +0000 (04:33 +0000)]
Specify minimum SDK version for protobuf project just in case

With this CL, the minimum SDK version is specified for the protobuf project.

This is just in case change, and supposed to change nothing in production.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@422 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoConsolidate emulator rerated code from build_mozc.py to android_util.py
yukawa@google.com [Wed, 10 Dec 2014 04:16:15 +0000 (04:16 +0000)]
Consolidate emulator rerated code from build_mozc.py to android_util.py

To make build_mozc.py a bit simplar.

This is just a clean-up of unittest related code.  Hence no behavior change is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=none

git-svn-id: http://mozc.googlecode.com/svn/trunk@421 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoTeach android_util.py about the new version name scheme
yukawa@google.com [Wed, 10 Dec 2014 03:43:02 +0000 (03:43 +0000)]
Teach android_util.py about the new version name scheme

This is a follow up CL for r192.

In r192, the versoin name scheme is changed
  from: @MAJOR@.@MINOR@.@BUILD@.@REVISION@
    to: @MAJOR@.@MINOR@.@BUILD@.@REVISION@-@ANDROID_ARCH@

We should update android_util.py accordingly so that it can extract the version number.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@420 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoCreates AVD on runtime instead of copying pregenerated AVD
yukawa@google.com [Wed, 10 Dec 2014 03:35:23 +0000 (03:35 +0000)]
Creates AVD on runtime instead of copying pregenerated AVD

Previously pregenerated AVD files are used to launch emulator instances.  A few years ago runtime creation of AVD didn't work well (e.g., freeze).

But creating pregenerated AVD was tedious and error prone.  And currently it seems that bare born AVD works well so let's switch to runtime creation.

This is just a clean-up of unittest.  Hence no behavior change is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@419 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoRemove split_abi and dependent compornents
yukawa@google.com [Wed, 10 Dec 2014 00:59:33 +0000 (00:59 +0000)]
Remove split_abi and dependent compornents

split_abi and dependent compornents have been introduced in order to split fat .apk (including multiple .so files) into seperate ones, including preinstall .apk which has no .so file.

However;
- Because of migration from ndk-build to raw toolchain, fat .apk is no more built.
- Becaise of update of staging repository's infrastructure,
  now preinstall .apk can include .so file inside.

Therefore there is no usecase where spli_abi is used.

This is just a clean-up of unused files.  Hence no behavior change is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@418 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoDecouple Ant task for protobuf from the main Ant task (part 2)
yukawa@google.com [Wed, 10 Dec 2014 00:22:42 +0000 (00:22 +0000)]
Decouple Ant task for protobuf from the main Ant task (part 2)

This is a follow up CL for r416, which should have included android/protobuf/protobuf.gyp.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@417 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoDecouple Ant task for protobuf from the main Ant task
yukawa@google.com [Wed, 10 Dec 2014 00:13:47 +0000 (00:13 +0000)]
Decouple Ant task for protobuf from the main Ant task

With this CL, the Ant task for protobuf is separately executed from the main Ant task to build Mozc APK, which allows us to improve the build concurrency and makes android.gyp a bit simpler.

This is just a clean-up of build rules.  Hence no behavior change is intended.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@416 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoAdd stub directory for userfeedback component in Android
yukawa@google.com [Tue, 9 Dec 2014 20:17:30 +0000 (20:17 +0000)]
Add stub directory for userfeedback component in Android

This CL adds userfeedback directory for Android so that we can share code between internal repository and OSS repository as much as possible.

Note that userfeedback component is still not fully opensourced, and the directory is just a stub, hence no behavior change is intended.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@415 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoConsolidate Ant logic into ant.gypi
yukawa@google.com [Tue, 9 Dec 2014 17:46:45 +0000 (17:46 +0000)]
Consolidate Ant logic into ant.gypi

With this CL, Ant related logic is consolidated from android.gyp to ant.gypi.

This is just a clean-up of build rules.  Hence no behavior change is intended.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@414 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoRemove an obsolete GYP target
yukawa@google.com [Tue, 9 Dec 2014 17:30:57 +0000 (17:30 +0000)]
Remove an obsolete GYP target

GYP build target 'install' is no longer used.  You can simply use adb to install APKs.

This is just a clean-up of build rules.  Hence no behavior change is intended.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@413 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSplit variables for Android build from android.gyp to android_env.gypi
yukawa@google.com [Tue, 9 Dec 2014 17:20:40 +0000 (17:20 +0000)]
Split variables for Android build from android.gyp to android_env.gypi

This is a groundwork for subsequent CLs.  No behavior change is intended.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@412 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoMove android/resources_oss to android/static_resources/resources_oss
yukawa@google.com [Tue, 9 Dec 2014 00:59:50 +0000 (00:59 +0000)]
Move android/resources_oss to android/static_resources/resources_oss

This is just a directory move and has nothing to do with the production binaries.  Hence no behavior
change is intended.

BUG=none
TEST=manually done with MozcForAndroid-debug.apk

git-svn-id: http://mozc.googlecode.com/svn/trunk@411 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSpecify correct directory for clean task
yukawa@google.com [Tue, 9 Dec 2014 00:54:58 +0000 (00:54 +0000)]
Specify correct directory for clean task

For OSS build, 'resources_oss' is the correct resource direcotry.

This change has nothing to do with the production binaries.  Hence no behavior
change is intended.

BUG=none
TEST=tested with 'svn status' after 'build_mozc.py clean --target_platform=Android'

git-svn-id: http://mozc.googlecode.com/svn/trunk@410 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoAbstract the directory for intermediate files in GYP
yukawa@google.com [Mon, 8 Dec 2014 23:04:23 +0000 (23:04 +0000)]
Abstract the directory for intermediate files in GYP

Android build has lots of build configurations.  It would be useful if each configuration can have a different directory for intermediate files.  As a groundwork to do so, this CL introduces a new GYP variable that abstracts the intermediate directory.  Currently this CL 'shared_intermediate_mozc_dir' is defined as a simple alias of 'SHARED_INTERMEDIATE_DIR' though.

This change has nothing to do with the production binaries.  Hence no behavior change is intended.

Patch from Hiroyuki Komatsu.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@409 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoAllow RemoveFile method to remove symbolic links
yukawa@google.com [Mon, 8 Dec 2014 20:34:56 +0000 (20:34 +0000)]
Allow RemoveFile method to remove symbolic links

It would be useful if our build utility method RemoveFile can remove a symbolic link as well as a file.

This change has nothing to do with the production binaries.  Hence no behavior change is intended.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@408 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoStop using a deprecated constructor in ActivityInstrumentationTestCase2
yukawa@google.com [Mon, 8 Dec 2014 20:04:59 +0000 (20:04 +0000)]
Stop using a deprecated constructor in ActivityInstrumentationTestCase2

We no longer need to use a deprecated constructor.  No behavior change is intended in the supported platforms.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@407 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSimplify ImeSwitcherFactory
yukawa@google.com [Mon, 8 Dec 2014 20:00:48 +0000 (20:00 +0000)]
Simplify ImeSwitcherFactory

Now we can assume that subtype mechanism is always available.  We do not need to change the behvior at runtime anymore.  No behavior change is intended in the supported platforms.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@406 a6090854-d499-a067-5803-1114d4e51264

7 weeks agoSimplify insets calculation
yukawa@google.com [Mon, 8 Dec 2014 19:50:09 +0000 (19:50 +0000)]
Simplify insets calculation

InputMethodService.Insets.touchableRegion has been available since API Level 11.  We can safely access that method without the risk of runtime exceptions.  No behavior change is intended in the supported platforms.

Patch from Tsuyoshi Matsuzaki.

BUG=none
TEST=compile

git-svn-id: http://mozc.googlecode.com/svn/trunk@405 a6090854-d499-a067-5803-1114d4e51264