diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index 417a95fbc4170..88c1627f955bc 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -16,7 +16,10 @@ package android.content.res; +import android.graphics.Point; import android.graphics.Rect; +import android.util.DisplayMetrics; +import android.view.Display; import android.view.DisplayInfo; import com.android.internal.util.XmlUtils; @@ -42,12 +45,6 @@ import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Locale; -import static android.view.Surface.ROTATION_UNDEFINED; -import static android.view.Surface.ROTATION_0; -import static android.view.Surface.ROTATION_90; -import static android.view.Surface.ROTATION_180; -import static android.view.Surface.ROTATION_270; - /** * This class describes all device configuration information that can * impact the resources the application retrieves. This includes both @@ -603,13 +600,6 @@ public final class Configuration implements Parcelable, Comparable>>>>> CALLING relayout"); if (params != null && mOrigWindowType != params.type) { // For compatibility with old apps, don't crash here. @@ -6112,10 +6102,6 @@ public final class ViewRootImpl implements ViewParent, mPendingStableInsets, mPendingOutsets, mPendingBackDropFrame, mPendingMergedConfiguration, mSurface); - if (initialConfigSeq == mPendingMergedConfiguration.getMergedConfiguration().seq) { - mPendingMergedConfiguration.getMergedConfiguration().seq = 0; - } - mPendingAlwaysConsumeNavBar = (relayoutResult & WindowManagerGlobal.RELAYOUT_RES_CONSUME_ALWAYS_NAV_BAR) != 0; diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index a8e0d761afc39..ccc8f63e43557 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -1162,8 +1162,6 @@ class DisplayContent extends WindowContainer implements WindowManagerP mWinAnimator.applyEnterAnimationLocked(); } - // always report back the new configuration - final Configuration globalConfig = mService.mRoot.getConfiguration(); - final Configuration overrideConfig = getMergedOverrideConfiguration(); - mergedConfiguration.setConfiguration(globalConfig, overrideConfig); - if (DEBUG_CONFIGURATION) Slog.i(TAG, "Window " + this - + " reporting new global config: " + globalConfig - + " merged override config: " + overrideConfig); - mLastReportedConfiguration.setTo(getConfiguration()); + if (isConfigChanged()) { + final Configuration globalConfig = mService.mRoot.getConfiguration(); + final Configuration overrideConfig = getMergedOverrideConfiguration(); + mergedConfiguration.setConfiguration(globalConfig, overrideConfig); + if (DEBUG_CONFIGURATION) Slog.i(TAG, "Window " + this + + " visible with new global config: " + globalConfig + + " merged override config: " + overrideConfig); + mLastReportedConfiguration.setTo(getConfiguration()); + } } void adjustStartingWindowFlags() {