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

Commit 7ff3ff33 authored by Wale Ogunwale's avatar Wale Ogunwale Committed by Android (Google) Code Review
Browse files

Merge "Switch WindowContainer to use ConfigurationContainer"

parents eb5600a2 98d6231f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -165,6 +165,7 @@ import com.android.server.AttributeCache.Entry;
import com.android.server.am.ActivityStack.ActivityState;
import com.android.server.wm.AppWindowContainerController;
import com.android.server.wm.AppWindowContainerListener;
import com.android.server.wm.ConfigurationContainer;
import com.android.server.wm.TaskWindowContainerController;

import org.xmlpull.v1.XmlPullParser;
@@ -2221,7 +2222,7 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo
    }

    @Override
    void onOverrideConfigurationChanged(Configuration newConfig) {
    public void onOverrideConfigurationChanged(Configuration newConfig) {
        final Configuration currentConfig = getOverrideConfiguration();
        if (currentConfig.equals(newConfig)) {
            return;
+2 −1
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@ import com.android.internal.app.IVoiceInteractor;
import com.android.internal.os.BatteryStatsImpl;
import com.android.server.Watchdog;
import com.android.server.am.ActivityManagerService.ItemMatcher;
import com.android.server.wm.ConfigurationContainer;
import com.android.server.wm.StackWindowController;
import com.android.server.wm.StackWindowListener;
import com.android.server.wm.WindowManagerService;
@@ -209,7 +210,7 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
    }

    @Override
    void onParentChanged() {
    protected void onParentChanged() {
        super.onParentChanged();
        mStackSupervisor.updateUIDsPresentOnDisplay();
    }
+1 −1
Original line number Diff line number Diff line
@@ -134,7 +134,6 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.ParcelFileDescriptor;
import android.os.PowerManager;
import android.os.Process;
import android.os.RemoteException;
@@ -167,6 +166,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.widget.LockPatternUtils;
import com.android.server.LocalServices;
import com.android.server.am.ActivityStack.ActivityState;
import com.android.server.wm.ConfigurationContainer;
import com.android.server.wm.PinnedStackWindowController;
import com.android.server.wm.WindowManagerService;

+2 −1
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ import com.android.internal.app.IVoiceInteractor;
import com.android.internal.util.XmlUtils;

import com.android.server.wm.AppWindowContainerController;
import com.android.server.wm.ConfigurationContainer;
import com.android.server.wm.StackWindowController;
import com.android.server.wm.TaskWindowContainerController;
import com.android.server.wm.TaskWindowContainerListener;
@@ -971,7 +972,7 @@ final class TaskRecord extends ConfigurationContainer implements TaskWindowConta
    }

    @Override
    void onParentChanged() {
    protected void onParentChanged() {
        super.onParentChanged();
        mService.mStackSupervisor.updateUIDsPresentOnDisplay();
    }
+10 −12
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 The Android Open Source Project
 * 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.
@@ -14,7 +14,7 @@
 * limitations under the License
 */

package com.android.server.am;
package com.android.server.wm;

import android.content.res.Configuration;

@@ -22,9 +22,7 @@ import android.content.res.Configuration;
 * Contains common logic for classes that have override configurations and are organized in a
 * hierarchy.
 */
// TODO(b/36505427): Move to wm package and have WindowContainer use this instead of having its own
// implementation for merging configuration.
abstract class ConfigurationContainer<E extends ConfigurationContainer> {
public abstract class ConfigurationContainer<E extends ConfigurationContainer> {

    /** Contains override configuration settings applied to this configuration container. */
    private Configuration mOverrideConfiguration = new Configuration();
@@ -47,7 +45,7 @@ abstract class ConfigurationContainer<E extends ConfigurationContainer> {
     * This method should be used for getting settings applied in each particular level of the
     * hierarchy.
     */
    Configuration getConfiguration() {
    public Configuration getConfiguration() {
        return mFullConfiguration;
    }

@@ -55,7 +53,7 @@ abstract class ConfigurationContainer<E extends ConfigurationContainer> {
     * Notify that parent config changed and we need to update full configuration.
     * @see #mFullConfiguration
     */
    void onConfigurationChanged(Configuration newParentConfig) {
    public void onConfigurationChanged(Configuration newParentConfig) {
        mFullConfiguration.setTo(newParentConfig);
        mFullConfiguration.updateFrom(mOverrideConfiguration);
        for (int i = getChildCount() - 1; i >= 0; --i) {
@@ -65,7 +63,7 @@ abstract class ConfigurationContainer<E extends ConfigurationContainer> {
    }

    /** Returns override configuration applied to this configuration container. */
    Configuration getOverrideConfiguration() {
    public Configuration getOverrideConfiguration() {
        return mOverrideConfiguration;
    }

@@ -74,7 +72,7 @@ abstract class ConfigurationContainer<E extends ConfigurationContainer> {
     * @see #mOverrideConfiguration
     * @see #mFullConfiguration
     */
    void onOverrideConfigurationChanged(Configuration overrideConfiguration) {
    public void onOverrideConfigurationChanged(Configuration overrideConfiguration) {
        mOverrideConfiguration.setTo(overrideConfiguration);
        // Update full configuration of this container and all its children.
        final ConfigurationContainer parent = getParent();
@@ -87,7 +85,7 @@ abstract class ConfigurationContainer<E extends ConfigurationContainer> {
     * Get merged override configuration from the top of the hierarchy down to this particular
     * instance. This should be reported to client as override config.
     */
    Configuration getMergedOverrideConfiguration() {
    public Configuration getMergedOverrideConfiguration() {
        return mMergedOverrideConfiguration;
    }

@@ -97,7 +95,7 @@ abstract class ConfigurationContainer<E extends ConfigurationContainer> {
     * override config.
     * @see #mMergedOverrideConfiguration
     */
    private void onMergedOverrideConfigurationChanged() {
    void onMergedOverrideConfigurationChanged() {
        final ConfigurationContainer parent = getParent();
        if (parent != null) {
            mMergedOverrideConfiguration.setTo(parent.getMergedOverrideConfiguration());
@@ -114,7 +112,7 @@ abstract class ConfigurationContainer<E extends ConfigurationContainer> {
    /**
     * Must be called when new parent for the container was set.
     */
    void onParentChanged() {
    protected void onParentChanged() {
        final ConfigurationContainer parent = getParent();
        // Removing parent usually means that we've detached this entity to destroy it or to attach
        // to another parent. In both cases we don't need to update the configuration now.
Loading