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

Commit adc80a9f authored by Naomi Musgrave's avatar Naomi Musgrave Committed by Android (Google) Code Review
Browse files

Merge ""Revert "Temporarily exclude Launcher from sandboxing; to be reverted once"""

parents b5283915 b1b6def8
Loading
Loading
Loading
Loading
+1 −41
Original line number Diff line number Diff line
@@ -26,11 +26,9 @@ import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SuppressLint;
import android.annotation.TestApi;
import android.app.ActivityThread;
import android.app.KeyguardManager;
import android.app.WindowConfiguration;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.content.res.CompatibilityInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
@@ -52,14 +50,11 @@ import android.util.ArraySet;
import android.util.DisplayMetrics;
import android.util.Log;

import com.android.internal.R;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;

/**
 * Provides information about the size and density of a logical display.
@@ -115,12 +110,6 @@ public final class Display {
    private int mCachedAppWidthCompat;
    private int mCachedAppHeightCompat;

    /**
     * Cache if the application is the recents component.
     * TODO(b/179308296) Remove once Launcher addresses issue
     */
    private Optional<Boolean> mIsRecentsComponent = Optional.empty();

    /**
     * The default Display id, which is the id of the primary display assuming there is one.
     */
@@ -1585,36 +1574,7 @@ public final class Display {
            return false;
        }
        final Configuration config = mResources.getConfiguration();
        // TODO(b/179308296) Temporarily exclude Launcher from being given max bounds, by checking
        // if the caller is the recents component.
        return config != null && !config.windowConfiguration.getMaxBounds().isEmpty()
                && !isRecentsComponent();
    }

    /**
     * Returns {@code true} when the calling package is the recents component.
     * TODO(b/179308296) Remove once Launcher addresses issue
     */
    boolean isRecentsComponent() {
        if (mIsRecentsComponent.isPresent()) {
            return mIsRecentsComponent.get();
        }
        if (mResources == null) {
            return false;
        }
        try {
            String recentsComponent = mResources.getString(R.string.config_recentsComponentName);
            if (recentsComponent == null) {
                return false;
            }
            String recentsPackage = ComponentName.unflattenFromString(recentsComponent)
                    .getPackageName();
            mIsRecentsComponent = Optional.of(recentsPackage != null
                    && recentsPackage.equals(ActivityThread.currentPackageName()));
            return mIsRecentsComponent.get();
        } catch (Resources.NotFoundException e) {
            return false;
        }
        return config != null && !config.windowConfiguration.getMaxBounds().isEmpty();
    }

    /**