Add usage stats for mushroom.
Note that usage stats is never be enabled in OSS build.
Hence no behavior change should occur.
BUG=none
TEST=unittest
diff --git a/src/android/src/com/google/android/inputmethod/japanese/MozcMenuDialogListenerImpl.java b/src/android/src/com/google/android/inputmethod/japanese/MozcMenuDialogListenerImpl.java
index 4e21705..e5fd685 100644
--- a/src/android/src/com/google/android/inputmethod/japanese/MozcMenuDialogListenerImpl.java
+++ b/src/android/src/com/google/android/inputmethod/japanese/MozcMenuDialogListenerImpl.java
@@ -44,10 +44,13 @@
*/
class MozcMenuDialogListenerImpl implements MenuDialogListener {
private final InputMethodService inputMethodService;
+ private final ViewEventListener eventListener;
private boolean showInputMethodPicker = false;
- MozcMenuDialogListenerImpl(InputMethodService inputMethodService) {
+ MozcMenuDialogListenerImpl(
+ InputMethodService inputMethodService, ViewEventListener eventListener) {
this.inputMethodService = Preconditions.checkNotNull(inputMethodService);
+ this.eventListener = Preconditions.checkNotNull(eventListener);
}
@Override
@@ -96,11 +99,11 @@
inputConnection.setComposingText("", MozcUtil.CURSOR_POSITION_TAIL);
}
+ eventListener.onShowMushroomSelectionDialog();
+
// Launch the activity.
Intent intent = MushroomUtil.createMushroomSelectionActivityLaunchingIntent(
context, inputMethodService.getCurrentInputEditorInfo().fieldId, composingText);
context.startActivity(intent);
-
- // TODO(hidehiko): Do we need to logging?
}
}
diff --git a/src/android/src/com/google/android/inputmethod/japanese/MozcService.java b/src/android/src/com/google/android/inputmethod/japanese/MozcService.java
index b1e7353..fac2b70 100644
--- a/src/android/src/com/google/android/inputmethod/japanese/MozcService.java
+++ b/src/android/src/com/google/android/inputmethod/japanese/MozcService.java
@@ -383,6 +383,11 @@
.putString(key, layoutAdjustment.toString())
.apply();
}
+
+ @Override
+ public void onShowMushroomSelectionDialog() {
+ sessionExecutor.sendUsageStatsEvent(UsageStatsEvent.MUSHROOM_SELECTION_DIALOG_OPEN_EVENT);
+ }
}
/**
@@ -754,7 +759,7 @@
eventListener,
symbolHistoryStorage,
imeSwitcher,
- new MozcMenuDialogListenerImpl(this));
+ new MozcMenuDialogListenerImpl(this, eventListener));
}
// Setup FeedbackManager.
diff --git a/src/android/src/com/google/android/inputmethod/japanese/ViewEventDelegator.java b/src/android/src/com/google/android/inputmethod/japanese/ViewEventDelegator.java
index 4114623..d7ee503 100644
--- a/src/android/src/com/google/android/inputmethod/japanese/ViewEventDelegator.java
+++ b/src/android/src/com/google/android/inputmethod/japanese/ViewEventDelegator.java
@@ -154,4 +154,9 @@
ViewManagerInterface.LayoutAdjustment layoutAdjustment) {
delegated.onUpdateKeyboardLayoutAdjustment(layoutAdjustment);
}
+
+ @Override
+ public void onShowMushroomSelectionDialog() {
+ delegated.onShowMushroomSelectionDialog();
+ }
}
diff --git a/src/android/src/com/google/android/inputmethod/japanese/ViewEventListener.java b/src/android/src/com/google/android/inputmethod/japanese/ViewEventListener.java
index e027d9b..9896cdf 100644
--- a/src/android/src/com/google/android/inputmethod/japanese/ViewEventListener.java
+++ b/src/android/src/com/google/android/inputmethod/japanese/ViewEventListener.java
@@ -147,4 +147,7 @@
*/
public void onUpdateKeyboardLayoutAdjustment(
ViewManagerInterface.LayoutAdjustment layoutAdjustment);
+
+ /** Called when the mushroom selection dialog is shown. */
+ public void onShowMushroomSelectionDialog();
}
diff --git a/src/android/tests/src/com/google/android/inputmethod/japanese/MozcMenuDialogListenerImplTest.java b/src/android/tests/src/com/google/android/inputmethod/japanese/MozcMenuDialogListenerImplTest.java
index 0fc74ef..3f47757 100644
--- a/src/android/tests/src/com/google/android/inputmethod/japanese/MozcMenuDialogListenerImplTest.java
+++ b/src/android/tests/src/com/google/android/inputmethod/japanese/MozcMenuDialogListenerImplTest.java
@@ -59,6 +59,7 @@
public class MozcMenuDialogListenerImplTest extends InstrumentationTestCaseWithMock {
private Context context;
private InputMethodService inputMethodService;
+ private ViewEventListener eventListener;
private MenuDialogListener listener;
@Override
@@ -66,7 +67,8 @@
super.setUp();
context = createMock(MockContext.class);
inputMethodService = createMock(InputMethodService.class);
- listener = new MozcMenuDialogListenerImpl(inputMethodService);
+ eventListener = createMock(ViewEventListener.class);
+ listener = new MozcMenuDialogListenerImpl(inputMethodService, eventListener);
}
@Override
@@ -75,6 +77,7 @@
MozcUtil.cancelShowInputMethodPicker(context);
listener = null;
+ eventListener = null;
inputMethodService = null;
context = null;
super.tearDown();
@@ -166,6 +169,7 @@
editorInfo.fieldId = 10;
expect(inputMethodService.getCurrentInputEditorInfo()).andStubReturn(editorInfo);
expect(context.getPackageName()).andStubReturn("org.mozc.android.inputmethod.japanese");
+ eventListener.onShowMushroomSelectionDialog();
Capture<Intent> intentCapture = new Capture<Intent>();
context.startActivity(capture(intentCapture));
replayAll();
diff --git a/src/data/usage_stats/stats.def b/src/data/usage_stats/stats.def
index fff1dd3..676e100 100644
--- a/src/data/usage_stats/stats.def
+++ b/src/data/usage_stats/stats.def
@@ -541,6 +541,7 @@
# The count of the fold/expand keyboard event.
KeyboardFoldEvent
KeyboardExpandEvent
+MushroomSelectionDialogOpen
# for windows
diff --git a/src/mozc_version_template.txt b/src/mozc_version_template.txt
index 5e3a906..4bcf8bf 100644
--- a/src/mozc_version_template.txt
+++ b/src/mozc_version_template.txt
@@ -1,6 +1,6 @@
MAJOR=2
MINOR=17
-BUILD=2089
+BUILD=2090
REVISION=102
# NACL_DICTIONARY_VERSION is the target version of the system dictionary to be
# downloaded by NaCl Mozc.
diff --git a/src/session/commands.proto b/src/session/commands.proto
index 7dddf8f..b44e0f1 100644
--- a/src/session/commands.proto
+++ b/src/session/commands.proto
@@ -481,6 +481,7 @@
SUBMITTED_CANDIDATE_ROW_GE10 = 19;
KEYBOARD_FOLD_EVENT = 20;
KEYBOARD_EXPAND_EVENT = 21;
+ MUSHROOM_SELECTION_DIALOG_OPEN_EVENT = 22;
}
optional UsageStatsEvent usage_stats_event = 7;
optional int32 usage_stats_event_int_value = 9;
diff --git a/src/session/session_usage_observer.cc b/src/session/session_usage_observer.cc
index 525503b..f10465e 100644
--- a/src/session/session_usage_observer.cc
+++ b/src/session/session_usage_observer.cc
@@ -367,8 +367,11 @@
case commands::SessionCommand::KEYBOARD_EXPAND_EVENT:
UsageStats::IncrementCount("KeyboardExpandEvent");
break;
+ case commands::SessionCommand::MUSHROOM_SELECTION_DIALOG_OPEN_EVENT:
+ UsageStats::IncrementCount("MushroomSelectionDialogOpen");
+ break;
default:
- LOG(WARNING) << "client side usage stats event has invalid category";
+ LOG(DFATAL) << "client side usage stats event has invalid category";
break;
}
}