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

This commit is contained in:
TreeHugger Robot
2020-06-25 00:41:07 +00:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 8 deletions

View File

@@ -1900,13 +1900,11 @@ 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:" + getOuterContext();
+ " from a non-visual Context. ";
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 "
@@ -2371,7 +2369,6 @@ class ContextImpl extends Context {
context.setResources(createResources(mToken, mPackageInfo, mSplitName, displayId,
overrideConfiguration, getDisplayAdjustments(displayId).getCompatibilityInfo(),
mResources.getLoaders()));
context.mIsUiContext = isUiContext() || getOuterContext().isUiContext();
return context;
}

View File

@@ -500,13 +500,12 @@ 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:"
+ context;
final String errorMessage = "Tried to access UI constants from a non-visual 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);