Loading core/java/com/android/internal/policy/PipSnapAlgorithm.java +10 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.view.Gravity; import android.view.ViewConfiguration; import android.widget.Scroller; import java.io.PrintWriter; import java.util.ArrayList; /** Loading Loading @@ -322,4 +323,13 @@ public class PipSnapAlgorithm { break; } } public void dump(PrintWriter pw, String prefix) { final String innerPrefix = prefix + " "; pw.println(prefix + PipSnapAlgorithm.class.getSimpleName()); pw.println(innerPrefix + "mSnapMode=" + mSnapMode); pw.println(innerPrefix + "mOrientation=" + mOrientation); pw.println(innerPrefix + "mMinimizedVisibleSize=" + mMinimizedVisibleSize); pw.println(innerPrefix + "mIsMinimized=" + mIsMinimized); } } packages/SystemUI/src/com/android/systemui/pip/BasePipManager.java 0 → 100644 +27 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.systemui.pip; import android.content.Context; import java.io.PrintWriter; public interface BasePipManager { void initialize(Context context); void onConfigurationChanged(); void dump(PrintWriter pw); } packages/SystemUI/src/com/android/systemui/pip/PipUI.java +21 −11 Original line number Diff line number Diff line Loading @@ -24,11 +24,16 @@ import android.content.res.Configuration; import com.android.systemui.SystemUI; import java.io.FileDescriptor; import java.io.PrintWriter; /** * Controls the picture-in-picture window. */ public class PipUI extends SystemUI { private BasePipManager mPipManager; private boolean mSupportsPip; private boolean mIsLeanBackOnly; Loading @@ -36,27 +41,32 @@ public class PipUI extends SystemUI { public void start() { PackageManager pm = mContext.getPackageManager(); mSupportsPip = pm.hasSystemFeature(FEATURE_PICTURE_IN_PICTURE); mIsLeanBackOnly = pm.hasSystemFeature(FEATURE_LEANBACK_ONLY); if (!mSupportsPip) { return; } if (mIsLeanBackOnly) { com.android.systemui.pip.tv.PipManager.getInstance().initialize(mContext); } else { com.android.systemui.pip.phone.PipManager.getInstance().initialize(mContext); } mPipManager = pm.hasSystemFeature(FEATURE_LEANBACK_ONLY) ? com.android.systemui.pip.tv.PipManager.getInstance() : com.android.systemui.pip.phone.PipManager.getInstance(); mPipManager.initialize(mContext); } @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (!mSupportsPip) { if (mPipManager == null) { return; } if (mIsLeanBackOnly) { com.android.systemui.pip.tv.PipManager.getInstance().onConfigurationChanged(); } else { com.android.systemui.pip.phone.PipManager.getInstance().onConfigurationChanged(); mPipManager.onConfigurationChanged(); } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { if (mPipManager == null) { return; } mPipManager.dump(pw); } } packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java +11 −1 Original line number Diff line number Diff line Loading @@ -32,13 +32,16 @@ import android.view.IPinnedStackListener; import android.view.IWindowManager; import android.view.WindowManagerGlobal; import com.android.systemui.pip.BasePipManager; import com.android.systemui.recents.misc.SystemServicesProxy; import com.android.systemui.recents.misc.SystemServicesProxy.TaskStackListener; import java.io.PrintWriter; /** * Manages the picture-in-picture (PIP) UI and states for Phones. */ public class PipManager { public class PipManager implements BasePipManager { private static final String TAG = "PipManager"; private static PipManager sPipController; Loading Loading @@ -179,4 +182,11 @@ public class PipManager { } return sPipController; } public void dump(PrintWriter pw) { final String innerPrefix = " "; pw.println(TAG); mMenuController.dump(pw, innerPrefix); mTouchHandler.dump(pw, innerPrefix); } } packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java +8 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.view.IWindowManager; import com.android.systemui.pip.phone.PipMediaController.ActionListener; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; Loading Loading @@ -264,4 +265,11 @@ public class PipMenuActivityController { } mVisible = visible; } public void dump(PrintWriter pw, String prefix) { final String innerPrefix = prefix + " "; pw.println(prefix + TAG); pw.println(innerPrefix + "mVisible=" + mVisible); pw.println(innerPrefix + "mListeners=" + mListeners.size()); } } Loading
core/java/com/android/internal/policy/PipSnapAlgorithm.java +10 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.view.Gravity; import android.view.ViewConfiguration; import android.widget.Scroller; import java.io.PrintWriter; import java.util.ArrayList; /** Loading Loading @@ -322,4 +323,13 @@ public class PipSnapAlgorithm { break; } } public void dump(PrintWriter pw, String prefix) { final String innerPrefix = prefix + " "; pw.println(prefix + PipSnapAlgorithm.class.getSimpleName()); pw.println(innerPrefix + "mSnapMode=" + mSnapMode); pw.println(innerPrefix + "mOrientation=" + mOrientation); pw.println(innerPrefix + "mMinimizedVisibleSize=" + mMinimizedVisibleSize); pw.println(innerPrefix + "mIsMinimized=" + mIsMinimized); } }
packages/SystemUI/src/com/android/systemui/pip/BasePipManager.java 0 → 100644 +27 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.systemui.pip; import android.content.Context; import java.io.PrintWriter; public interface BasePipManager { void initialize(Context context); void onConfigurationChanged(); void dump(PrintWriter pw); }
packages/SystemUI/src/com/android/systemui/pip/PipUI.java +21 −11 Original line number Diff line number Diff line Loading @@ -24,11 +24,16 @@ import android.content.res.Configuration; import com.android.systemui.SystemUI; import java.io.FileDescriptor; import java.io.PrintWriter; /** * Controls the picture-in-picture window. */ public class PipUI extends SystemUI { private BasePipManager mPipManager; private boolean mSupportsPip; private boolean mIsLeanBackOnly; Loading @@ -36,27 +41,32 @@ public class PipUI extends SystemUI { public void start() { PackageManager pm = mContext.getPackageManager(); mSupportsPip = pm.hasSystemFeature(FEATURE_PICTURE_IN_PICTURE); mIsLeanBackOnly = pm.hasSystemFeature(FEATURE_LEANBACK_ONLY); if (!mSupportsPip) { return; } if (mIsLeanBackOnly) { com.android.systemui.pip.tv.PipManager.getInstance().initialize(mContext); } else { com.android.systemui.pip.phone.PipManager.getInstance().initialize(mContext); } mPipManager = pm.hasSystemFeature(FEATURE_LEANBACK_ONLY) ? com.android.systemui.pip.tv.PipManager.getInstance() : com.android.systemui.pip.phone.PipManager.getInstance(); mPipManager.initialize(mContext); } @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (!mSupportsPip) { if (mPipManager == null) { return; } if (mIsLeanBackOnly) { com.android.systemui.pip.tv.PipManager.getInstance().onConfigurationChanged(); } else { com.android.systemui.pip.phone.PipManager.getInstance().onConfigurationChanged(); mPipManager.onConfigurationChanged(); } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { if (mPipManager == null) { return; } mPipManager.dump(pw); } }
packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java +11 −1 Original line number Diff line number Diff line Loading @@ -32,13 +32,16 @@ import android.view.IPinnedStackListener; import android.view.IWindowManager; import android.view.WindowManagerGlobal; import com.android.systemui.pip.BasePipManager; import com.android.systemui.recents.misc.SystemServicesProxy; import com.android.systemui.recents.misc.SystemServicesProxy.TaskStackListener; import java.io.PrintWriter; /** * Manages the picture-in-picture (PIP) UI and states for Phones. */ public class PipManager { public class PipManager implements BasePipManager { private static final String TAG = "PipManager"; private static PipManager sPipController; Loading Loading @@ -179,4 +182,11 @@ public class PipManager { } return sPipController; } public void dump(PrintWriter pw) { final String innerPrefix = " "; pw.println(TAG); mMenuController.dump(pw, innerPrefix); mTouchHandler.dump(pw, innerPrefix); } }
packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java +8 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.view.IWindowManager; import com.android.systemui.pip.phone.PipMediaController.ActionListener; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; Loading Loading @@ -264,4 +265,11 @@ public class PipMenuActivityController { } mVisible = visible; } public void dump(PrintWriter pw, String prefix) { final String innerPrefix = prefix + " "; pw.println(prefix + TAG); pw.println(innerPrefix + "mVisible=" + mVisible); pw.println(innerPrefix + "mListeners=" + mListeners.size()); } }