Add More Logging to Sample Player

Because the Widevine Sample Play is frequently used to report bugs, it is
helpful to have users' actions logged.  This change prints to the android log
whenever the user changes settings, clicks play, full screen, acquire rights,
etc.

This code does not change the build and is not delivered to customers.  It is
delivered to vendors.

Change-Id: I62c34c2f1683af881a3c326a48f039b463ca3e8e
This commit is contained in:
Fred Gylys-Colwell
2012-09-14 14:03:37 -07:00
parent 8ab3b10971
commit b8ff509887
4 changed files with 40 additions and 9 deletions

View File

@@ -17,6 +17,7 @@ import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.util.Log;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -25,6 +26,8 @@ import android.widget.Button;
public abstract class AssetActivity extends Activity {
public static final String TAG = "WVM Sample Player";
private int currentPage;
protected ArrayList<AssetsPage> pages;
private Context context;
@@ -128,6 +131,7 @@ public abstract class AssetActivity extends Activity {
public void onClick(View v) {
currentPage++;
Log.d(TAG, "Click next page: " + currentPage);
if (currentPage >= pages.size()) {
currentPage = 0;
}
@@ -146,6 +150,7 @@ public abstract class AssetActivity extends Activity {
public void onClick(View v) {
currentPage--;
Log.d(TAG, "Click prev page: " + currentPage);
if (currentPage < 0) {
currentPage = pages.size() - 1;
}
@@ -211,6 +216,7 @@ public abstract class AssetActivity extends Activity {
clip.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click Asset path: " + assetPath);
Intent intent = new Intent(context, VideoPlayerView.class);
intent.putExtra("com.widevine.demo.Path", assetPath);
context.startActivity(intent);

View File

@@ -12,6 +12,7 @@ import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.util.Log;
import android.content.Context;
@@ -23,6 +24,8 @@ public class SettingsActivity extends Activity {
private Button updateButton;
private EditText drmServer, portalName, deviceId, contentPage;
public static final String TAG = "WVM Player Settings";
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -37,6 +40,7 @@ public class SettingsActivity extends Activity {
View.OnClickListener clickListener = new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click update settings");
WidevineDrm.Settings.DRM_SERVER_URI = drmServer.getText().toString();
WidevineDrm.Settings.DEVICE_ID = deviceId.getText().toString();
WidevineDrm.Settings.PORTAL_NAME = portalName.getText().toString();
@@ -46,6 +50,7 @@ public class SettingsActivity extends Activity {
builder.setMessage("DRM Settings Updated").setCancelable(false)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d(TAG, "Click DRM Settings OK.");
dialog.cancel();
}
});

View File

@@ -81,6 +81,7 @@ public class VideoPlayerView extends Activity {
@Override
protected void onStop() {
Log.d(TAG, "onStop.");
if (videoView != null) {
if (videoView.isPlaying()) {
stopPlayback();
@@ -99,10 +100,10 @@ public class VideoPlayerView extends Activity {
assetUri = this.getIntent().getStringExtra("com.widevine.demo.Path").replaceAll("wvplay", "http");
drm = new WidevineDrm(this);
drm.logBuffer.append("Asset Uri: " + assetUri + "\n");
drm.logBuffer.append("Drm Server: " + WidevineDrm.Settings.DRM_SERVER_URI + "\n");
drm.logBuffer.append("Device Id: " + WidevineDrm.Settings.DEVICE_ID + "\n");
drm.logBuffer.append("Portal Name: " + WidevineDrm.Settings.PORTAL_NAME + "\n");
logMessage("Asset Uri: " + assetUri + "\n");
logMessage("Drm Server: " + WidevineDrm.Settings.DRM_SERVER_URI + "\n");
logMessage("Device Id: " + WidevineDrm.Settings.DEVICE_ID + "\n");
logMessage("Portal Name: " + WidevineDrm.Settings.PORTAL_NAME + "\n");
// Set log update listener
WidevineDrm.WidevineDrmLogEventListener drmLogListener =
@@ -161,8 +162,6 @@ public class VideoPlayerView extends Activity {
view = videoView;
}
playerFrame.addView(view, new FrameLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.MATCH_PARENT));
@@ -172,6 +171,7 @@ public class VideoPlayerView extends Activity {
bgImage.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click play (start playback).");
startPlayback();
}
@@ -182,6 +182,7 @@ public class VideoPlayerView extends Activity {
fullScreen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click full screen");
int currentPosition = videoView.getCurrentPosition();
videoView.setVisibility(View.INVISIBLE);
if (fullScreen.getText().equals(FULLSCREEN)) {
@@ -223,6 +224,7 @@ public class VideoPlayerView extends Activity {
}
private void startPlayback() {
logMessage("Playback start.");
playButton.setText(R.string.stop);
bgImage.setVisibility(View.GONE);
@@ -242,7 +244,7 @@ public class VideoPlayerView extends Activity {
videoView.setOnErrorListener(new OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
String message = "Unknown error";
String message = "Unknown error: " + what;
switch (what) {
case MediaPlayer.MEDIA_ERROR_UNKNOWN:
message = "Unable to play media";
@@ -254,7 +256,7 @@ public class VideoPlayerView extends Activity {
message = "Invalid media";
break;
}
drm.logBuffer.append(message + "\n");
logMessage(message + "\n");
updateLogs();
bgImage.setVisibility(View.VISIBLE);
@@ -264,6 +266,7 @@ public class VideoPlayerView extends Activity {
videoView.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
Log.d(TAG, "onCompletion.");
stopPlayback();
}
});
@@ -303,7 +306,7 @@ public class VideoPlayerView extends Activity {
message = "Metadata update";
break;
}
drm.logBuffer.append(message + "\n");
logMessage(message + "\n");
updateLogs();
@@ -328,6 +331,7 @@ public class VideoPlayerView extends Activity {
}
private void stopPlayback() {
logMessage("Stop Playback.");
playButton.setText(R.string.play);
bgImage.setVisibility(View.VISIBLE);
@@ -362,6 +366,7 @@ public class VideoPlayerView extends Activity {
onStop();
useMediaCodec = (useMediaCodec) ? false : true;
Log.d(TAG, "Click media codec mode. useMediaCodec = "+useMediaCodec);
contentView = createView();
if (drm.isProvisionedDevice()) {
setContentView(contentView);
@@ -377,6 +382,7 @@ public class VideoPlayerView extends Activity {
playButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click play");
Button b = (Button) v;
if (b.getText().equals(PLAY)) {
startPlayback();
@@ -392,6 +398,7 @@ public class VideoPlayerView extends Activity {
rightsButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click rights");
drm.acquireRights(assetUri);
updateLogs();
}
@@ -403,6 +410,7 @@ public class VideoPlayerView extends Activity {
removeButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click remove rights");
drm.removeRights(assetUri);
updateLogs();
}
@@ -414,6 +422,7 @@ public class VideoPlayerView extends Activity {
checkButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click check rights");
drm.showRights(assetUri);
updateLogs();
}
@@ -425,6 +434,7 @@ public class VideoPlayerView extends Activity {
checkConstraints.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Click get constraints");
drm.getConstraints(assetUri);
updateLogs();
@@ -470,4 +480,10 @@ public class VideoPlayerView extends Activity {
Log.v("VideoPlayerView", "------------------- onPause ----------------");
onStop();
}
private void logMessage(String message) {
Log.d(TAG, message);
drm.logBuffer.append(message);
}
}

View File

@@ -8,6 +8,7 @@ import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.util.EventListener;
import java.util.Set;
import android.util.Log;
import android.content.ContentValues;
import android.content.Context;
@@ -22,6 +23,8 @@ import android.drm.DrmStore;
public class WidevineDrm {
public static final String TAG = "WVM Sample Player";
interface WidevineDrmLogEventListener extends EventListener {
public void logUpdated();
}
@@ -304,6 +307,7 @@ public class WidevineDrm {
}
private void logMessage(String message) {
Log.d(TAG, message);
logBuffer.append(message);
if (logEventListener != null) {