Merge "PIP: Handle configuration changes" into nyc-dev am: 75822138ad

am: b917a0e6be

* commit 'b917a0e6be841d23ff56c54b03abb42b3a93d930':
  PIP: Handle configuration changes

Change-Id: I018fc45368eff5fbe9ba5d6f21b00d616e622010
This commit is contained in:
Jaewan Kim
2016-05-24 00:30:38 +00:00
committed by android-build-merger
3 changed files with 36 additions and 15 deletions

View File

@@ -226,6 +226,13 @@ public class PipManager {
(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.
*/

View File

@@ -42,9 +42,9 @@ public class PipRecentsOverlayManager {
private final PipManager mPipManager = PipManager.getInstance();
private final WindowManager mWindowManager;
private final View mOverlayView;
private final PipRecentsControlsView mPipControlsView;
private final View mRecentsView;
private View mOverlayView;
private PipRecentsControlsView mPipControlsView;
private View mRecentsView;
private final LayoutParams mPipRecentsControlsViewLayoutParams;
private final LayoutParams mPipRecentsControlsViewFocusedLayoutParams;
@@ -73,6 +73,21 @@ public class PipRecentsOverlayManager {
PipRecentsOverlayManager(Context context) {
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
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
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() {
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);
}
}

View File

@@ -48,6 +48,6 @@ public class PipUI extends SystemUI {
if (!mSupportPip) {
return;
}
// TODO: handle configuration change.
PipManager.getInstance().onConfigurationChanged();
}
}