Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump word-wrap from 1.2.3 to 1.2.5 in /packages/SystemUI/scripts/token_alignment #140

Open
wants to merge 311 commits into
base: thirteen
Choose a base branch
from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Aug 8, 2023

Bumps word-wrap from 1.2.3 to 1.2.5.

Release notes

Sourced from word-wrap's releases.

1.2.5

Changes:

Reverts default value for options.indent to two spaces ' '.

Full Changelog: jonschlinkert/word-wrap@1.2.4...1.2.5

1.2.4

What's Changed

New Contributors

Full Changelog: jonschlinkert/word-wrap@1.2.3...1.2.4

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

SKULSHADY and others added 30 commits July 19, 2023 13:54
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Change-Id: I39db23cc358fc38c31773ef2110c0cfbfb0569a6
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
We overlay default font via framework RRO so partially
revert change [1] by google. This fixes headlines
being stuck to roboto in settings app.

[1]: https://android.googlesource.com/platform/frameworks/base/+/a0b44f11509ebdc9d1bfc328e0b908a4a6e886b6%5E%21/

Change-Id: I18a04454acc85c31f993d0aaa906919048004790
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/8480
Reviewed-by: Sourajit Karmakar <sourajitk@statixos.com>
Tested-by: Sourajit Karmakar <sourajitk@statixos.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Informing the user that ADB is enabled does not necessitate an alert
sound. It's especially annoying with the default AOSP notification sound,
but even with a less distracting sound, this doesn't need to be so
intrusive.

Change-Id: Idee92b44cff2473a3686a2f2d95c6f5e4e91c2f8
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/5668
Reviewed-by: Sourajit Karmakar <sourajit@live.com>
Tested-by: Sourajit Karmakar <sourajit@live.com>
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7146
Reviewed-by: Anay Wadhera <anay1018@gmail.com>
Tested-by: Anay Wadhera <anay1018@gmail.com>
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/8667
Reviewed-by: Sourajit Karmakar <sourajitk@statixos.com>
Tested-by: Sourajit Karmakar <sourajitk@statixos.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
When opening and closing activities in Settings, a significant amount of
CPU time is spent looking up ArrayMap entries, as reported by simpleperf:

0.12%     /system/framework/arm64/boot-framework.oat                                                                                                android.util.ArrayMap.binarySearchHashes

ThemedResourceCache is responsible for a significant portion of the time
spent in ArrayMap lookups:

0.08%     0.08%  /system/framework/arm64/boot-framework.oat                                                                              android.util.ArrayMap.binarySearchHashes
       |
       -- android.util.ArrayMap.binarySearchHashes
          |
           --50.00%-- android.util.ArrayMap.indexOf
               |
               |--36.71%-- android.util.ArrayMap.get
               |    |--0.87%-- [hit in function]
               |    |
               |    |--9.64%-- android.content.res.ThemedResourceCache.getThemedLocked
               |    |          android.content.res.ThemedResourceCache.get
               |    |    |
               |    |    |--77.92%-- android.content.res.DrawableCache.getInstance
               |    |    |           android.content.res.ResourcesImpl.loadDrawable
               |    |    |           android.content.res.Resources.loadDrawable
               |    |    |           android.content.res.TypedArray.getDrawableForDensity
               |    |    |           android.content.res.Resources.getColor [DEDUPED]
               |    |    |    |
               |    |    |    |--62.94%-- android.view.View.<init>
               |    |    |    |    |
               |    |    |    |    |--64.58%-- android.view.ViewGroup.<init>
               |    |    |    |    |           android.widget.LinearLayout.<init>
               |    |    |    |    |           android.widget.LinearLayout.<init>
               |    |    |    |    |           art_quick_invoke_stub
               |    |    |    |    |           art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)
               |    |    |    |    |           art::InvokeConstructor(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ObjPtr<art::mirror::Object>, _jobject*)
               |    |    |    |    |           art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*)
               |    |    |    |    |           art_jni_trampoline
               |    |    |    |    |           java.lang.reflect.Constructor.newInstance
               |    |    |    |    |           android.view.LayoutInflater.createView
               |    |    |    |    |           com.android.internal.policy.PhoneLayoutInflater.onCreateView
               |    |    |    |    |           android.view.LayoutInflater.onCreateView
               |    |    |    |    |           android.view.LayoutInflater.onCreateView
               |    |    |    |    |           android.view.LayoutInflater.createViewFromTag
               |    |    |    |    |           android.view.LayoutInflater.inflate
               |    |    |    |    |           android.view.LayoutInflater.inflate
               |    |    |    |    |
               |    |    |    |     --35.42%-- android.widget.TextView.<init>
               |    |    |    |                android.widget.Button.<init>
               |    |    |    |                art_quick_invoke_stub
               |    |    |    |                art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)
               |    |    |    |                art::InvokeConstructor(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ObjPtr<art::mirror::Object>, _jobject*)
               |    |    |    |                art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*)
               |    |    |    |                art_jni_trampoline
               |    |    |    |                java.lang.reflect.Constructor.newInstance
               |    |    |    |                android.view.LayoutInflater.createView
               |    |    |    |                com.android.internal.policy.PhoneLayoutInflater.onCreateView
               |    |    |    |                android.view.LayoutInflater.onCreateView
               |    |    |    |                android.view.LayoutInflater.onCreateView
               |    |    |    |                android.view.LayoutInflater.createViewFromTag
               |    |    |    |                android.view.LayoutInflater.rInflate
               |    |    |    |                android.view.LayoutInflater.rInflate
               |    |    |    |                android.view.LayoutInflater.rInflate
               |    |    |    |                android.view.LayoutInflater.inflate
               |    |    |    |                android.view.LayoutInflater.inflate
               |    |    |    |                android.view.LayoutInflater.inflate
               |    |    |    |
               |    |    |     --37.06%-- com.android.internal.widget.ToolbarWidgetWrapper.<init>
               |    |    |
               |    |     --22.08%-- android.content.res.ConfigurationBoundResourceCache.get
               |    |                android.content.res.ConfigurationBoundResourceCache.getInstance
               |    |                android.content.res.ResourcesImpl.loadComplexColorFromName
               |    |                android.content.res.ResourcesImpl.loadColorStateList
               |    |                android.content.res.Resources.loadColorStateList
               |    |                android.content.res.TypedArray.getColorStateList
               |    |                android.widget.TextView.readTextAppearance
               |    |                android.widget.TextView.setTextAppearance
               |    |                android.widget.TextView.setTextAppearance
               |    |                android.widget.Toolbar.setTitle
               |    |                com.android.wifi.x.com.android.internal.util.StateMachine$SmHandler.handleMessage
               |    |                android.view.SurfaceControl.copyFrom

Empirical testing reveals that mThemedEntries usually contains around 14
entries, at which HashMap is 35% faster than ArrayMap for lookups and
54% faster [1] for insertions. The increased memory usage should be
negligible at this size, so we can safely convert the map to a HashMap
in order to improve performance in this hotpath.

[1] https://docs.google.com/spreadsheets/d/136UJS2yVlZyPx30KDNgj4AWldkp9xbzIcWkLFj9RGgk/edit

Test: simpleperf record -a; verify that ThemedResourceCache no longer
      appears under ArrayMap.binarySearchHashes
Change-Id: I39e1c4b03fe0e60f933f02e253d2d3c4a483146f
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/6195
Reviewed-by: Anay Wadhera <anay1018@gmail.com>
Tested-by: Anay Wadhera <anay1018@gmail.com>
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7159
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/8668
Reviewed-by: Sourajit Karmakar <sourajitk@statixos.com>
Tested-by: Sourajit Karmakar <sourajitk@statixos.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
When opening and closing activities in Settings, a significant amount of
CPU time is spent looking up ArrayMap entries, as reported by simpleperf:

0.12%     /system/framework/arm64/boot-framework.oat                                                                                                android.util.ArrayMap.binarySearchHashes

LocalServices is responsible for a significant portion of the time
spent in ArrayMap lookups:

0.08%     0.08%  /system/framework/arm64/boot-framework.oat                                                                              android.util.ArrayMap.binarySearchHashes
       |
       -- android.util.ArrayMap.binarySearchHashes
          |
           --50.00%-- android.util.ArrayMap.indexOf
               |
               |--36.71%-- android.util.ArrayMap.get
               |    |--0.87%-- [hit in function]
               |    |
               |    |--6.12%-- com.android.server.LocalServices.getService
               |    |    |
               |    |    |--42.41%-- com.android.server.inputmethod.InputMethodManagerInternal.get [DEDUPED]
               |    |    |           com.android.server.wm.-$$Lambda$DisplayContent$-xtu90EUfC_AM8Qe5g8vDDI07_E.run
               |    |    |           android.os.Handler.dispatchMessage
               |    |    |           android.os.Looper.loop
               |    |    |           android.os.HandlerThread.run
               |    |    |           com.android.server.ServiceThread.run
               |    |    |           art_quick_invoke_stub
               |    |    |           art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)
               |    |    |           art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)
               |    |    |           art::Thread::CreateCallback(void*)
               |    |    |           __pthread_start(void*)
               |    |    |           __start_thread
               |    |    |
               |    |    |--36.66%-- com.android.server.notification.NotificationManagerService.enqueueNotificationInternal
               |    |    |           com.android.server.notification.NotificationManagerService.enqueueNotificationInternal
               |    |    |           com.android.server.notification.NotificationManagerService$10.enqueueNotificationWithTag
               |    |    |           android.app.INotificationManager$Stub.onTransact
               |    |    |           android.os.Binder.execTransactInternal
               |    |    |           android.os.Binder.execTransact
               |    |    |           art_quick_invoke_stub
               |    |    |           art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)
               |    |    |           art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)
               |    |    |           art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)
               |    |    |           art::JNI<false>::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)
               |    |    |           _JNIEnv::CallBooleanMethod(_jobject*, _jmethodID*, ...)
               |    |    |           JavaBBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)
               |    |    |           android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)
               |    |    |           android::IPCThreadState::executeCommand(int)
               |    |    |           android::IPCThreadState::getAndExecuteCommand()
               |    |    |           android::IPCThreadState::joinThreadPool(bool)
               |    |    |           android::PoolThread::threadLoop()
               |    |    |           android::Thread::_threadLoop(void*)
               |    |    |           android::AndroidRuntime::javaThreadShell(void*)
               |    |    |           thread_data_t::trampoline(thread_data_t const*)
               |    |    |           __pthread_start(void*)
               |    |    |           __start_thread
               |    |    |
               |    |     --20.93%-- com.android.server.oemlock.OemLockService.setPersistentDataBlockOemUnlockAllowedBit
               |    |                com.android.server.oemlock.OemLockService$2.isOemUnlockAllowed
               |    |                android.service.oemlock.IOemLockService$Stub.onTransact
               |    |                android.os.Binder.execTransactInternal
               |    |                android.os.Binder.execTransact
               |    |                art_quick_invoke_stub
               |    |                art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)
               |    |                art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)
               |    |                art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)
               |    |                art::JNI<false>::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)
               |    |                _JNIEnv::CallBooleanMethod(_jobject*, _jmethodID*, ...)
               |    |                JavaBBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)
               |    |                android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)
               |    |                android::IPCThreadState::executeCommand(int)
               |    |                android::IPCThreadState::getAndExecuteCommand()
               |    |                android::IPCThreadState::joinThreadPool(bool)
               |    |                android::PoolThread::threadLoop()
               |    |                android::Thread::_threadLoop(void*)
               |    |                android::AndroidRuntime::javaThreadShell(void*)
               |    |                thread_data_t::trampoline(thread_data_t const*)
               |    |                __pthread_start(void*)
               |    |                __start_thread

Empirical testing reveals that sLocalServiceObjects usually contains
68 entries, at which HashMap is 47% faster than ArrayMap for lookups
and 68% faster [1] for insertions. The increased memory usage should be
negligible at this size, so we can safely convert the map to a HashMap
in order to improve performance in this hotpath.

[1] https://docs.google.com/spreadsheets/d/136UJS2yVlZyPx30KDNgj4AWldkp9xbzIcWkLFj9RGgk/edit

Test: simpleperf record -a; verify that LocalServices no longer
      appears under ArrayMap.binarySearchHashes
Change-Id: Ifd1f8b7940eba7723f93a73456470a84d34656ae
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/6196
Reviewed-by: Anay Wadhera <anay1018@gmail.com>
Tested-by: Anay Wadhera <anay1018@gmail.com>
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7160
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/8669
Reviewed-by: Sourajit Karmakar <sourajitk@statixos.com>
Tested-by: Sourajit Karmakar <sourajitk@statixos.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
When opening and closing activities in Settings, a significant amount of
CPU time is spent performing JNI calls, as reported by simpleperf:

0.39%     /system/framework/arm64/boot-framework.oat                                                                                                art_jni_trampoline

Reflection in LayoutInflater is responsible for a significant portion
of the time spent in the JNI trampoline:

6.08%     0.08%  /apex/com.android.art/javalib/arm64/boot.oat                                                                            art_jni_trampoline
       |
       -- art_jni_trampoline
          |
          |--12.38%-- java.lang.reflect.Constructor.newInstance
          |    |--0.09%-- [hit in function]
          |    |
          |    |--88.32%-- android.view.LayoutInflater.createView
          |    |    |
          |    |    |--83.39%-- com.android.internal.policy.PhoneLayoutInflater.onCreateView
          |    |    |           android.view.LayoutInflater.onCreateView
          |    |    |           android.view.LayoutInflater.onCreateView
          |    |    |           android.view.LayoutInflater.createViewFromTag
          |    |    |    |
          |    |    |    |--72.73%-- android.view.LayoutInflater.rInflate
          |    |    |    |    |
          |    |    |    |    |--57.90%-- android.view.LayoutInflater.rInflate
          |    |    |    |    |    |
          |    |    |    |    |    |--94.90%-- android.view.LayoutInflater.inflate
          |    |    |    |    |    |           android.view.LayoutInflater.inflate
          |    |    |    |    |    |    |--35.86%-- [hit in function]
          |    |    |    |    |    |    |
          |    |    |    |    |    |    |--58.15%-- androidx.preference.PreferenceGroupAdapter.onCreateViewHolder

Empirical testing of interacting with ~113 real-world apps reveals that
many of the most frequently-inflated views are framework classes:

  13486 android.widget.LinearLayout
   6930 android.widget.View
   6447 android.widget.FrameLayout
   5613 android.widget.ViewStub
   5608 androidx.constraintlayout.widget.ConstraintLayout
   4722 android.widget.TextView
   4431 com.google.android.material.textview.MaterialTextView
   3570 eu.faircode.email.FixedTextView
   3044 android.widget.ImageView
   2665 android.widget.RelativeLayout
   1694 android.widget.Space
    979 androidx.preference.internal.PreferenceImageView
    926 androidx.appcompat.view.menu.ActionMenuItemView
    884 androidx.appcompat.widget.AppCompatImageView
    855 slack.uikit.components.icon.SKIconView
    770 android.widget.ProgressBar
    743 com.fastaccess.ui.widgets.FontTextView
    541 androidx.recyclerview.widget.RecyclerView
    442 androidx.appcompat.widget.AppCompatTextView
    404 org.mariotaku.twidere.view.MediaPreviewImageView
    393 com.moez.QKSMS.common.widget.QkTextView
    382 android.widget.Button
    365 slack.widgets.core.textview.ClickableLinkTextView
    365 slack.uikit.components.avatar.SKAvatarView
    352 com.google.android.libraries.inputmethod.widgets.SoftKeyView
    351 com.android.launcher3.BubbleTextView
    315 slack.widgets.core.viewcontainer.SingleViewContainer
    315 slack.widgets.core.textview.MaxWidthTextView
    313 androidx.constraintlayout.widget.Barrier
    302 slack.app.ui.widgets.ReactionsLayout
    302 slack.app.ui.messages.widgets.MessageLayout
    302 slack.app.ui.messages.widgets.MessageHeader
    290 com.android.launcher3.views.DoubleShadowBubbleTextView
    285 com.android.internal.widget.CachingIconView
    265 android.widget.ImageButton
    262 androidx.constraintlayout.widget.Guideline
    249 org.thoughtcrime.securesms.components.emoji.EmojiTextView
    234 com.google.android.libraries.inputmethod.widgets.AutoSizeTextView
    232 com.android.internal.widget.RemeasuringLinearLayout
    228 android.view.ViewStub
    227 android.app.ViewStub
    226 android.webkit.ViewStub
    221 im.vector.app.core.ui.views.ShieldImageView
    219 androidx.constraintlayout.widget.Group
    214 androidx.coordinatorlayout.widget.CoordinatorLayout
    204 androidx.appcompat.widget.ContentFrameLayout

All framework classes seen:

  13486 android.widget.LinearLayout
   6930 android.widget.View
   6447 android.widget.FrameLayout
   5613 android.widget.ViewStub
   4722 android.widget.TextView
   3044 android.widget.ImageView
   2665 android.widget.RelativeLayout
   1694 android.widget.Space
    770 android.widget.ProgressBar
    382 android.widget.Button
    265 android.widget.ImageButton
    228 android.view.ViewStub
    227 android.app.ViewStub
    226 android.webkit.ViewStub
    145 android.widget.Switch
    117 android.widget.DateTimeView
     86 android.widget.Toolbar
     68 android.widget.HorizontalScrollView
     67 android.widget.ScrollView
     65 android.widget.NotificationHeaderView
     65 android.webkit.NotificationHeaderView
     65 android.view.NotificationHeaderView
     65 android.app.NotificationHeaderView
     63 android.webkit.View
     63 android.view.View
     62 android.app.View
     58 android.widget.ListView
     50 android.widget.QuickContactBadge
     40 android.widget.SeekBar
     38 android.widget.CheckBox
     16 android.widget.GridLayout
     15 android.widget.TableRow
     15 android.widget.RadioGroup
     15 android.widget.Chronometer
     13 android.widget.ViewFlipper
      9 android.widget.Spinner
      8 android.widget.ViewSwitcher
      8 android.widget.TextSwitcher
      8 android.widget.SurfaceView
      8 android.widget.CheckedTextView
      8 android.preference.PreferenceFrameLayout
      7 android.widget.TwoLineListItem
      5 android.widget.TableLayout
      5 android.widget.EditText
      3 android.widget.TabWidget
      3 android.widget.TabHost
      2 android.widget.ZoomButton
      2 android.widget.TextureView
      2 android.widget.ExpandableListView
      2 android.webkit.TextureView
      2 android.view.TextureView
      2 android.app.TextureView
      1 android.widget.WebView
      1 android.widget.ViewAnimator
      1 android.widget.TextClock
      1 android.widget.AutoCompleteTextView
      1 android.webkit.WebView
      1 android.webkit.SurfaceView
      1 android.view.SurfaceView
      1 android.app.SurfaceView

Unfortunately, replacing reflection with MethodHandle constructors is
counter-productive in terms of performance:

    Constructor direct:             create=5    invoke=42
    Constructor reflection:         create=310  invoke=433
    Constructor MethodHandle:       create=3283 invoke=3489
    Constructor MethodHandle-exact: create=3273 invoke=3453

To reduce the performance impact of slow reflection, we can leverage the
fact that the most frequently-inflated classes are from the framework,
and hard-code direct constructor references for them in a switch-case
block. Reflection will automatically be used as a fallback for custom
app views.

Test: simpleperf record -a; verify that Constructor.newInstance ->
      LayoutInflater no longer appears at the top under
      art_jni_trampoline
Change-Id: I8fcc0e05813ff9ecf1eddca3cc6920e747adf4fc
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/6199
Reviewed-by: Anay Wadhera <anay1018@gmail.com>
Tested-by: Anay Wadhera <anay1018@gmail.com>
Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7163
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
As we're spoofing builds by pretending it to be user, let's just do this
for everyone.

Change-Id: I5d967c25bd9c4890549d5d20f5e66b0c6845528c
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
…sion

Without this permission, Bluetooth is not very happy when trying to
connect to any device.

03-27 18:35:21.465  1876  5717 E CompanionDeviceManagerService: Error during IPC
03-27 18:35:21.465  1876  5717 E CompanionDeviceManagerService: java.lang.SecurityException: getAllAssociationsForUser: uid 1002 does not have android.permission.MANAGE_COMPANION_DEVICES.
03-27 18:35:21.465  1876  5717 E CompanionDeviceManagerService: 	at android.app.ContextImpl.enforce(ContextImpl.java:2240)

Change-Id: I0d545e19b07f42b3c373b5a57a4dfed39447d58a
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
signal

Transition GC should be initiated when the app status transitions into
the cached state from a non-cached state.

Test: Local testing
Bug: 272381448
Change-Id: I483a3ddaa11ed037d32c5481999fd996e2e2629a
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Problem: {
    1. Start any new task with activity A
    2. From Activity A start new activity B. Finish A. B must be single task.
    3. B must be auto pip enabled. ( private final PictureInPictureParams.Builder mPipParamsBuilder = new PictureInPictureParams.Builder() .setAspectRatio(null); setPictureInPictureParams(mPipParamsBuilder.setAutoEnterEnabled(true).build()); )
    4. start activity C from B with flags { Intent intent = new Intent(MainActivity.this, com.example.pip.MainActivity.class); intent.addFlags(FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS|FLAG_ACTIVITY_PREVIOUS_IS_TOP); startActivity(intent); }
    5. B will move to PIP.
    6. Now press back key on C.
    7. Now open recents.
    8. Try to open same app.
    9. App will automatically close
}

Solution: {
        1. there are 2 tasks. One is PIP task and one is its parent task, in which dialog is opened.
        2. Parent task has a variable mPipChildActiivty which points to PIP activity and
        3. PIP task mLastParentBeforePip which points to Parent task. Both works in pairs
        4. But in this issue parent task is removed.
        5. But the mPipChildActiivty and mLastParentBeforePip are not dereferenced.
        6. Dereference the both variables when task is removed.
}

Bug: 265123000

Change-Id: Iccb6a101b6631eb6bc265ca30a299ced2ee2f5dd
Signed-off-by: pioush.kumar-IN009423 <pioush.kumar@oppo.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Ignore the motion event When the pip entry animation is waiting to be started

Bug: 269007413
Test: Manual test

Change-Id: I462f16b19689de52f567f15b90e1f71c0e87f4fc
Signed-off-by: buwenjing <buwenjing@xiaomi.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
issue: 252105539

Signed-off-by: wangdongdong6 <wangdongdong6@xiaomi.corp-partner.google.com>
Change-Id: Id577190f8a50e0ee447bad97f631ae194ad47f2c
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Problem: {
    1. Switch to guest user or any other user.
    2. Open any Settings and any other app in split
    3. Switch any language in the settings
    3. Try to dismiss split. Crash will happen in system
}

Solution: {
    1. Fixing AOSP logic to make application with uid equals to system in multi-user scenario.
    2. So as a result mIsActivityConfigOverrideAllowed is false.
    3. So Process's configuration is not changed which will eventually does not effect whole configuration.
}

Bug: 262486679

Change-Id: I8f078f41ca0fd4dbde71407efe395c7376b337d8
Signed-off-by: pioush.kumar-IN009423 <pioush.kumar@oppo.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Problem: {
    1. Start any new task with activity A
    2. Start Activity B that is in new process but must not occludes parent.
    3. Then start activity C in same process of A.
    4. All three must be in same task.
    5. Now press back key.
    6. C must override finishAfterTransition and calls API covertToTranslucent
    7. Observe below activity window is shown, but not resume and above activity is not visible but it is still resumed.
}

Solution: {
    1. Get below activity in task that is in same process.
    2. Set for both below one and for below activity in same process
}

Bug: 273901491
Signed-off-by: pioush.kumar-IN009423 <pioush.kumar@oppo.com>
Change-Id: I25e5d387a3f5fa91520d0d63a7844d7ed009c756
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Problem: {
    1. Sometime ActivityRecordInputSink does not move to the same display as like it's parent ActivityRecord
    2. Due to which touch events does not work for the device
}

Solution: {
    1. During onDisplayChanged update the ActivityRecordInputSink's inputHandle's display ID
}

Bug: 268301238
Signed-off-by: pioush.kumar-IN009423 <pioush.kumar@oppo.com>
Change-Id: Ia0361fd98e9ff7128153ff664825fd62c5ca6258
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Matches the behavior of PixelCopy/Readback.cpp

Bug: 248949805
Test: build
Change-Id: I82f34ba4d8eebf98e61670a88d9f8e427918087c
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
These three objects are only used when we really draw the node, so
don't create them if node has been quick rejected.

Test: TBD
Change-Id: Iae3f7a5d9c49aafd8ce3ede09b4093a2146d6568
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
TL;DR: Skia should always call releaseProc, and maybe sooner than we thought.

There are multiple scenarios where SkImage:MakeFromTexture will fail,
returning a nullptr and calling releaseProc due to a RefCntedCallback
falling out of scope. Previously this could cause mUsageCount to fall to
0, resulting in the AutoBackendTextureRelease deleting itself even
though DeferredLayerUpdater owned a ref and expected it to still exist.

Also added logging for some reasons that could cause the later call to
MakeFromTexture to fail.

Bug: b/246831853
Test: hwui_unit_tests
Change-Id: I7fd2566b9a85fe286f72b0fc42eba5450cac69b0
Merged-In: I7fd2566b9a85fe286f72b0fc42eba5450cac69b0
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Add null pointer check to avoid system crash.
Meet the below crash log during some app operations then app exits.

F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x78
F DEBUG   : Cause: null pointer dereference
F DEBUG   : backtrace:
F DEBUG   :       #00 pc 0000000000323858  /system/lib64/libhwui.so
(android::uirenderer::DeferredLayerUpdater::apply()+40)
F DEBUG   :       #1 pc 0000000000323040  /system/lib64/libhwui.so
(_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13
DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c1671e
787f244890c877724752face20+416)

Bug: b/243310920
Signed-off-by: Jessie Hao <juan.hao@nxp.com>
Change-Id: I77226be2bd235852675bb4f7a29589e360269b33
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Change-Id: I47612fbd6764903b119adde0e414093a875e93da
Signed-off-by: Bart Van Assche <bvanassche@google.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Problem:
Window dumping uses pipe for transfering data. This may
cause IO hang when dumping local window if buffer is full.

Solution:
Dump local window in IoThread's executor.

Bug: 267242455
Test: Manual && Monkey Test
Change-Id: I11043a79f03f7f71d0ca1daf8215580535a5d34d
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
The local window may update its view on its ui thread.
Add synchronization in case the window is removing when dumping.
Also catch exception for the race condition inside the view.

Bug: 270280397
Test: Manual
Change-Id: Ic0268ffff9a6a087b9e18340783da0676bf9caee
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Fixes an issue where the WindowProcessController may leak after process
death due to still having listeners registered.

Now unregisters all listeners when the process record gets removed.

Fixes: 273149525
Test: atest WindowProcessControllerTests WindowProcessControllerMapTests
Change-Id: I44323f280ed7aa641ab41c4e62a354a4525a4268
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
avoid set uninstalled for nonsystem app when first boot

Bug:273457409
Change-Id: I77d19122de67869340decaf979b8f08f77070dd0
Test: Build
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
The profiling currently works by accident: only because we profile the
boot classpath which executes in JIT zygote do we not load system server
AOT artifacts.

So make the not loading AOT artifacts in system server explicit when the
system server is being profild.

Test: system server profiling
Change-Id: I8d787c8f8524d9d6074dc0f552a856640f11cef0
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
During process startup, system creates a process group and places the
new process in it. If process group creation fails for some reason, the
new child process will stay in its parent's group. This poses danger
when the child is being frozen because the whole group is affected and
its parent is being frozen as well. Considering that the parent of an
app is Zygote, freezing it leads to the device becoming unusable.
Fix this by treating group creation failure as a fatal error which would
prevent the app from starting. When system_server fails to create a
process group, it will throw an exception that's not caught and will
self-destruct.

Bug: 227395690
Test: fake group creation failure and confirm app failure to start
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ib34b4a100c65a9a2705aaef8e7e32322fbedc531
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
[ghostrider-reborn] updated to android 12, 13

Co-authored-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
Change-Id: Ia55ac91c2db2f44062674a699f8df63c96e1de5c
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
- We are running out of space in portrait after
  23205: Screenshot: Add delete action chip intent | https://gerrit.aospa.co/c/AOSPA/android_frameworks_base/+/23205

Change-Id: I8967e1c5925701a84bca81d7f15b3d0457c2bb0f
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Sirhc95 and others added 27 commits July 19, 2023 18:17
Follows stock Android behavior, camera chip should not be shown when sense is the incoming package

Change-Id: I29eb1e0fabb570829f29d3a3f23c9e897b1a7df0
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
commit 444afd520dd93038d8cd9f68438536240a2b608e (pixel/thirteen, m/thirteen)
Author: jhenrique09 <jhsv09@gmail.com>
Date:   Sun Jul 2 18:34:00 2023 -0300

    PixelPropsUtils: Remove pixel whitelist

    Change-Id: I28ff6643ebe656478d3f5dde28ca88cd3d7a7542

commit a8561c81d7e2cae1730a1e25b74823a980838b86
Author: jhenrique09 <jhsv09@gmail.com>
Date:   Thu Mar 23 16:22:25 2023 -0300

    PixelPropsUtils: Simplify GoogleCamera whitelisting

    Change-Id: I7db1b60343dff661a9f1c4116f689c3cc5afbdfc

    commit aa4c66949ad5552b3221cbd5b7fdf072dd7ce60e
    Author: jhenrique09 <jhsv09@gmail.com>
    Date:   Wed Mar 22 12:39:22 2023 -0300

        PixelPropsUtils: Spoof user build

        Change-Id: Ie33e0213a2608ecceea37b0e4cfb1115d6a0b788

    Change-Id: I7583251294028bd7c8a9372c4a9ee79b42213f94

commit 9c9e560381218d27dd3100789bdcb42634939521
Author: Sourajit Karmakar <sourajitk@statixos.com>
Date:   Tue Jun 20 21:45:18 2023 -0400

    PixelPropsUtils: Enable new Velvet Weather UI

    Change-Id: I45310071f0267be1ea26f7c00044a56a763a3e6a

    * Adapt to current PixelPropsUtils

    Original commit:
    StatiXOS/android_frameworks_base@ce72977

    Change-Id: I0989ef14aec6fabcc0733232ddb65fd96fe7d80d
    Signed-off-by: someone5678 <nemui3353@gmail.com>

commit ad3fee4764092a5f8b2b36c9efda0cb55e757901
Author: aswin7469 <aswinas@pixysos.com>
Date:   Tue Jun 20 12:33:17 2023 +0530

    PixelPropUtils: Misc updates

    * unspoof gms pkg as whole, only spoof required processes
    * cleanup some duplicates
    * spoof play store to Pixel 5

    Co-authored-by: Ido Ben-Hur <idoybh2@gmail.com>
    Co-authored-by: someone5678 <nemui3353@gmail.com>
    Change-Id: Ifb9a4ed5a864e293c52f7d96a2f4d27cd6152c96

commit 232dbb7b0974819b2386cf59f3f3cf9d1c5e3ee0
Author: aswin7469 <aswinas@pixysos.com>
Date:   Sat Jun 17 13:53:45 2023 +0530

    PixelPropUtils: Add emojiwalls and cinematiceffects pkgs

commit dda7fccc336876d4843e32ad2b80a97edb977c47
Author: aswin7469 <aswinas@pixysos.com>
Date:   Thu Jun 8 13:30:13 2023 +0530

    PixelPropUtils: Switch to raven for asi

    Change-Id: Ie57206e750e8554cf097c9466523526526b575b4

commit 9b492c93076552320a0bcbca65062ed7bb95551d
Author: aswin7469 <aswinas@pixysos.com>
Date:   Sat Feb 18 16:18:33 2023 +0530

    PixelPropsUtils: Add Pixel 6 Pro

    * fixes google dialer getting updated to
      pixel version and warn user about incompatibility

    * also remove unnecessory netflix spoof toggle

    Change-Id: I365f96acad5ee9d2aec1f74e2b49816bc121b891
    Co-authored-by: someone5678 <nemui3353@gmail.com>

commit 00a5906509e7ea00214b06820b26e0093f85e0a7
Author: Adithya R <gh0strider.2k18.reborn@gmail.com>
Date:   Thu Jun 8 16:55:44 2023 +0530

    PixelPropUtils: Un-spoof GMS while adding google account

    GMS uses its DroidGuard service (the same that's used for safetynet)
    to get the device name from the build fingerprint, which from our
    current certified props, is Pixel XL. The device name after Google
    login shows up in the login alert accordingly as Pixel XL, which is
    inconvenient especially when you have multiple devices on the same ROM.

    By restarting the DroidGuard service process (gms.unstable) as soon as
    the user starts adding Google account (i.e when the GMS add account
    activity is started and moved to the top of the task stack), we can
    skip spoofing to certified props in this instance. When the user
    stops/finishes adding account (GMS add account activity is no longer
    at the top of the task stack), restart the process again, this time
    spoofing to certified props in order to be ready for safetynet.

    This ensures while adding a Google account, GMS reads the original
    properties of the device and labels the device with its original name,
    while in any other situation GMS reads certified properties required
    to pass SafetyNet/Play Integrity.

    Test:
    - Add google account from setup wizard, settings, any other app
    - Observe correct device name in gmail login alert
    - SafetyNet (basic, CTS), Play Integrity (basic, device) passes.

    [aswin7469]: Adapted for PixelPropUtils

    Change-Id: Ia5463f220a8262f7963fc5b2640a7a5311a73210

commit deaa854f20181e3e31e920510f043296f04e90e1
Author: aswin7469 <aswinas@pixysos.com>
Date:   Thu May 18 14:26:26 2023 +0530

    core: block 2021/22 pixel features to ASI and pixel launcher

    * blacklist pe features and spoof redfin to get rid of tensor shits

    Change-Id: I83aa09c151f51ee61361510b2c1a9ac8865a2aee

commit cdaff9a21351200bef20ffd3aa663c5a875541c5
Author: John Galt <johngaltfirstrun@gmail.com>
Date:   Fri Apr 14 09:55:46 2023 -0400

    core: block 2022+ pixel experience xmls to ASI

    Resolves downloads on play store updated ASI (newer than
    image-cheetah-tq2a.230405.003.e1 shipping).

commit 8451c0b203fadf036ab36a468532ddf67915a9fd
Author: jhenrique09 <jhsv09@gmail.com>
Date:   Thu Feb 23 16:44:35 2023 -0300

    PixelPropsUtils: Don't declare propsToChange as static

    * Since that variable was static, it may hold props from undesired devices (like Pixel 7), use a new instance on every app to fix that.

    Change-Id: I7cf0836056a9cd5c9664ef0b203fc2a9bc5237f5

commit 207382c0a673a705abaaa8eec4eba1fce46ad915
Author: John Galt <johngaltfirstrun@gmail.com>
Date:   Wed Mar 22 11:32:52 2023 -0400

    PixelPropsUtils: move snapchat to walleye spoofing

    Snapchat on A13 without spoofing has delayed messages issue on many
    devices. Spoofing to newer pixels does not resolve this and additionally
    can harm photo quality on non pixels. However spoofing to an older
    device and android version such as Walleye resolve the delayed messages
    without harming photo quality.

commit 8ed83d4d0d2c3341d30d16736e4241bfa8cfa10d
Author: aswin7469 <aswinas@pixysos.com>
Date:   Wed Mar 22 16:44:42 2023 +0530

    PixelPropUtils: Update spoofs

commit 1793b260cf5062af2c90e339016e84c17f542dd7
Author: aswin7469 <aswinas@pixysos.com>
Date:   Tue Mar 14 04:08:17 2023 +0530

    PixelPropsUtils: Update build fp to march 2023

    Change-Id: I1f11e53e2718c5bbbfded177338fb11b3e3ccd39

commit 276703f3f91e19e78ef34d6998a3ac4bd4b39cc0
Author: minaripenguin <minaripenguin@users.noreply.github.com>
Date:   Wed Feb 8 22:36:56 2023 +0530

    PixelPropUtils: Update gms unstable process spoof to walleye

    * spoof product & device name also to fix cts/play certification as of today

    original commit: https://github.com/minaripenguin/android_frameworks_base/commit/3714dd8b8c6ab1bd621ba23cf14d32dc01abd302

    Change-Id: Ia32c6a6366cea9e03b76bec48e849dfe43620d2f
    Co-authored-by: aswin7469 <aswinas@pixysos.com>

commit 51b0f20d99f2dd9ba608ba53ae80069898faac28
Author: Anirudh Gupta <anirudhgupta109@aosip.dev>
Date:   Wed Jan 4 18:20:56 2023 +0000

    PixelPropsUtils: Set shipping level to 32 for devices >=33

    If ro.product.first_api_level is 33, its forced to use HW attestation even though the safteynet checker app shows BASIC
    setting it to 32 allows for software attestation and passing CTS

    Change-Id: Ie7326eaac48424cdea3d9633ebe13c65053ef6c1
    Signed-off-by: Dyneteve <dyneteve@hentaios.com>

commit e1cc436f2d0ebe43b868bc3c26b039f4b2bae83e
Author: Dyneteve <dyneteve@hentaios.com>
Date:   Tue Dec 6 15:59:08 2022 +0100

    PixelPropsUtils: Use actual device model name

    Signed-off-by: Dyneteve <dyneteve@hentaios.com>
    Change-Id: I454654d87b3ea6286e12e9a9f5ed120f06cb2aa6

commit f54b8e06428fbe8b1d8b2293b6091448369b3ed0
Author: Danny Lin <danny@kdrag0n.dev>
Date:   Mon Jan 23 04:31:31 2023 +0000

    PixelPropsUtils: Use spoofBuildGms for FP and model alteration

    * From hentaiOS/platform_frameworks_base@05b3987.

    Change-Id: I4fb21862e8a79c4c616c1faaee3d393f2e40ba34

commit d991314b9872428c16fc54761ef94f65a4005858
Author: aswin7469 <aswinas@pixysos.com>
Date:   Thu Jan 26 00:27:15 2023 +0530

    PixelPropsUtils: Update spoofs

    * change cheetah fingerprint to global varient

    Change-Id: Ie187749a304cbf4e1371d8dbed17729a92293cf4

commit 81bf1d7c04c41624034a5a5217be35b2703a8d18
Author: aswin7469 <aswinas@pixysos.com>
Date:   Fri Jan 13 20:03:52 2023 +0530

    PixelPropsUtils: Add toggle for Gaming and google photos spoofs

    Change-Id: I0e0e3fe7289ae4334981d6eed5280c71ab417b50
    Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
    Co-authored-by: ghostrider-reborn <gh0strider.2k18.reborn@gmail.com>
    Co-authored-by: spezi77 <spezi7713@gmx.net>

commit b97ca2c24fc51e3614f02f598a9875eaf6ac874e
Author: aswin7469 <aswinas@pixysos.com>
Date:   Fri Jan 13 14:25:58 2023 +0530

    PixelPropUtils: spoof snapchat

    Change-Id: I4b46bd5f1d58f256a356b685ad04e4de694d3dec

commit b5c12e0de721ca37b44f2cc1f447e2b07311961c
Author: aswin7469 <aswinas@pixysos.com>
Date:   Wed Jan 4 11:41:56 2023 +0530

    PixelPropUtils: update january 2023

commit df0a5837b7344f62ab742192a2e09a7ac5d7787a
Author: jhenrique09 <jhsv09@gmail.com>
Date:   Sun Jan 1 13:37:37 2023 -0300

    PixelPropsUtils: Use redfin props for extra packages

    Change-Id: If51bba2e21c722301e57a85bad8387479fb83574
    (cherry picked from commit 8a6da0b93664cfea9e30000bb38bf987f321be89)

    commit 26e9fdc220cd83093581cb96bd226a89a0590b55

commit 7248c21c7f2351c007e5f265f8415f098f400ee4
Author: aswin7469 <aswinas@pixysos.com>
Date:   Wed Nov 2 15:20:37 2022 +0530

    PixelPropsUtils: spoof nothing smartcenter to pixel

    * after the update to 2.0.2 , its checking for NTExperince on phone 1 (Spacewar) as the custom rom's lacking it just crashes so workaround this
 by spoofing it

    TEST: app opens and successfully connect to ear (1)
    Change-Id: Iad9cf39bb8e55e4c22ff237d8e2ee5160dcea4e1

commit d3c447e
Author: jhenrique09 <jhsv09@gmail.com>
Date:   Mon Nov 7 21:14:13 2022 -0300

    PixelPropsUtils: Press F for flame and coral

    Change-Id: Icba703edb590586874628d672b33f5a20f7e85d3

commit 02b3886
Author: jhenrique09 <jhsv09@gmail.com>
Date:   Fri Nov 4 15:40:04 2022 -0300

    PixelPropsUtils: Get package name from context instead of app

    11-04 08:48:39.039 11637 11637 E AndroidRuntime: FATAL EXCEPTION: main
    11-04 08:48:39.039 11637 11637 E AndroidRuntime: Process: com.NextFloor.DestinyChild, PID: 11637
    11-04 08:48:39.039 11637 11637 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{/androidx.startup.InitializationProvider}
    11-04 08:48:39.039 11637 11637 E AndroidRuntime:   at android.app.ActivityThread.installProvider(ActivityThread.java:7488)

    Change-Id: Icb12f938fe0fca710f8f9d29182d0134ba3c63eb

commit 11eb143
Author: jhenrique09 <jhsv09@gmail.com>
Date:   Sun Sep 11 14:58:02 2022 -0300

    PixelPropsUtils: Correct spoof props for Samsung apps

    * Workaround to avoid force closes especially on Wearable apps

    Change-Id: Ieb5a6745f6f93914e2c509b1454c22324cf3c7d7

commit 0d858ac
Author: Pranav Vashi <neobuddy89@gmail.com>
Date:   Tue Oct 25 23:20:10 2022 +0530

    PixelPropsUtils: Spoof Gboard with PixelXL

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
    Change-Id: If712cb9ca4da8883bd4108d933471f8c5f2101c4

commit 0e32da6
Author: EnesSastim <sastimenes@gmail.com>
Date:   Tue Oct 25 14:04:49 2022 +0000

    PixelPropsUtils: Don't spoof euicc

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit cb7054c
Author: Dyneteve <dyneteve@hentaios.com>
Date:   Tue Aug 23 18:57:05 2022 +0200

    PixelPropsUtils: Apply key attestation workaround to Play Store as well

    Play Store is used for the new Play Integrity API, extend the hack
    to it as well.

    Test: Device Integrity and Basic Integrity passes.

    Change-Id: Id607cdff0b902f285a6c1b769c0a4ee4202842b1
    Signed-off-by: Dyneteve <dyneteve@hentaios.com>
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit b38f8d8
Author: Joey Huab <joey@evolution-x.org>
Date:   Thu Oct 13 13:06:00 2022 +0000

    PixelPropsUtils: Switch from raven fp to cheetah

    * Update packages
    * Remove GMS as we are setting it to angler

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit e98f2a0
Author: Alexander Winkowski <dereference23@outlook.com>
Date:   Fri Oct 14 23:25:32 2022 +0200

    PixelPropsUtils: Spoof Nexus 6P for GMS unstable process

    To fix Play Integrity, taken from kdrag0n/safetynet-fix#207

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit 6de0e93
Author: Danny Lin <danny@kdrag0n.dev>
Date:   Mon Nov 1 20:06:48 2021 -0700

    PixelPropsUtils: Limit SafetyNet workarounds to unstable GMS process

    The unstable process is where SafetyNet attestation actually runs, so
    we only need to spoof the model in that process.

    Change-Id: Idcf663907a6c3d0408dbd45b1ac53c9eb4200df8
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit 085a344
Author: Pranav Vashi <neobuddy89@gmail.com>
Date:   Sun May 29 19:34:09 2022 +0530

    PixelPropsUtils: Exclude recorder from pixel props

    * Just like YouTube apps, Recorder shows device is Pixel 5.
      There is no special pixel feature associated with this app, exclude it.

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit 7f4db31
Author: Anay Wadhera <awadhera@berkeley.edu>
Date:   Fri Dec 10 13:11:49 2021 -0800

    PixelPropsUtils: Remove spoofing for currently supported Pixel devices

    Change-Id: I3a426f8671f841c16e5af7c0a2a204d19c502464

commit 0a351e8
Author: Omkar Chandorkar <gotenksIN@aosip.dev>
Date:   Sat Mar 5 02:35:21 2022 +0900

    PixelPropsUtils: Only spoof GMS to Raven

    * please shut the fuck up EdgeTpuDeviceFactory

    Change-Id: I2ef71a12e613bee7a01e27ae36f9b07a3b78e766
    Signed-off-by: Omkar Chandorkar <gotenksIN@aosip.dev>
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit cff3b11
Author: Pranav Vashi <neobuddy89@gmail.com>
Date:   Sun Feb 27 15:23:50 2022 +0530

    PixelPropsUtils: Whitelist YouTube apps

    * Otherwise casting shows wrong device connected.

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit c90d87a
Author: Joey Huab <joey@evolution-x.org>
Date:   Thu Jan 27 13:33:48 2022 +0900

    PixelPropsUtils: Whitelist ARCore

    * ARCore crashes due to being spoofed as hardware and software mismatch is detected.
    * Crash occurs while being used in Google app search feature.

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit 2b18c2d
Author: Pranav Vashi <neobuddy89@gmail.com>
Date:   Tue Jan 11 09:49:00 2022 +0530

    PixelPropsUtils: Bail out early when required

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit 4f769c2
Author: Pranav Vashi <neobuddy89@gmail.com>
Date:   Tue Jan 11 09:43:53 2022 +0530

    PixelPropsUtils: Extend list of packages to keep

    * It's better to not touch props for these packages at all,
      instead running loop over it.
    * Ref: AOSPA/android_frameworks_base@dc2940c

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
    Change-Id: Ica5aee62c38ae46c5003a1d35ba6bdc9f865b2ef

commit ee51411
Author: Pranav Vashi <neobuddy89@gmail.com>
Date:   Mon Jan 10 22:55:33 2022 +0530

    PixelPropsUtils: Consolidate google app checks

    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit 596a952
Author: Pranav Vashi <neobuddy89@gmail.com>
Date:   Sat Jan 8 18:35:43 2022 +0530

    PixelPropsUtils: Do not change props for play store

    * Else Play Protect certification fails.

    Test: Open Play Store > Settings > About
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit 16f7bdf
Author: Danny Lin <danny@kdrag0n.dev>
Date:   Mon Oct 11 20:00:44 2021 -0700

    keystore: Block key attestation for SafetyNet

    SafetyNet (part of Google Play Services) opportunistically uses
    hardware-backed key attestation via KeyStore as a strong integrity
    check. This causes SafetyNet to fail on custom ROMs because the verified
    boot key and bootloader unlock state can be detected from attestation
    certificates.

    As a workaround, we can take advantage of the fact that SafetyNet's
    usage of key attestation is opportunistic (i.e. falls back to basic
    integrity checks if it fails) and prevent it from getting the
    attestation certificate chain from KeyStore. This is done by checking
    the stack for DroidGuard, which is the codename for SafetyNet, and
    pretending that the device doesn't support key attestation.

    Key attestation has only been blocked for SafetyNet specifically, as
    Google Play Services and other apps have many valid reasons to use it.
    For example, it appears to be involved in Google's mobile security key
    ferature.

    Change-Id: I5146439d47f42dc6231cb45c4dab9f61540056f6
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>

commit bc334ec
Author: jhenrique09 <jhsv09@gmail.com>
Date:   Mon Aug 22 21:40:25 2022 -0300

    Import PixelPropsUtils

    Thanks to @kdrag0n for the original idea at ProtonAOSP/android_frameworks_base@5a54bfd

    Also includes:

    commit b40a373888c6fd7287c490bbda6b53fdbcca5f09
    Author: Danny Lin <danny@kdrag0n.dev>
    Date:   Mon Nov 1 20:06:48 2021 -0700

        Limit SafetyNet workarounds to unstable GMS process

        The unstable process is where SafetyNet attestation actually runs, so
        we only need to spoof the model in that process. Leaving other processes
        fixes various issues caused by model detection and flag provisioning,
        including screen-off Voice Match in Google Assistant, broken At a Glance
        weather and settings on Android 12, and more.

        Change-Id: Idcf663907a6c3d0408dbd45b1ac53c9eb4200df8

    commit 5cb42949b4725a6a21d4e021e71791578893d1be
    Author: Dyneteve <dyneteve@hentaios.com>
    Date:   Thu Dec 30 19:11:41 2021 +0100

        PixelPropsUtils: Use Pixel 5a codename to GMS on Pixels

        Change-Id: I0ba7225e23296f1f3aa95560af43c567949ba900
        (cherry picked from commit caedd884bbcad0425898d100537ac7b9a2c56456)

    commit 5017b2d530d5712770bd851cada56c368b5ef274
    Author: Karan Parashar <whyredfire@gmail.com>
    Date:   Sat Feb 5 08:01:40 2022 +0530

        PixelPropsUtils: Avoid spoofing for Pixel Buds

        - it breaks the app, thanks to @ helenius147 [TG] for pointing this out

        Change-Id: Id0dd0af78ca78db6ad50617e04dbc880c0515c2e
        (cherry picked from commit d19d773bf1aa2a1c5abcc15e72ab1347c6e2f5c7)

    commit 47ddf9a78caeb2fc65481b75e6f768533133254c
    Author: Joey Huab <joey@evolution-x.org>
    Date:   Thu Jan 27 13:33:48 2022 +0900

        PixelPropsUtils: Whitelist ARCore

        * ARCore crashes due to being spoofed as hardware and software mismatch is detected.
        * Crash occurs while being used in Google app search feature.

        Change-Id: I008da8b09b6467dca2ceb26649c3cb3dee44777d
        Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>

    commit e8a20fb
    Author: Joey Huab <joey@evolution-x.org>
    Date:   Fri Feb 18 03:16:18 2022 +0900

        PixelProps: Set Pixel 5 as spoof for more Google apps

        Change-Id: I7281356c89b5379f3a9c75e613e7a59e3c6c40ab

    commit 8e50c58
    Author: Anay Wadhera <awadhera@berkeley.edu>
    Date:   Fri Dec 10 13:11:49 2021 -0800

        PixelPropUtils: remove spoofing for currently supported Pixels

        Change-Id: I3a426f8671f841c16e5af7c0a2a204d19c502464
        Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/6410
        Tested-by: Anay Wadhera <anay1018@gmail.com>
        Reviewed-by: Sourajit Karmakar <sourajit@live.com>

        Change-Id: I926b23324e669e24079c78fecc0c7a0b77c15e13

    commit 838ff9e
    Author: Adithya R <gh0strider.2k18.reborn@gmail.com>
    Date:   Sat Nov 27 16:53:23 2021 +0530

        PixelPropsUtils: Avoid spoofing props for gcam and mods

        Change-Id: Ia6f095b1511152ae6ba705990def71e7e4546072

    commit d72b3ce
    Author: vladsendrix <83285656+vladsendrix@users.noreply.github.com>
    Date:   Fri Dec 31 03:18:04 2021 +0100

        PixelPropsUtils: Spoof Pixel XL for Google Photos

        pixel_2016_exclusive.xml is already added, why not have it actually work

        Change-Id: If0b8064c7cb633139ee7c30a7bf1a8543bcc9cad

    commit 0f73ff5
    Author: Danny Lin <danny@kdrag0n.dev>
    Date:   Mon Oct 11 20:00:44 2021 -0700

        keystore: Block key attestation for SafetyNet

        SafetyNet (part of Google Play Services) opportunistically uses
        hardware-backed key attestation via KeyStore as a strong integrity
        check. This causes SafetyNet to fail on custom ROMs because the verified
        boot key and bootloader unlock state can be detected from attestation
        certificates.

        As a workaround, we can take advantage of the fact that SafetyNet's
        usage of key attestation is opportunistic (i.e. falls back to basic
        integrity checks if it fails) and prevent it from getting the
        attestation certificate chain from KeyStore. This is done by checking
        the stack for DroidGuard, which is the codename for SafetyNet, and
        pretending that the device doesn't support key attestation.

        Key attestation has only been blocked for SafetyNet specifically, as
        Google Play Services and other apps have many valid reasons to use it.
        For example, it appears to be involved in Google's mobile security key
        ferature.

        Change-Id: I5146439d47f42dc6231cb45c4dab9f61540056f6

    Signed-off-by: jhenrique09 <jhenrique09.mcz@hotmail.com>
    Co-authored-by: Danny Lin <danny@kdrag0n.dev>
    Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
    Change-Id: Ic68aadf5d8d2352da4c3adf1e7f67ef0a1dd5df2

commit bfec00bf4ffc40297c97bf02d124696f279c0dbe
Author: aswin7469 <aswinas@pixysos.com>
Date:   Wed Nov 2 15:23:14 2022 +0530

    PixelPropsUtils: Spoof some more gooogle apps to cheetah

    * as we started using more cheetah components more spoofs are required

commit 4edf7f0408d7388891879419c80570f26ddaaa19
Author: aswin7469 <aswinas@pixysos.com>
Date:   Wed Nov 2 15:20:37 2022 +0530

    PixelPropsUtils: spoof nothing smartcenter to pixel

    * after the update to 2.0.2 , its checking for NTExperince on phone 1 (Spacewar) as the custom rom's lacking it just crashes so workaround this
 by spoofing it

    TEST: app opens and successfully connect to ear (1)

commit 0349f9f528d35faacd08589b01f9dcada9b3d109
Author: Danny Lin <danny@kdrag0n.dev>
Date:   Mon Sep 12 12:54:31 2022 +0000

    [SQUASH] Switch to AttestationHooks

    Also includes:

    Spoof product name for Google Play Services (hentaiOS/platform_frameworks_base@05b3987
c1)

    NB: This code is under the gmscompat package, but it does not depend on
    any code from gmscompat.

    Change-Id: Ic018c0d7abe4573143c3b92301a2625b91e6673a

    keystore: Block key attestation for SafetyNet (hentaiOS/platform_frameworks_base@cac8283
0ea5)

    SafetyNet (part of Google Play Services) opportunistically uses
    hardware-backed key attestation via KeyStore as a strong integrity
    check. This causes SafetyNet to fail on custom ROMs because the verified
    boot key and bootloader unlock state can be detected from attestation
    certificates.

    As a workaround, we can take advantage of the fact that SafetyNet's
    usage of key attestation is opportunistic (i.e. falls back to basic
    integrity checks if it fails) and prevent it from getting the
    attestation certificate chain from KeyStore. This is done by checking
    the stack for DroidGuard, which is the codename for SafetyNet, and
    pretending that the device doesn't support key attestation.

    Key attestation has only been blocked for SafetyNet specifically, as
    Google Play Services and other apps have many valid reasons to use it.
    For example, it appears to be involved in Google's mobile security key
    ferature.

    Change-Id: I5146439d47f42dc6231cb45c4dab9f61540056f6

    Limit SafetyNet workarounds to unstable GMS process (hentaiOS/platform_frameworks_base@fce9b65
472cb5a594)

    The unstable process is where SafetyNet attestation actually runs, so
    we only need to spoof the model in that process. Leaving other processes
    fixes various issues caused by model detection and flag provisioning,
    including screen-off Voice Match in Google Assistant, broken At a Glance
    weather and settings on Android 12, and more.

    Change-Id: Idcf663907a6c3d0408dbd45b1ac53c9eb4200df8

    gmscompat: Apply the SafetyNet workaround to Play Store aswell (hentaiOS/platform_frameworks_base@c9a086f9b635bf4e3e6
1fbd501ade464f8f5b713)

    Play Store is used for the new Play Integrity API, extend the hack
    to it aswell

    Test: Device Integrity and Basic Integrity passes.

    Signed-off-by: Dyneteve <dyneteve@hentaios.com>
    Change-Id: Id607cdff0b902f285a6c1b769c0a4ee4202842b1

    gmscompat: Use Nexus 6P fingerprint for CTS/Integrity (hentaiOS/platform_frameworks_base@813f11628014a93d45f55dedd434
fdddd9510eb0)

    Google seems to have patched the KM block to Play Store in record time,
    but is still not enforced for anything under android N.

    Since we moved to angler FP we don't need to spoof model to Play Store
    anymore, however the KM block is still needed.

    Test: Run Play Intregrity Attestation

    Signed-off-by: Dyneteve <dyneteve@hentaios.com>
    Change-Id: Ic2401a6e40ddfc4318a1d0faa87e42eb118ac3d1

    Co-authored-by: Dyneteve <dyneteve@hentaios.com>

commit faa0f69a85bc241f7824057ab32b64d713716245
Author: aswin7469 <aswinas@pixysos.com>
Date:   Thu Oct 13 23:30:50 2022 +0530

    core: Blacklist PIXEL_2022_EXPERIENCE for photos

commit 7fa6c569bb243d442a80333d25806bd06645f110
Author: ReallySnow <reallysnow233@gmail.com>
Date:   Fri Sep 23 14:18:46 2022 +0800

    core: Fix Pixel feature leaked to other apps

    * Current execution order is [1] `((A && B) && C) || (D) || (E) || (F) || (G)`
      and we want the execution order is [2] `A && B && (C || D || E || F || G)`
      If follow [1], it will not only affect GPhoto, but also Gcam, Gcam needs
      to read these functions or it will prompt for unsupported device and then crash

    Change-Id: I53c97591fe7526c8dc6f07b914a43dc0f8b197b7

commit 34765c3259207c1ee2fd83bccfb1caf9894b8cd3
Author: Akash Srivastava <akashniki@gmail.com>
Date:   Sat Aug 20 19:04:32 2022 +0700

    core: Pixel experience Blacklist For Google Photos for Android 13

    * See, in Android 13 pixel_experience_2022_midyear was added, which needs to be blacklisted aswell

    Change-Id: Id36d12afeda3cf6b39d01a0dbe7e3e9058659b8e

commit 21e6846ac9415bbfd9acb23bf418a44e30c578e0
Author: kondors1995 <normandija1945@gmail.com>
Date:   Mon Dec 20 16:53:46 2021 +0000

    core: Extend Pixel experience Blacklist For Google Photos

    Turns out having these brakes Original quality backups.
    Since these indicate that the device is pixel 4 with in the turn brakes device spoofing as OG pixel

    Change-Id: I336facff7b55552f094997ade337656461a0ea1d

commit ac0056ac3cdfe5c82e61e958075e10a59d5bcdf8
Author: naveenjohnsonv <14140949+naveenjohnsonv@users.noreply.github.com>
Date:   Mon Dec 13 07:16:55 2021 +0000

    core: Blacklist P21 midyear, P20, P20 midyear experience system feature from Google Photos

    naveenjohnsonv: also blacklist PIXEL_2021_MIDYEAR_EXPERIENCE, PIXEL_2020_EXPERIENCE and PIXEL_2020_MIDYEAR_EXPERIENCE from Google Photos
    Along with crosshatch spoof for Google Photos using PixelPropUtils, this should enable Unlimited Original Quality Backup without needing to rem
ove any XMLs

    Test: Google Photos editor with PIXEL_2021_EXPERIENCE feature in product
    Change-Id: Iad083ce049cd1786494a71c3b8d575f0caabb4e7

commit d1061c15df7d259ab192345045868b7325b1054e
Author: Kuba Wojciechowski <nullbytepl@gmail.com>
Date:   Fri Nov 5 01:52:51 2021 +0300

    core: Blacklist P21 experience system feature from Google Photos

    We want to include the P21 experience flag to enable new features,
    however it seems like Google Photos uses it to decide whether to use the
    TPU tflite delegate. There doesn't seem to be any fallback so we need to
    make sure the feature is not exposed to the app so that a normal
    NNAPI/GPU delegate can be used instead.

    Test: Google Photos editor with PIXEL_2021_EXPERIENCE feature in product
    Signed-off-by: Kuba Wojciechowski <nullbytepl@gmail.com>
    Change-Id: I51a02f8347324c7a85f3136b802dce4cc4556ac5

Change-Id: I6b32d66fda2293afc1fc6ae82c5604274e6b73b0
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
* Now Recorder also use Tensor soc feature for mic recording

Log:
07-09 11:03:53.820 15531 15721 I tflite  : Initialized TensorFlow Lite runtime.
07-09 11:03:53.833 15531 15721 W libc    : Access denied finding property "ro.hardware.chipname"
07-09 11:03:53.835 15531 15721 I tflite  : Created TensorFlow Lite XNNPACK delegate for CPU.
07-09 11:03:53.850 15531 15722 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.850 15531 15723 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.876 15531 15611 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.877 15531 15611 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.877 15531 15573 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.878 15531 15573 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.879 15531 15614 I Recorder_ManagedSequent: Finished initializing components.
07-09 11:03:53.879 15531 15614 I Recorder_ManagedSequent: Finished initializing components.

Change-Id: I36b30057f45f831420db3f2fc13538dbfa5ebd56
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
…pixel list

* Pixel 5a (which is qcom soc) included this by default

Change-Id: I94559b0800084bb79608251568a44a48d74a7057
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
* This works just as well as it does on CLO. Ofc relies on CLO's Perf libs

Change-Id: Icc2f6d5aa244ffcc43931c993d1a116ff7ec0bf5
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
(cherry picked from commit c1f593f59b6cdd480f16023716baef2564643b52)
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
As the initialization function can be accessed from multiple threads,
need to add lock protection to avoid data race issue.

Change-Id: I22e9ae8392cdc00e36131b257e24bb17e9d8e361
CRs-Fixed: 3343100
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
(cherry picked from commit 2ec1f76c32f6b8c4e1904bf554dcbdea275ded9c)
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Multi-layer rendering can result in unexpected pending between UI
thread and render thread if pre-rendering enabled. Need to disable
pre-rendering for multi-layer cases.

Change-Id: I569e6eb77e4feb2071b9f172d3d9ea9e7eddbacb
CRs-Fixed: 3333436
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
(cherry picked from commit c8e8711ffbc36661ea4b3a1cd7daa88ef0b21737)
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Change-Id: I1faf475d3b935b0b9a62c5ae4225d04b078004d9
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
(cherry picked from commit 32723942cbc2df78fbf37b4db5882a79e1b0bc27)
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Change-Id: Ib5a1709e05ca1a405389ce0af25e7cb68c87b6ea
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Change-Id: I5e22a590b0f1f0e9a678d45d06bb262021cf84bb
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Change-Id: Ifa67f6c403fe465fc213c5d19e2cba4abb92405e
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
1. Should only apply launch boost when the activity is from main intent
2. When activity finish before show, need release boost before finish.

Change-Id: I201e45ac86b60d400b67e52da063184ee75c574e
CRs-Fixed: 3365671
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
(cherry picked from commit 97d1f0c8f270b7f088313709e533531fdd7f0c9b)
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Till Android-S, action for some and full compactions can be configured
from vendor based on vendor.appcompact.some_compact_type and
vendor.appcompact.full_compact_type properties.

But From Android-T these actions are hard coded and configurations
from vendor are ignored.

This change restores this vendor side configurability.

Adding a vendor config to enable appcompaction debug logs.

CRs-Fixed: 3365547
Change-Id: I3836154bc827bef04fc16fcef6a7390fd262b862
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
(cherry picked from commit 68f18f807811fa6066b0a6ab6923d579b6c13b25)
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
During system compaction, mark File pages as MADVISE_PAGEOUT instead
of MADVISE_COLD. This will drop clean pages and swap-out file pages
mapped as private.
This improves the bootup free memory.

CRs-Fixed: 3371572
Change-Id: I81c2152b11eee458068834698395e160e6340b79
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
(cherry picked from commit 91aaef8bb92bc1328a55180c4375e5093bc7992a)
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
…uffers

* QPR1 has introduced an issue on all moto-common projects where
* OpenGLRenderer could fail to dequeue buffers sproradically
* We can reduce this timeout in order to not inconvenience
* the user with a laggy UI

Change-Id: Ib8bed652d597c1789806211bdfa885050caf1dfe
Signed-off-by: electimon <electimon@hentaios.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
FoldStateListener is non-static inner class and keeps reference to
the outer class which is CameraManager. As CameraManager also keeps
context with mContext, memory leak could exist.

Changing FoldStateListener to static inner class, so that the class
won't keep the reference.

Bug: 242264787
Test: Manual test with memory profiling
Change-Id: I77652bd94b50eabc80041e13274b619c0da36601
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Change-Id: Ib08fa774688eb669b80cc0804716438abe6b5807
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
* Make use of AOSP config to set default initial value

Ref:
crdroidandroid/android_frameworks_base@345ff7b
crdroidandroid/android_frameworks_base@ab1aad9

@SKULSHADY: Use the AOSP drawables for volume panel

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
* Provide support for alert slider hardware.
* Ability to swap order of alert slider within system setting.
* Enable setting config_hasAlertSlider to true and defining
  proc nodes for state path and UEvent match path.

* Contributors:
@Thecrazyskull
@carlosavignano

TODO> SystemUI integration.

Forward ported to Pie by @Sirhc95

Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Ported from OxygenOS and reworked for our alert slider
implementation. We target AudioManager instead of Zen,
icons are also the same as aosp and the dialog uses the
material theme as well as support for our themes.

To use, the alert slider config must be enabled. By default,
the dialog shows on the left side. To move it to the right
side, set the location config to 1.

Change-Id: Ie1954a44cc5242c95a731abd7404379ea638fe70
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
- Convert px to dip
- Modify the dialog to match toast
- Fix positioning for OP7 Pro slider
- Remove unused dimens and drawables

Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Adjust this based on the left/right config.

@SKULSHADY: Fix dimens for right dialog

Change-Id: I282f1a318bc9bf1cfd20c6b8c41be5f79fab4534
Signed-off-by: Anushek Prasal <anushekprasal@gmail.com>
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.5.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](jonschlinkert/word-wrap@1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet