-
Notifications
You must be signed in to change notification settings - Fork 119
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
Some commit from Pixel experience tree #139
Open
adrian1234a
wants to merge
312
commits into
Havoc-OS:thirteen
Choose a base branch
from
adrian1234a:thirteen
base: thirteen
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Anushek Prasal <[email protected]>
Change-Id: I39db23cc358fc38c31773ef2110c0cfbfb0569a6 Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Tested-by: Sourajit Karmakar <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Tested-by: Sourajit Karmakar <[email protected]> Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7146 Reviewed-by: Anay Wadhera <[email protected]> Tested-by: Anay Wadhera <[email protected]> Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/8667 Reviewed-by: Sourajit Karmakar <[email protected]> Tested-by: Sourajit Karmakar <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Tested-by: Anay Wadhera <[email protected]> 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 <[email protected]> Tested-by: Sourajit Karmakar <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Tested-by: Anay Wadhera <[email protected]> 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 <[email protected]> Tested-by: Sourajit Karmakar <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Tested-by: Anay Wadhera <[email protected]> Reviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7163 Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]>
…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 <[email protected]>
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 <[email protected]>
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 <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
issue: 252105539 Signed-off-by: wangdongdong6 <[email protected]> Change-Id: Id577190f8a50e0ee447bad97f631ae194ad47f2c Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Change-Id: I25e5d387a3f5fa91520d0d63a7844d7ed009c756 Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> Change-Id: Ia0361fd98e9ff7128153ff664825fd62c5ca6258 Signed-off-by: Anushek Prasal <[email protected]>
Matches the behavior of PixelCopy/Readback.cpp Bug: 248949805 Test: build Change-Id: I82f34ba4d8eebf98e61670a88d9f8e427918087c Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 : Havoc-OS#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 <[email protected]> Change-Id: I77226be2bd235852675bb4f7a29589e360269b33 Signed-off-by: Anushek Prasal <[email protected]>
Change-Id: I47612fbd6764903b119adde0e414093a875e93da Signed-off-by: Bart Van Assche <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
avoid set uninstalled for nonsystem app when first boot Bug:273457409 Change-Id: I77d19122de67869340decaf979b8f08f77070dd0 Test: Build Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]>
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 <[email protected]> Change-Id: Ib34b4a100c65a9a2705aaef8e7e32322fbedc531 Signed-off-by: Anushek Prasal <[email protected]>
[ghostrider-reborn] updated to android 12, 13 Co-authored-by: Adithya R <[email protected]> Change-Id: Ia55ac91c2db2f44062674a699f8df63c96e1de5c Signed-off-by: Anushek Prasal <[email protected]>
- 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 <[email protected]>
* Settings->System->Gestures->Prevent ringing core: Remove @Systemapi annotation for VOLUME_HUSH_CYCLE. This addition should not be annotated with @Systemapi because it creates an addition that fails the API test in user builds Signed-off-by: rituj <[email protected]> Co-authored-by: Evan Anderson <[email protected]> Change-Id: I334bd165e970665ac5300d387a0ea6745748d3ad Signed-off-by: Anushek Prasal <[email protected]>
Follows stock Android behavior, camera chip should not be shown when sense is the incoming package Change-Id: I29eb1e0fabb570829f29d3a3f23c9e897b1a7df0 Signed-off-by: Anushek Prasal <[email protected]>
Signed-off-by: Anushek Prasal <[email protected]>
Signed-off-by: Anushek Prasal <[email protected]>
commit 444afd520dd93038d8cd9f68438536240a2b608e (pixel/thirteen, m/thirteen) Author: jhenrique09 <[email protected]> Date: Sun Jul 2 18:34:00 2023 -0300 PixelPropsUtils: Remove pixel whitelist Change-Id: I28ff6643ebe656478d3f5dde28ca88cd3d7a7542 commit a8561c81d7e2cae1730a1e25b74823a980838b86 Author: jhenrique09 <[email protected]> Date: Thu Mar 23 16:22:25 2023 -0300 PixelPropsUtils: Simplify GoogleCamera whitelisting Change-Id: I7db1b60343dff661a9f1c4116f689c3cc5afbdfc commit aa4c66949ad5552b3221cbd5b7fdf072dd7ce60e Author: jhenrique09 <[email protected]> Date: Wed Mar 22 12:39:22 2023 -0300 PixelPropsUtils: Spoof user build Change-Id: Ie33e0213a2608ecceea37b0e4cfb1115d6a0b788 Change-Id: I7583251294028bd7c8a9372c4a9ee79b42213f94 commit 9c9e560381218d27dd3100789bdcb42634939521 Author: Sourajit Karmakar <[email protected]> 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 <[email protected]> commit ad3fee4764092a5f8b2b36c9efda0cb55e757901 Author: aswin7469 <[email protected]> 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 <[email protected]> Co-authored-by: someone5678 <[email protected]> Change-Id: Ifb9a4ed5a864e293c52f7d96a2f4d27cd6152c96 commit 232dbb7b0974819b2386cf59f3f3cf9d1c5e3ee0 Author: aswin7469 <[email protected]> Date: Sat Jun 17 13:53:45 2023 +0530 PixelPropUtils: Add emojiwalls and cinematiceffects pkgs commit dda7fccc336876d4843e32ad2b80a97edb977c47 Author: aswin7469 <[email protected]> Date: Thu Jun 8 13:30:13 2023 +0530 PixelPropUtils: Switch to raven for asi Change-Id: Ie57206e750e8554cf097c9466523526526b575b4 commit 9b492c93076552320a0bcbca65062ed7bb95551d Author: aswin7469 <[email protected]> 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 <[email protected]> commit 00a5906509e7ea00214b06820b26e0093f85e0a7 Author: Adithya R <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Wed Mar 22 16:44:42 2023 +0530 PixelPropUtils: Update spoofs commit 1793b260cf5062af2c90e339016e84c17f542dd7 Author: aswin7469 <[email protected]> Date: Tue Mar 14 04:08:17 2023 +0530 PixelPropsUtils: Update build fp to march 2023 Change-Id: I1f11e53e2718c5bbbfded177338fb11b3e3ccd39 commit 276703f3f91e19e78ef34d6998a3ac4bd4b39cc0 Author: minaripenguin <[email protected]> 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 <[email protected]> commit 51b0f20d99f2dd9ba608ba53ae80069898faac28 Author: Anirudh Gupta <[email protected]> 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 <[email protected]> commit e1cc436f2d0ebe43b868bc3c26b039f4b2bae83e Author: Dyneteve <[email protected]> Date: Tue Dec 6 15:59:08 2022 +0100 PixelPropsUtils: Use actual device model name Signed-off-by: Dyneteve <[email protected]> Change-Id: I454654d87b3ea6286e12e9a9f5ed120f06cb2aa6 commit f54b8e06428fbe8b1d8b2293b6091448369b3ed0 Author: Danny Lin <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> Co-authored-by: ghostrider-reborn <[email protected]> Co-authored-by: spezi77 <[email protected]> commit b97ca2c24fc51e3614f02f598a9875eaf6ac874e Author: aswin7469 <[email protected]> Date: Fri Jan 13 14:25:58 2023 +0530 PixelPropUtils: spoof snapchat Change-Id: I4b46bd5f1d58f256a356b685ad04e4de694d3dec commit b5c12e0de721ca37b44f2cc1f447e2b07311961c Author: aswin7469 <[email protected]> Date: Wed Jan 4 11:41:56 2023 +0530 PixelPropUtils: update january 2023 commit df0a5837b7344f62ab742192a2e09a7ac5d7787a Author: jhenrique09 <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Mon Nov 7 21:14:13 2022 -0300 PixelPropsUtils: Press F for flame and coral Change-Id: Icba703edb590586874628d672b33f5a20f7e85d3 commit 02b3886 Author: jhenrique09 <[email protected]> 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 <[email protected]> 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 <[email protected]> Date: Tue Oct 25 23:20:10 2022 +0530 PixelPropsUtils: Spoof Gboard with PixelXL Signed-off-by: Pranav Vashi <[email protected]> Change-Id: If712cb9ca4da8883bd4108d933471f8c5f2101c4 commit 0e32da6 Author: EnesSastim <[email protected]> Date: Tue Oct 25 14:04:49 2022 +0000 PixelPropsUtils: Don't spoof euicc Signed-off-by: Pranav Vashi <[email protected]> commit cb7054c Author: Dyneteve <[email protected]> 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 <[email protected]> Signed-off-by: Pranav Vashi <[email protected]> commit b38f8d8 Author: Joey Huab <[email protected]> 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 <[email protected]> commit e98f2a0 Author: Alexander Winkowski <[email protected]> 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 <[email protected]> commit 6de0e93 Author: Danny Lin <[email protected]> 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 <[email protected]> commit 085a344 Author: Pranav Vashi <[email protected]> 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 <[email protected]> commit 7f4db31 Author: Anay Wadhera <[email protected]> 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 <[email protected]> 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 <[email protected]> Signed-off-by: Pranav Vashi <[email protected]> commit cff3b11 Author: Pranav Vashi <[email protected]> Date: Sun Feb 27 15:23:50 2022 +0530 PixelPropsUtils: Whitelist YouTube apps * Otherwise casting shows wrong device connected. Signed-off-by: Pranav Vashi <[email protected]> commit c90d87a Author: Joey Huab <[email protected]> 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 <[email protected]> commit 2b18c2d Author: Pranav Vashi <[email protected]> Date: Tue Jan 11 09:49:00 2022 +0530 PixelPropsUtils: Bail out early when required Signed-off-by: Pranav Vashi <[email protected]> commit 4f769c2 Author: Pranav Vashi <[email protected]> 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 <[email protected]> Change-Id: Ica5aee62c38ae46c5003a1d35ba6bdc9f865b2ef commit ee51411 Author: Pranav Vashi <[email protected]> Date: Mon Jan 10 22:55:33 2022 +0530 PixelPropsUtils: Consolidate google app checks Signed-off-by: Pranav Vashi <[email protected]> commit 596a952 Author: Pranav Vashi <[email protected]> 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 <[email protected]> commit 16f7bdf Author: Danny Lin <[email protected]> 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 <[email protected]> commit bc334ec Author: jhenrique09 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> commit e8a20fb Author: Joey Huab <[email protected]> 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 <[email protected]> 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 <[email protected]> Reviewed-by: Sourajit Karmakar <[email protected]> Change-Id: I926b23324e669e24079c78fecc0c7a0b77c15e13 commit 838ff9e Author: Adithya R <[email protected]> Date: Sat Nov 27 16:53:23 2021 +0530 PixelPropsUtils: Avoid spoofing props for gcam and mods Change-Id: Ia6f095b1511152ae6ba705990def71e7e4546072 commit d72b3ce Author: vladsendrix <[email protected]> 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 <[email protected]> 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 <[email protected]> Co-authored-by: Danny Lin <[email protected]> Signed-off-by: Pranav Vashi <[email protected]> Change-Id: Ic68aadf5d8d2352da4c3adf1e7f67ef0a1dd5df2 commit bfec00bf4ffc40297c97bf02d124696f279c0dbe Author: aswin7469 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> Change-Id: Ic2401a6e40ddfc4318a1d0faa87e42eb118ac3d1 Co-authored-by: Dyneteve <[email protected]> commit faa0f69a85bc241f7824057ab32b64d713716245 Author: aswin7469 <[email protected]> Date: Thu Oct 13 23:30:50 2022 +0530 core: Blacklist PIXEL_2022_EXPERIENCE for photos commit 7fa6c569bb243d442a80333d25806bd06645f110 Author: ReallySnow <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> Change-Id: I51a02f8347324c7a85f3136b802dce4cc4556ac5 Change-Id: I6b32d66fda2293afc1fc6ae82c5604274e6b73b0 Signed-off-by: Anushek Prasal <[email protected]>
* 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 <[email protected]>
…pixel list * Pixel 5a (which is qcom soc) included this by default Change-Id: I94559b0800084bb79608251568a44a48d74a7057 Signed-off-by: Anushek Prasal <[email protected]>
* This works just as well as it does on CLO. Ofc relies on CLO's Perf libs Change-Id: Icc2f6d5aa244ffcc43931c993d1a116ff7ec0bf5 Signed-off-by: chrisl7 <[email protected]> (cherry picked from commit c1f593f59b6cdd480f16023716baef2564643b52) Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> (cherry picked from commit 2ec1f76c32f6b8c4e1904bf554dcbdea275ded9c) Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> (cherry picked from commit c8e8711ffbc36661ea4b3a1cd7daa88ef0b21737) Signed-off-by: Anushek Prasal <[email protected]>
Change-Id: I1faf475d3b935b0b9a62c5ae4225d04b078004d9 Signed-off-by: chrisl7 <[email protected]> (cherry picked from commit 32723942cbc2df78fbf37b4db5882a79e1b0bc27) Signed-off-by: Anushek Prasal <[email protected]>
Change-Id: Ib5a1709e05ca1a405389ce0af25e7cb68c87b6ea Signed-off-by: Anushek Prasal <[email protected]>
Change-Id: I5e22a590b0f1f0e9a678d45d06bb262021cf84bb Signed-off-by: Anushek Prasal <[email protected]>
Change-Id: Ifa67f6c403fe465fc213c5d19e2cba4abb92405e Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> (cherry picked from commit 97d1f0c8f270b7f088313709e533531fdd7f0c9b) Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> (cherry picked from commit 68f18f807811fa6066b0a6ab6923d579b6c13b25) Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]> (cherry picked from commit 91aaef8bb92bc1328a55180c4375e5093bc7992a) Signed-off-by: Anushek Prasal <[email protected]>
…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 <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
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 <[email protected]>
Signed-off-by: Anushek Prasal <[email protected]>
Signed-off-by: Anushek Prasal <[email protected]>
Change-Id: Ib08fa774688eb669b80cc0804716438abe6b5807 Signed-off-by: Pranav Vashi <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
* 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 <[email protected]> Signed-off-by: Anushek Prasal <[email protected]>
* 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 <[email protected]>
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 <[email protected]>
- 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 <[email protected]>
Adjust this based on the left/right config. @SKULSHADY: Fix dimens for right dialog Change-Id: I282f1a318bc9bf1cfd20c6b8c41be5f79fab4534 Signed-off-by: Anushek Prasal <[email protected]>
This change includes below gerrits: # This is a combination of 8 commits. # The first commit's message is: Camera: Add support for QC camera features. Added APIs and keys for all QC features. This will enable application to get/set paramters. (cherrypicked from commit d0c5a0ee7e9af41320fed00ff324c6d0f22eb697) Change-Id: I68c23aaf7267645efeb4d4743b390a048292b7fd # This is the 2nd commit message: Camera: Adds support for meta data callbacks - This change adds a new type of callback that will be called when there are pending meta data notifications. Change-Id: I84f5cbafe4f023c7b0efa9ec8620756b0eaa428d # This is the 3rd commit message: Camera: Adds support for longshot configuration - The Camera API is extended with one additional call for longshot mode configuration. (cherrypicked from commit 867c4865b2a61a8e844e2784c41b7aafc392aec0 ) Change-Id: Idb91a21dc0d9fa9d22b4a6bbcc0b2eebfc2cb6db # This is the 4th commit message: Camera: Add support for manual 3A Add API for manual 3A (awb/af/aec). Change-Id: Ia5240207ce7a6628e8fdfef79f56db01add14aef # This is the 5th commit message: Camera: use single KEY for set/get manual 3A parameters. Instead of using different KEYs, we can share one same key, for set/get 3A parameters from APK. Change-Id: Ie3216ee4e1b8f62fcdd57a0be119d4b8dcdd81b3 # This is the 6th commit message: Framework: Adding support for Auto HDR Adding support for Auto HDR for camera CRs-fixed: 629556 Change-Id: Ie5e4718524d2ed799f1f9af1f76e89c01d743ac8 # This is the 7th commit message: Camera: Add support for video rotation Adding apis to support video rotation. CRs-Fixed: 672804 Change-Id: Ic67e82058824a6dc7cc803ef0efe61475350bafc # This is the 8th commit message: Camera: Expose aux camera if package name is null In case of the package name not being found properly the name would always be found in the excludelist, even if the list is empty. This leads to denying aux camera access in some cases where it is not intended to be blocked.
here are 2 commits camera: Add backwards-compatible CaptureResultExtras constructor Commit PixelExperience/frameworks_base@e16fed2 added readout timestamp parameters which changed the constructor, but is unsupported by few stock camera apps, such as MIUI Camera. camera2: Add non burst sizes to mandatory streams for ultra high resolution
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some recommended commits