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

Commit 853a7f4a authored by Charles Chen's avatar Charles Chen Committed by Android (Google) Code Review
Browse files

Merge "Update language to comply with Android's inclusive language guidance"

parents 21e884a4 af5cb5e0
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -941,6 +941,7 @@ public final class DisplayManager {
         */
         */
        String KEY_PEAK_REFRESH_RATE_DEFAULT = "peak_refresh_rate_default";
        String KEY_PEAK_REFRESH_RATE_DEFAULT = "peak_refresh_rate_default";


        // TODO(b/162536543): rename it once it is proved not harmful for users.
        /**
        /**
         * Key for controlling which packages are explicitly blocked from running at refresh rates
         * Key for controlling which packages are explicitly blocked from running at refresh rates
         * higher than 60hz. An app may be added to this list if they exhibit performance issues at
         * higher than 60hz. An app may be added to this list if they exhibit performance issues at
+1 −1
Original line number Original line Diff line number Diff line
@@ -649,7 +649,7 @@ public class DisplayPolicy {


        mRefreshRatePolicy = new RefreshRatePolicy(mService,
        mRefreshRatePolicy = new RefreshRatePolicy(mService,
                mDisplayContent.getDisplayInfo(),
                mDisplayContent.getDisplayInfo(),
                mService.mHighRefreshRateBlacklist);
                mService.mHighRefreshRateDenylist);


        mGestureNavigationSettingsObserver = new GestureNavigationSettingsObserver(mHandler,
        mGestureNavigationSettingsObserver = new GestureNavigationSettingsObserver(mHandler,
                mContext, () -> {
                mContext, () -> {
+19 −19
Original line number Original line Diff line number Diff line
@@ -34,62 +34,62 @@ import java.io.PrintWriter;
/**
/**
 * A Denylist for packages that should force the display out of high refresh rate.
 * A Denylist for packages that should force the display out of high refresh rate.
 */
 */
class HighRefreshRateBlacklist {
class HighRefreshRateDenylist {


    private final ArraySet<String> mBlacklistedPackages = new ArraySet<>();
    private final ArraySet<String> mDenylistedPackages = new ArraySet<>();
    @NonNull
    @NonNull
    private final String[] mDefaultBlacklist;
    private final String[] mDefaultDenylist;
    private final Object mLock = new Object();
    private final Object mLock = new Object();


    private DeviceConfigInterface mDeviceConfig;
    private DeviceConfigInterface mDeviceConfig;
    private OnPropertiesChangedListener mListener = new OnPropertiesChangedListener();
    private OnPropertiesChangedListener mListener = new OnPropertiesChangedListener();


    static HighRefreshRateBlacklist create(@NonNull Resources r) {
    static HighRefreshRateDenylist create(@NonNull Resources r) {
        return new HighRefreshRateBlacklist(r, DeviceConfigInterface.REAL);
        return new HighRefreshRateDenylist(r, DeviceConfigInterface.REAL);
    }
    }


    @VisibleForTesting
    @VisibleForTesting
    HighRefreshRateBlacklist(Resources r, DeviceConfigInterface deviceConfig) {
    HighRefreshRateDenylist(Resources r, DeviceConfigInterface deviceConfig) {
        mDefaultBlacklist = r.getStringArray(R.array.config_highRefreshRateBlacklist);
        mDefaultDenylist = r.getStringArray(R.array.config_highRefreshRateBlacklist);
        mDeviceConfig = deviceConfig;
        mDeviceConfig = deviceConfig;
        mDeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_DISPLAY_MANAGER,
        mDeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_DISPLAY_MANAGER,
                BackgroundThread.getExecutor(), mListener);
                BackgroundThread.getExecutor(), mListener);
        final String property = mDeviceConfig.getProperty(DeviceConfig.NAMESPACE_DISPLAY_MANAGER,
        final String property = mDeviceConfig.getProperty(DeviceConfig.NAMESPACE_DISPLAY_MANAGER,
                KEY_HIGH_REFRESH_RATE_BLACKLIST);
                KEY_HIGH_REFRESH_RATE_BLACKLIST);
        updateBlacklist(property);
        updateDenylist(property);
    }
    }


    private void updateBlacklist(@Nullable String property) {
    private void updateDenylist(@Nullable String property) {
        synchronized (mLock) {
        synchronized (mLock) {
            mBlacklistedPackages.clear();
            mDenylistedPackages.clear();
            if (property != null) {
            if (property != null) {
                String[] packages = property.split(",");
                String[] packages = property.split(",");
                for (String pkg : packages) {
                for (String pkg : packages) {
                    String pkgName = pkg.trim();
                    String pkgName = pkg.trim();
                    if (!pkgName.isEmpty()) {
                    if (!pkgName.isEmpty()) {
                        mBlacklistedPackages.add(pkgName);
                        mDenylistedPackages.add(pkgName);
                    }
                    }
                }
                }
            } else {
            } else {
                // If there's no config, or the config has been deleted, fallback to the device's
                // If there's no config, or the config has been deleted, fallback to the device's
                // default denylist
                // default denylist
                for (String pkg : mDefaultBlacklist) {
                for (String pkg : mDefaultDenylist) {
                    mBlacklistedPackages.add(pkg);
                    mDenylistedPackages.add(pkg);
                }
                }
            }
            }
        }
        }
    }
    }


    boolean isBlacklisted(String packageName) {
    boolean isDenylisted(String packageName) {
        synchronized (mLock) {
        synchronized (mLock) {
            return mBlacklistedPackages.contains(packageName);
            return mDenylistedPackages.contains(packageName);
        }
        }
    }
    }
    void dump(PrintWriter pw) {
    void dump(PrintWriter pw) {
        pw.println("High Refresh Rate Blacklist");
        pw.println("High Refresh Rate Denylist");
        pw.println("  Packages:");
        pw.println("  Packages:");
        synchronized (mLock) {
        synchronized (mLock) {
            for (String pkg : mBlacklistedPackages) {
            for (String pkg : mDenylistedPackages) {
                pw.println("    " + pkg);
                pw.println("    " + pkg);
            }
            }
        }
        }
@@ -100,13 +100,13 @@ class HighRefreshRateBlacklist {
    void dispose() {
    void dispose() {
        mDeviceConfig.removeOnPropertiesChangedListener(mListener);
        mDeviceConfig.removeOnPropertiesChangedListener(mListener);
        mDeviceConfig = null;
        mDeviceConfig = null;
        mBlacklistedPackages.clear();
        mDenylistedPackages.clear();
    }
    }


    private class OnPropertiesChangedListener implements DeviceConfig.OnPropertiesChangedListener {
    private class OnPropertiesChangedListener implements DeviceConfig.OnPropertiesChangedListener {
        public void onPropertiesChanged(@NonNull DeviceConfig.Properties properties) {
        public void onPropertiesChanged(@NonNull DeviceConfig.Properties properties) {
            if (properties.getKeyset().contains(KEY_HIGH_REFRESH_RATE_BLACKLIST)) {
            if (properties.getKeyset().contains(KEY_HIGH_REFRESH_RATE_BLACKLIST)) {
                updateBlacklist(
                updateDenylist(
                        properties.getString(KEY_HIGH_REFRESH_RATE_BLACKLIST, null /*default*/));
                        properties.getString(KEY_HIGH_REFRESH_RATE_BLACKLIST, null /*default*/));
            }
            }
        }
        }
+4 −4
Original line number Original line Diff line number Diff line
@@ -30,7 +30,7 @@ class RefreshRatePolicy {


    private final int mLowRefreshRateId;
    private final int mLowRefreshRateId;
    private final ArraySet<String> mNonHighRefreshRatePackages = new ArraySet<>();
    private final ArraySet<String> mNonHighRefreshRatePackages = new ArraySet<>();
    private final HighRefreshRateBlacklist mHighRefreshRateBlacklist;
    private final HighRefreshRateDenylist mHighRefreshRateDenylist;
    private final WindowManagerService mWmService;
    private final WindowManagerService mWmService;


    /**
    /**
@@ -55,9 +55,9 @@ class RefreshRatePolicy {
    static final int LAYER_PRIORITY_NOT_FOCUSED_WITH_MODE = 2;
    static final int LAYER_PRIORITY_NOT_FOCUSED_WITH_MODE = 2;


    RefreshRatePolicy(WindowManagerService wmService, DisplayInfo displayInfo,
    RefreshRatePolicy(WindowManagerService wmService, DisplayInfo displayInfo,
            HighRefreshRateBlacklist blacklist) {
            HighRefreshRateDenylist denylist) {
        mLowRefreshRateId = findLowRefreshRateModeId(displayInfo);
        mLowRefreshRateId = findLowRefreshRateModeId(displayInfo);
        mHighRefreshRateBlacklist = blacklist;
        mHighRefreshRateDenylist = denylist;
        mWmService = wmService;
        mWmService = wmService;
    }
    }


@@ -108,7 +108,7 @@ class RefreshRatePolicy {
        }
        }


        // If app is denylisted using higher refresh rate, return default (lower) refresh rate
        // If app is denylisted using higher refresh rate, return default (lower) refresh rate
        if (mHighRefreshRateBlacklist.isBlacklisted(packageName)) {
        if (mHighRefreshRateDenylist.isDenylisted(packageName)) {
            return mLowRefreshRateId;
            return mLowRefreshRateId;
        }
        }
        return 0;
        return 0;
+3 −3
Original line number Original line Diff line number Diff line
@@ -1005,7 +1005,7 @@ public class WindowManagerService extends IWindowManager.Stub


    final Configuration mTempConfiguration = new Configuration();
    final Configuration mTempConfiguration = new Configuration();


    final HighRefreshRateBlacklist mHighRefreshRateBlacklist;
    final HighRefreshRateDenylist mHighRefreshRateDenylist;


    // If true, only the core apps and services are being launched because the device
    // If true, only the core apps and services are being launched because the device
    // is in a special boot mode, such as being encrypted or waiting for a decryption password.
    // is in a special boot mode, such as being encrypted or waiting for a decryption password.
@@ -1302,7 +1302,7 @@ public class WindowManagerService extends IWindowManager.Stub
                this, mInputManager, mActivityTaskManager, mH.getLooper());
                this, mInputManager, mActivityTaskManager, mH.getLooper());
        mDragDropController = new DragDropController(this, mH.getLooper());
        mDragDropController = new DragDropController(this, mH.getLooper());


        mHighRefreshRateBlacklist = HighRefreshRateBlacklist.create(context.getResources());
        mHighRefreshRateDenylist = HighRefreshRateDenylist.create(context.getResources());


        mConstants = new WindowManagerConstants(this, DeviceConfigInterface.REAL);
        mConstants = new WindowManagerConstants(this, DeviceConfigInterface.REAL);
        mConstants.start(new HandlerExecutor(mH));
        mConstants.start(new HandlerExecutor(mH));
@@ -5939,7 +5939,7 @@ public class WindowManagerService extends IWindowManager.Stub


    private void dumpHighRefreshRateBlacklist(PrintWriter pw) {
    private void dumpHighRefreshRateBlacklist(PrintWriter pw) {
        pw.println("WINDOW MANAGER HIGH REFRESH RATE BLACKLIST (dumpsys window refresh)");
        pw.println("WINDOW MANAGER HIGH REFRESH RATE BLACKLIST (dumpsys window refresh)");
        mHighRefreshRateBlacklist.dump(pw);
        mHighRefreshRateDenylist.dump(pw);
    }
    }


    private void dumpTraceStatus(PrintWriter pw) {
    private void dumpTraceStatus(PrintWriter pw) {
Loading