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

Commit 771804d6 authored by Charles Chen's avatar Charles Chen Committed by Automerger Merge Worker
Browse files

Merge "Enable IMS and its config context to obtain UI component" into rvc-dev...

Merge "Enable IMS and its config context to obtain UI component" into rvc-dev am: 86557430 am: e3138eca am: dc26be93

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11818544

Change-Id: Ie3b7c0adfe848d977399776020b212b67b656f4b
parents 28b4f441 dc26be93
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1900,11 +1900,13 @@ class ContextImpl extends Context {

    @Override
    public Object getSystemService(String name) {
        // We may override this API from outer context.
        final boolean isUiContext = isUiContext() || getOuterContext().isUiContext();
        // Check incorrect Context usage.
        if (isUiComponent(name) && !isUiContext() && vmIncorrectContextUseEnabled()) {
        if (isUiComponent(name) && !isUiContext && vmIncorrectContextUseEnabled()) {
            final String errorMessage = "Tried to access visual service "
                    + SystemServiceRegistry.getSystemServiceClassName(name)
                    + " from a non-visual Context. ";
                    + " from a non-visual Context:" + getOuterContext();
            final String message = "Visual services, such as WindowManager, WallpaperService or "
                    + "LayoutInflater should be accessed from Activity or other visual Context. "
                    + "Use an Activity or a Context created with "
@@ -2369,6 +2371,7 @@ class ContextImpl extends Context {
        context.setResources(createResources(mToken, mPackageInfo, mSplitName, displayId,
                overrideConfiguration, getDisplayAdjustments(displayId).getCompatibilityInfo(),
                mResources.getLoaders()));
        context.mIsUiContext = isUiContext() || getOuterContext().isUiContext();
        return context;
    }

+3 −2
Original line number Diff line number Diff line
@@ -500,12 +500,13 @@ public class ViewConfiguration {
     */
    public static ViewConfiguration get(Context context) {
        if (!context.isUiContext() && vmIncorrectContextUseEnabled()) {
            final String errorMessage = "Tried to access UI constants from a non-visual Context.";
            final String errorMessage = "Tried to access UI constants from a non-visual Context:"
                    + context;
            final String message = "UI constants, such as display metrics or window metrics, "
                    + "must be accessed from Activity or other visual Context. "
                    + "Use an Activity or a Context created with "
                    + "Context#createWindowContext(int, Bundle), which are adjusted to the "
                    + "configuration and visual bounds of an area on screen.";
                    + "configuration and visual bounds of an area on screen";
            final Exception exception = new IllegalArgumentException(errorMessage);
            StrictMode.onIncorrectContextUsed(message, exception);
            Log.e(TAG, errorMessage + message, exception);