Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29a78659 authored by Winson Chung's avatar Winson Chung
Browse files

Adding PipManager dumps.

Test: adb shell dumpsys activity service com.android.systemui
Change-Id: Id647833f1b4dcb6226517c058d17d1812f022671
parent 8347163d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.view.Gravity;
import android.view.ViewConfiguration;
import android.widget.Scroller;

import java.io.PrintWriter;
import java.util.ArrayList;

/**
@@ -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);
    }
}
+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);
}
+21 −11
Original line number Diff line number Diff line
@@ -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;

@@ -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);
    }
}
+11 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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);
    }
}
+8 −0
Original line number Diff line number Diff line
@@ -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;

@@ -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