From c88eb224fa9d2394af338cf0204c783c9f9b041e Mon Sep 17 00:00:00 2001 From: Arvind Kumar Date: Thu, 7 Apr 2022 08:56:17 +0530 Subject: Disable following application at runtime Disable following application from installation at runtime for QSPA enabled targets. 1- SystemUI 2- Launcher 3- PrintSpooler 4- StatementService 5- Calendar CRs-Fixed: 3206324 Change-Id: Ifd2c172f2582deb57fb131a9cdeb1eba11a29cf5 --- .../android/server/pm/PackageManagerService.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 70ecaa7a458c..3014b89651a1 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -895,6 +895,13 @@ public class PackageManagerService extends IPackageManager.Stub */ final private HashMap 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 mPackagesPathToBeDisabledForQSPA = new ArrayList(); + final private boolean mQspaEnabled = SystemProperties.getBoolean("ro.config.qspa.apps", false); + /** * Tracks new system packages [received in an OTA] that we expect to * find updated user-installed versions. Keys are package name, values @@ -7400,6 +7407,12 @@ public class PackageManagerService extends IPackageManager.Stub readListOfPackagesToBeDisabled(); t.traceEnd(); + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/SystemUI"); + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/Launcher3QuickStep"); + mPackagesPathToBeDisabledForQSPA.add("/system/app/PrintSpooler"); + mPackagesPathToBeDisabledForQSPA.add("/system/priv-app/StatementService"); + mPackagesPathToBeDisabledForQSPA.add("/product/app/Calendar"); + // Create sub-components that provide services / data. Order here is important. t.traceBegin("createSubComponents"); @@ -12061,6 +12074,15 @@ public class PackageManagerService extends IPackageManager.Stub continue; } + if (mQspaEnabled) { + if (mPackagesPathToBeDisabledForQSPA != null && + mPackagesPathToBeDisabledForQSPA.contains(file.toString())) { + // Ignore entries contained in {@link #mPackagesPathToBeDisabledForQSPA} + Slog.d(TAG, "QSPA enabled ignoring package for install : " + file); + continue; + } + } + if (mPackagesToBeDisabled.values() != null && mPackagesToBeDisabled.values().contains(file.toString())) { // Ignore entries contained in {@link #mPackagesToBeDisabled} -- cgit v1.2.3 From b1184505778064efac71a58aaa26b04161728ab7 Mon Sep 17 00:00:00 2001 From: Karthik Gopalan Date: Wed, 27 Apr 2022 11:30:21 +0530 Subject: perf: IME boost Add IME Boost Hook CRs-Fixed: 3195944 Change-Id: Icfa3e21fe22016a135753476f8fb9e3ce244ae74 --- core/java/android/util/BoostFramework.java | 3 +++ .../android/view/inputmethod/InputMethodManager.java | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/core/java/android/util/BoostFramework.java b/core/java/android/util/BoostFramework.java index 1afe18cc95b6..ba73942a98a7 100644 --- a/core/java/android/util/BoostFramework.java +++ b/core/java/android/util/BoostFramework.java @@ -101,6 +101,9 @@ public class BoostFramework { public static final int VENDOR_HINT_TAP_EVENT = 0x00001043; public static final int VENDOR_HINT_DRAG_START = 0x00001051; public static final int VENDOR_HINT_DRAG_END = 0x00001052; + //Ime Launch Boost Hint + public static final int VENDOR_HINT_IME_LAUNCH_EVENT = 0x0000109F; + //feedback hints public static final int VENDOR_FEEDBACK_WORKLOAD_TYPE = 0x00001601; public static final int VENDOR_FEEDBACK_LAUNCH_END_POINT = 0x00001602; diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index e6f103e6d53b..fede0dfa94db 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -67,6 +67,7 @@ import android.os.Trace; import android.os.UserHandle; import android.provider.Settings; import android.text.style.SuggestionSpan; +import android.util.BoostFramework; import android.util.Log; import android.util.Pools.Pool; import android.util.Pools.SimplePool; @@ -270,6 +271,11 @@ public final class InputMethodManager { */ private static final String SUBTYPE_MODE_VOICE = "voice"; + //Perf + static BoostFramework mPerfBoost = null; + static boolean IME_BOOST_ENABLED = false; + static boolean isImeBoostPropertyRead = false; + /** * Ensures that {@link #sInstance} becomes non-{@code null} for application that have directly * or indirectly relied on {@link #sInstance} via reflection or something like that. @@ -586,6 +592,20 @@ public final class InputMethodManager { ImeTracing.getInstance().triggerClientDump( "InputMethodManager.DelegateImpl#startInput", InputMethodManager.this, null /* icProto */); + + if (isImeBoostPropertyRead == false) { + mPerfBoost = new BoostFramework(); + + if (mPerfBoost != null) { + IME_BOOST_ENABLED = Boolean.parseBoolean(mPerfBoost.perfGetProp("ro.vendor.qti.sys.fw.use_ime_boost", "false")); + } + isImeBoostPropertyRead = true; + } + + if (IME_BOOST_ENABLED == true && mPerfBoost != null) { + mPerfBoost.perfEvent(BoostFramework.VENDOR_HINT_IME_LAUNCH_EVENT, null); + } + synchronized (mH) { mCurrentTextBoxAttribute = null; mCompletions = null; -- cgit v1.2.3