Merge "Add permission check before setMain()" into oc-mr1-dev
am: 67744e4696
Change-Id: I26ef67a44b8c041900958bd7a33097c6052c073a
This commit is contained in:
@@ -22,6 +22,7 @@ import android.annotation.Nullable;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.annotation.SystemApi;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.Rect;
|
||||
@@ -680,7 +681,8 @@ public class TvView extends ViewGroup {
|
||||
// Other app may have shown its own main TvView.
|
||||
// Set main again to regain main session.
|
||||
synchronized (sMainTvViewLock) {
|
||||
if (hasFocus && this == sMainTvView.get() && mSession != null) {
|
||||
if (hasFocus && this == sMainTvView.get() && mSession != null
|
||||
&& checkChangeHdmiCecActiveSourcePermission()) {
|
||||
mSession.setMain();
|
||||
}
|
||||
}
|
||||
@@ -848,6 +850,12 @@ public class TvView extends ViewGroup {
|
||||
return frame;
|
||||
}
|
||||
|
||||
private boolean checkChangeHdmiCecActiveSourcePermission() {
|
||||
return getContext().checkSelfPermission(
|
||||
android.Manifest.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE)
|
||||
== PackageManager.PERMISSION_GRANTED;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback used to receive time shift position changes.
|
||||
*/
|
||||
@@ -1080,7 +1088,8 @@ public class TvView extends ViewGroup {
|
||||
mPendingAppPrivateCommands.clear();
|
||||
|
||||
synchronized (sMainTvViewLock) {
|
||||
if (hasWindowFocus() && TvView.this == sMainTvView.get()) {
|
||||
if (hasWindowFocus() && TvView.this == sMainTvView.get()
|
||||
&& checkChangeHdmiCecActiveSourcePermission()) {
|
||||
mSession.setMain();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user