Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaInfo.java | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaInfo.java | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..58870c8f5496fd57ea8d588ffb3ac3d49b42cdae | 
| --- /dev/null | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaInfo.java | 
| @@ -0,0 +1,84 @@ | 
| +// Copyright 2013 The Chromium Authors. All rights reserved. | 
| 
 
mlamouri (slow - plz ping)
2015/06/18 16:43:22
2015
 
whywhat
2015/06/19 16:00:34
Done.
 
 | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +package org.chromium.chrome.browser.media.ui; | 
| + | 
| +import android.text.TextUtils; | 
| + | 
| +/** | 
| + * Exposes information about the current media to the external clients. | 
| + */ | 
| +public class MediaInfo { | 
| + | 
| + // Playback state enum. | 
| + public static final int PLAYING = 0; | 
| + public static final int PAUSED = 1; | 
| + | 
| + /** | 
| + * The title of the media | 
| + */ | 
| + public String title; | 
| + | 
| + /** | 
| + * The current state of the media | 
| + */ | 
| + public int state; | 
| 
 
mlamouri (slow - plz ping)
2015/06/18 16:43:22
Why not a boolean? We could move to an enum later
 
whywhat
2015/06/19 16:00:34
Done.
 
 | 
| + | 
| + /** | 
| + * The eTLD+1 of the media | 
| 
 
mlamouri (slow - plz ping)
2015/06/18 16:43:22
I believe this is the origin, not eTLD+1.
Also, n
 
whywhat
2015/06/19 16:00:34
Well, the origin doesn't have a simple definition,
 
mlamouri (slow - plz ping)
2015/06/22 14:34:17
Origin has a fairly simple definition:
scheme + su
 
whywhat
2015/06/23 19:39:10
It doesn't show the default port for https.
Just
 
 | 
| + */ | 
| + public String broadDomain; | 
| 
 
mlamouri (slow - plz ping)
2015/06/18 16:43:22
Why not call it origin?
 
whywhat
2015/06/19 16:00:34
See above. Also, the MediaCapture notification use
 
 | 
| + | 
| + /** | 
| + * The id of the tab containing the media | 
| + */ | 
| + public int tabId; | 
| + | 
| + /** | 
| + * Create a new MediaInfo | 
| + * @param title | 
| + * @param state | 
| + * @param broadDomain | 
| + * @param tabId | 
| + */ | 
| + public MediaInfo( | 
| + String title, | 
| + int state, | 
| + String broadDomain, | 
| + int tabId) { | 
| + this.title = title; | 
| + this.state = state; | 
| + this.broadDomain = broadDomain; | 
| + this.tabId = tabId; | 
| + } | 
| + | 
| + /** | 
| + * Copy a media info | 
| + * @param other the source. | 
| + */ | 
| + public MediaInfo(MediaInfo other) { | 
| + this(other.title, other.state, other.broadDomain, other.tabId); | 
| + } | 
| + | 
| + @Override | 
| + public boolean equals(Object obj) { | 
| + if (obj == this) return true; | 
| + if (!(obj instanceof MediaInfo)) return false; | 
| + | 
| + MediaInfo other = (MediaInfo) obj; | 
| + return state == other.state | 
| + && tabId == other.tabId | 
| + && TextUtils.equals(title, other.title) | 
| + && TextUtils.equals(broadDomain, other.broadDomain); | 
| + } | 
| + | 
| + @Override | 
| + public int hashCode() { | 
| + int result = state; | 
| + result = 31 * result + (title == null ? 0 : title.hashCode()); | 
| + result = 31 * result + (broadDomain == null ? 0 : broadDomain.hashCode()); | 
| + result = 31 * result + tabId; | 
| + return result; | 
| + } | 
| +} |