Commit 602004df authored by gunsch's avatar gunsch Committed by Commit bot

Chromecast: adds CastMetricsHelper API from Java.

R=byungchul@chromium.org,lcwu@chromium.org
BUG=internal b/21262248

Review URL: https://codereview.chromium.org/1134183004

Cr-Commit-Position: refs/heads/master@{#330556}
parent fb8bb92e
......@@ -6,6 +6,7 @@
#include "base/android/jni_android.h"
#include "base/android/jni_registrar.h"
#include "chromecast/android/cast_metrics_helper_android.h"
#include "chromecast/browser/android/cast_window_android.h"
#include "chromecast/browser/android/cast_window_manager.h"
#include "chromecast/crash/android/crash_handler.h"
......@@ -17,6 +18,7 @@ namespace android {
namespace {
static base::android::RegistrationMethod kMethods[] = {
{ "CastMetricsHelperAndroid", CastMetricsHelperAndroid::RegisterJni },
{ "CastWindowAndroid", shell::CastWindowAndroid::RegisterJni },
{ "CastWindowManager", shell::RegisterCastWindowManager },
{ "CrashHandler", CrashHandler::RegisterCastCrashJni },
......
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromecast/android/cast_metrics_helper_android.h"
#include "chromecast/base/metrics/cast_metrics_helper.h"
#include "jni/CastMetricsHelper_jni.h"
namespace chromecast {
// static
bool CastMetricsHelperAndroid::RegisterJni(JNIEnv* env) {
return RegisterNativesImpl(env);
}
void LogMediaPlay(JNIEnv* env, jclass clazz) {
metrics::CastMetricsHelper::GetInstance()->LogMediaPlay();
}
void LogMediaPause(JNIEnv* env, jclass clazz) {
metrics::CastMetricsHelper::GetInstance()->LogMediaPause();
}
} // namespace chromecast
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMECAST_ANDROID_CAST_METRICS_HELPER_ANDROID_H_
#define CHROMECAST_ANDROID_CAST_METRICS_HELPER_ANDROID_H_
#include <jni.h>
#include <vector>
#include "base/macros.h"
namespace chromecast {
class CastMetricsHelperAndroid {
public:
// Registers the JNI methods for CastMetricsHelperAndroid.
static bool RegisterJni(JNIEnv* env);
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(CastMetricsHelperAndroid);
};
} // namespace chromecast
#endif // CHROMECAST_ANDROID_CAST_METRICS_HELPER_ANDROID_H_
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chromecast.shell;
import org.chromium.base.JNINamespace;
/**
* Wrapper of native CastMetricsHelper.
*/
@JNINamespace("chromecast")
public final class CastMetricsHelper {
public static void logMediaPlay() {
nativeLogMediaPlay();
}
private static native void nativeLogMediaPlay();
public static void logMediaPause() {
nativeLogMediaPause();
}
private static native void nativeLogMediaPause();
}
......@@ -448,6 +448,8 @@
'sources': [
'android/cast_jni_registrar.cc',
'android/cast_jni_registrar.h',
'android/cast_metrics_helper_android.cc',
'android/cast_metrics_helper_android.h',
'android/chromecast_config_android.cc',
'android/chromecast_config_android.h',
'android/platform_jni_loader.h',
......@@ -532,6 +534,7 @@
'type': 'none',
'sources': [
'browser/android/apk/src/org/chromium/chromecast/shell/CastCrashHandler.java',
'browser/android/apk/src/org/chromium/chromecast/shell/CastMetricsHelper.java',
'browser/android/apk/src/org/chromium/chromecast/shell/CastWindowAndroid.java',
'browser/android/apk/src/org/chromium/chromecast/shell/CastWindowManager.java',
],
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment