Merge "PIP: Handle configuration changes" into nyc-dev
This commit is contained in:
@@ -226,6 +226,13 @@ public class PipManager {
|
|||||||
(MediaSessionManager) mContext.getSystemService(Context.MEDIA_SESSION_SERVICE);
|
(MediaSessionManager) mContext.getSystemService(Context.MEDIA_SESSION_SERVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the PIP per configuration changed.
|
||||||
|
*/
|
||||||
|
void onConfigurationChanged() {
|
||||||
|
mPipRecentsOverlayManager.onConfigurationChanged(mContext);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shows the picture-in-picture menu if an activity is in picture-in-picture mode.
|
* Shows the picture-in-picture menu if an activity is in picture-in-picture mode.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -42,9 +42,9 @@ public class PipRecentsOverlayManager {
|
|||||||
|
|
||||||
private final PipManager mPipManager = PipManager.getInstance();
|
private final PipManager mPipManager = PipManager.getInstance();
|
||||||
private final WindowManager mWindowManager;
|
private final WindowManager mWindowManager;
|
||||||
private final View mOverlayView;
|
private View mOverlayView;
|
||||||
private final PipRecentsControlsView mPipControlsView;
|
private PipRecentsControlsView mPipControlsView;
|
||||||
private final View mRecentsView;
|
private View mRecentsView;
|
||||||
|
|
||||||
private final LayoutParams mPipRecentsControlsViewLayoutParams;
|
private final LayoutParams mPipRecentsControlsViewLayoutParams;
|
||||||
private final LayoutParams mPipRecentsControlsViewFocusedLayoutParams;
|
private final LayoutParams mPipRecentsControlsViewFocusedLayoutParams;
|
||||||
@@ -73,6 +73,21 @@ public class PipRecentsOverlayManager {
|
|||||||
PipRecentsOverlayManager(Context context) {
|
PipRecentsOverlayManager(Context context) {
|
||||||
mWindowManager = (WindowManager) context.getSystemService(WindowManager.class);
|
mWindowManager = (WindowManager) context.getSystemService(WindowManager.class);
|
||||||
|
|
||||||
|
mPipRecentsControlsViewLayoutParams = new WindowManager.LayoutParams(
|
||||||
|
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,
|
||||||
|
LayoutParams.TYPE_SYSTEM_DIALOG,
|
||||||
|
LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCHABLE,
|
||||||
|
PixelFormat.TRANSLUCENT);
|
||||||
|
mPipRecentsControlsViewFocusedLayoutParams = new WindowManager.LayoutParams(
|
||||||
|
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,
|
||||||
|
LayoutParams.TYPE_SYSTEM_DIALOG,
|
||||||
|
0,
|
||||||
|
PixelFormat.TRANSLUCENT);
|
||||||
|
|
||||||
|
initViews(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initViews(Context context) {
|
||||||
LayoutInflater inflater = (LayoutInflater) context
|
LayoutInflater inflater = (LayoutInflater) context
|
||||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
mOverlayView = inflater.inflate(R.layout.tv_pip_recents_overlay, null);
|
mOverlayView = inflater.inflate(R.layout.tv_pip_recents_overlay, null);
|
||||||
@@ -86,17 +101,6 @@ public class PipRecentsOverlayManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
mPipRecentsControlsViewLayoutParams = new WindowManager.LayoutParams(
|
|
||||||
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,
|
|
||||||
LayoutParams.TYPE_SYSTEM_DIALOG,
|
|
||||||
LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCHABLE,
|
|
||||||
PixelFormat.TRANSLUCENT);
|
|
||||||
mPipRecentsControlsViewFocusedLayoutParams = new WindowManager.LayoutParams(
|
|
||||||
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,
|
|
||||||
LayoutParams.TYPE_SYSTEM_DIALOG,
|
|
||||||
0,
|
|
||||||
PixelFormat.TRANSLUCENT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -210,4 +214,14 @@ public class PipRecentsOverlayManager {
|
|||||||
boolean isRecentsShown() {
|
boolean isRecentsShown() {
|
||||||
return mIsRecentsShown;
|
return mIsRecentsShown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the PIP per configuration changed.
|
||||||
|
*/
|
||||||
|
void onConfigurationChanged(Context context) {
|
||||||
|
if (mIsRecentsShown) {
|
||||||
|
Log.w(TAG, "Configuration is changed while Recents is shown");
|
||||||
|
}
|
||||||
|
initViews(context);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,6 @@ public class PipUI extends SystemUI {
|
|||||||
if (!mSupportPip) {
|
if (!mSupportPip) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// TODO: handle configuration change.
|
PipManager.getInstance().onConfigurationChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user