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

Commit 88b0cd12 authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Specify user for getProperty of package" into main

parents bf4ffba2 fd37a192
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -2092,7 +2092,8 @@ final class ActivityRecord extends WindowToken {
        }
        try {
            return mAtmService.mContext.getPackageManager()
                    .getProperty(PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED, packageName)
                    .getPropertyAsUser(PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED, packageName,
                            null /* className */, mUserId)
                    .getBoolean();
        } catch (PackageManager.NameNotFoundException e) {
            // No such property name.
@@ -2950,8 +2951,9 @@ final class ActivityRecord extends WindowToken {
        }
        try {
            return mAtmService.mContext.getPackageManager()
                    .getProperty(PROPERTY_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING_STATE_SHARING,
                            mActivityComponent)
                    .getPropertyAsUser(PROPERTY_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING_STATE_SHARING,
                            mActivityComponent.getPackageName(),
                            mActivityComponent.getClassName(), mUserId)
                    .getBoolean();
        } catch (PackageManager.NameNotFoundException e) {
            // No such property name.
@@ -3151,7 +3153,8 @@ final class ActivityRecord extends WindowToken {
            return true;
        }
        return !AppCompatResizeOverrides.allowRestrictedResizability(
                wms.mContext.getPackageManager(), appInfo.packageName);
                wms.mContext.getPackageManager(), appInfo.packageName,
                UserHandle.getUserId(appInfo.uid));
    }

    boolean isResizeable() {
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ class AppCompatController {
                        @NonNull ActivityRecord activityRecord) {
        final PackageManager packageManager = wmService.mContext.getPackageManager();
        final OptPropFactory optPropBuilder = new OptPropFactory(packageManager,
                activityRecord.packageName);
                activityRecord.packageName, activityRecord.mUserId);
        mDeviceStateQuery = new AppCompatDeviceStateQuery(activityRecord);
        mTransparentPolicy = new TransparentPolicy(activityRecord,
                wmService.mAppCompatConfiguration);
+7 −4
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZA
import static com.android.server.wm.AppCompatUtils.isChangeEnabled;

import android.annotation.NonNull;
import android.annotation.UserIdInt;
import android.content.pm.PackageManager;

import com.android.server.wm.utils.OptPropFactory;
@@ -52,7 +53,8 @@ class AppCompatResizeOverrides {
                PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES);
        mAllowRestrictedResizability = AppCompatUtils.asLazy(() -> {
            // Application level.
            if (allowRestrictedResizability(packageManager, mActivityRecord.packageName)) {
            if (allowRestrictedResizability(packageManager, mActivityRecord.packageName,
                    mActivityRecord.mUserId)) {
                return true;
            }
            // Activity level.
@@ -68,10 +70,11 @@ class AppCompatResizeOverrides {
        });
    }

    static boolean allowRestrictedResizability(PackageManager pm, String packageName) {
    static boolean allowRestrictedResizability(@NonNull PackageManager pm,
            @NonNull String packageName, @UserIdInt int userId) {
        try {
            return pm.getProperty(PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY, packageName)
                    .getBoolean();
            return pm.getPropertyAsUser(PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY, packageName,
                            null /* className */, userId).getBoolean();
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
+2 −2
Original line number Diff line number Diff line
@@ -1846,9 +1846,9 @@ class Task extends TaskFragment {

    private void updateAllowForceResizeOverride() {
        try {
            mAllowForceResizeOverride = mAtmService.mContext.getPackageManager().getProperty(
            mAllowForceResizeOverride = mAtmService.mContext.getPackageManager().getPropertyAsUser(
                    PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES,
                    getBasePackageName()).getBoolean();
                    getBasePackageName(), null /* className */, mUserId).getBoolean();
        } catch (PackageManager.NameNotFoundException e) {
            // Package not found or property not defined, reset to default value.
            mAllowForceResizeOverride = true;
+11 −3
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static java.lang.Boolean.TRUE;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.UserIdInt;
import android.content.pm.PackageManager;
import android.util.Slog;

@@ -38,15 +39,20 @@ public class OptPropFactory {
    @NonNull
    private final String mPackageName;

    @UserIdInt
    private final int mUserId;

    /**
     * Object responsible to handle optIn and optOut properties.
     *
     * @param packageManager The PackageManager reference
     * @param packageName    The name of the package.
     */
    public OptPropFactory(@NonNull PackageManager packageManager, @NonNull String packageName) {
    public OptPropFactory(@NonNull PackageManager packageManager, @NonNull String packageName,
            @UserIdInt int userId) {
        mPackageManager = packageManager;
        mPackageName = packageName;
        mUserId = userId;
    }

    /**
@@ -58,7 +64,8 @@ public class OptPropFactory {
    @NonNull
    public OptProp create(@NonNull String propertyName) {
        return OptProp.create(
                () -> mPackageManager.getProperty(propertyName, mPackageName).getBoolean(),
                () -> mPackageManager.getPropertyAsUser(propertyName, mPackageName,
                        null /* className */, mUserId).getBoolean(),
                propertyName);
    }

@@ -73,7 +80,8 @@ public class OptPropFactory {
    @NonNull
    public OptProp create(@NonNull String propertyName, @NonNull BooleanSupplier gateCondition) {
        return OptProp.create(
                () -> mPackageManager.getProperty(propertyName, mPackageName).getBoolean(),
                () -> mPackageManager.getPropertyAsUser(propertyName, mPackageName,
                        null /* className */, mUserId).getBoolean(),
                propertyName,
                gateCondition);
    }
Loading