diff options
3 files changed, 32 insertions, 2 deletions
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 22022cbc1795..dd5b82c9ee3b 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -2728,7 +2728,7 @@ <string name="media_output_broadcast_last_update_error">Can\u2019t save.</string> <!-- The hint message when Broadcast code is less than 4 characters [CHAR LIMIT=60] --> <string name="media_output_broadcast_code_hint_no_less_than_min">Use at least 4 characters</string> - <!-- The hint message when Broadcast edit is more than 16/254 characters [CHAR LIMIT=60] --> + <!-- The hint message when Broadcast edit is more than 16/32 characters [CHAR LIMIT=60] --> <string name="media_output_broadcast_edit_hint_no_more_than_max">Use fewer than <xliff:g id="length" example="16">%1$d</xliff:g> characters</string> <!-- Label for clip data when copying the build number off QS [CHAR LIMIT=NONE]--> diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBroadcastDialog.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBroadcastDialog.java index 19cb8500ba7c..1f1b06a9a961 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBroadcastDialog.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBroadcastDialog.java @@ -70,7 +70,7 @@ public class MediaOutputBroadcastDialog extends MediaOutputBaseDialog { @VisibleForTesting static final int BROADCAST_CODE_MIN_LENGTH = 4; @VisibleForTesting - static final int BROADCAST_NAME_MAX_LENGTH = 254; + static final int BROADCAST_NAME_MAX_LENGTH = 32; private ViewStub mBroadcastInfoArea; private ImageView mBroadcastQrCodeView; diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index f72e8ab353bc..7312b4282d74 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -248,6 +248,15 @@ final class InstallPackageHelper { */ final private HashMap<String, String> mPackagesToBeDisabled = new HashMap<>(); + /** + * Tracks packages that need to be disabled for QSPA enabled taregts. + * List of packages path on the file system. + */ + final private List<String> mPackagesPathToBeDisabledForQSPA = new ArrayList<String>(); + final private boolean mQspaEnabled = SystemProperties.getBoolean( + "ro.vendor.config.qspa.apps", false); + + // TODO(b/198166813): remove PMS dependency InstallPackageHelper(PackageManagerService pm, AppDataHelper appDataHelper) { mPm = pm; @@ -265,6 +274,18 @@ final class InstallPackageHelper { mViewCompiler = pm.mInjector.getViewCompiler(); mSharedLibraries = pm.mInjector.getSharedLibrariesImpl(); mUpdateOwnershipHelper = pm.mInjector.getUpdateOwnershipHelper(); + + if (mQspaEnabled) { + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/SystemUI"); + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/Launcher3QuickStepGo"); + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/Launcher3Go"); + mPackagesPathToBeDisabledForQSPA.add("/system/app/PrintSpooler"); + mPackagesPathToBeDisabledForQSPA.add("/system/priv-app/StatementService"); + mPackagesPathToBeDisabledForQSPA.add("/product/app/Calendar"); + } else { + mPackagesPathToBeDisabledForQSPA.add("/system_ext/app/HeadlessLauncher"); + } + } InstallPackageHelper(PackageManagerService pm) { @@ -3767,6 +3788,15 @@ final class InstallPackageHelper { cacher.cleanCachedResult(file); } + + if (mPackagesPathToBeDisabledForQSPA != null && + mPackagesPathToBeDisabledForQSPA.contains(file.toString())) { + // Ignore entries contained in {@link #mPackagesPathToBeDisabledForQSPA} + Slog.d(TAG, "QSPA is " + mQspaEnabled + " ignoring package for install : " + file); + continue; + } + + if (mPackagesToBeDisabled.values() != null && (mPackagesToBeDisabled.values().contains(file.toString()) || mPackagesToBeDisabled.values().stream().anyMatch(file.toString()::contains))) { |