Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Sep 3, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

Demon000 and others added 26 commits September 3, 2022 17:26
This commit partially reverts f40bd8f
("Assume sensors perform prox check").

Some devices do not have proximity gated sensors, and still require
gating in software.
Partially revert this commit to bring back the ability for sensors to
be proximity gated in software.

Change-Id: Ic3d5c6e98d1767623ace4ee4eea1c52606fabd4a
…ty check

Change-Id: Id7df987f0e9db4e5e2328534764ded397b6ac48d
Fixes:
external/robolectric-shadows/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageParser.java:69: error: org.robolectric.shadows.ShadowPackageParser.Callback is not abstract and does not override abstract method getAppProfileService() in android.content.pm.PackageParser.Callback
  private static class Callback implements PackageParser.Callback {
                 ^
1 error

Change-Id: I4a2103361a80a920962d985d6358d9f8574f9454
fixup for change-Id: I0a8186e800e9d2701319db1adc97bdcf0441cc12

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Change-Id: Id67a9bc3e4a0e411b7377f111324465ca447b2a3
Ie52aaab90f678d32d9b67f95d81f86b82d1b9c7c introduced edit button but didn't
took into account that there can be multiple images being shared. This patch
adds a check to ensure that this action is not shown in such cases.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: I787cd9cfd873242542b330a522bed5df9deb62a4
Change-Id: I08dc67fe6e397169f20e1c3986c48d86e3ebf893
If an app declares too much hosts for App Link, Statementservice will crash since
it uses Data class of WorkManager to save verify result for all hosts while Data throws
IllegalStateException if it occupies more than 10240 bytes when serialized.
This fix uses SharedPreferences to save verify results instead of Data class of WorkManager.

Test:Disable GMS core and reboot device, then install Google Map; Statementservice does not crash
and framework receives host verify results from Statementservice

Signed-off-by: Bin Wang <bin.wang@oppo.corp-partner.google.com>
Change-Id: I6d1b19fd8ed3158a621a2fb0089d92430482fd61
Change-Id: I471908cfa27a54e0075394eed348cb15386f62ce
Open the taken screenshot in gallery application when clicking on the
preview. There is a seperate edit button, so the preview imageview
should open gallery instead.

Test: atest com.android.systemui.screenshot.ScreenshotNotificationSmartActionsTest
Change-Id: I8f882ddd0da47ca50acc37d25ee0866ce5698e4f
This CL makes the following modifcations:
1. Add LockPatternUtils.StrongAuthTracker to monitor
the lockdown mode status of the phone.
2. Call mListeners.notifyRemovedLocked with all the
notifications in the mNotificationList when entering
the lockdown mode.
3. Call mListeners.notifyPostedLocked with all the
notifications in the mNotificationList when exiting
the lockdown mode.
4. Dismiss the function calls of notifyPostedLocked,
notifyRemovedLocked, and notifyRankingUpdateLocked
during the lockdown mode.

The CL also adds corresponding tests.

Bug: 173721373
Test: atest NotificationManagerServiceTest
Test: atest NotificationListenersTest
Test: manually verify the paired device cannot receive
notifications when the host phone is in lockdown mode.
Ignore-AOSP-First: pending fix for a security issue.

Change-Id: I7e83544863eeadf8272b6ff8a9bb8136d6466203
Merged-In: I7e83544863eeadf8272b6ff8a9bb8136d6466203
(cherry picked from commit 3cb6842)
(cherry picked from commit b109929)
Merged-In: I7e83544863eeadf8272b6ff8a9bb8136d6466203
…estrictions.

This is to stop spoofed packageName to pretend to be allowListed
packageName so it can bypass the BG-FGS restriction. This applies to
both BG-FGS while-in-use restriction and BG-FGS-start restriction
since these two restrictions are related.

Bug: 216695100
Bug: 215003903
Test: atest cts/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java#testSpoofPackageName
Change-Id: Ic14fc331a9b5fbdbcfe6e54a31c8b765513bfd89
Merged-In: Ic14fc331a9b5fbdbcfe6e54a31c8b765513bfd89
(cherry picked from commit eef2039)
Merged-In: Ic14fc331a9b5fbdbcfe6e54a31c8b765513bfd89
Clear mInterface before calling resetIkeState() in
onDefaultNetworkChanged().
resetIkeState() will trigger interfaceRemoved() to be called.
If mInterface is set, interfaceRemoved() will clear
Ikev2VpnRunner which makes VPN disconnect.

This issue can be reproduced when device establishes VPN
connection with mobile data first then connects to wifi.
In this case, onLost() for mobile data will not be called
because there is a new network(wifi) can satisfy the request,
so only onAvailable() for wifi will be called.
Which means onSessionLost() will not be called and only
onDefaultNetworkChanged() will be called, which makes that
mInterface is not cleared before interfaceRemoved() is called.

Bug: 219546241
Test: Check if VPN is still there when establishing VPN with
      mobile data first, then connect to wifi and disconnect
      wifi.
Change-Id: I7f9a1d9afd2a40762e9fac68edf1fb8ae75df8bc
(cherry picked from commit 520cc2f)
Merged-In: I7f9a1d9afd2a40762e9fac68edf1fb8ae75df8bc
(cherry picked from commit 65d44b9)
Merged-In: I7f9a1d9afd2a40762e9fac68edf1fb8ae75df8bc
Prevents apps from reading location requests of other users without INTERACT_ACROSS_USERS permission.
Bug: 222473855
Test: Build

Change-Id: Id591cd39ed7813c649b44d4a3210f0b1fb79b40d
(cherry picked from commit 16560c0)
(cherry picked from commit 5b376bc)
Merged-In: Id591cd39ed7813c649b44d4a3210f0b1fb79b40d
This bypass was originally allowed to let restricted users who can't use
location to pair bluetooth devices. This isn't needed anymore with the
bluetooth permissions.

Test: Set up restricted profile and pair bluetooth
      Verify com.android.phone gets rejected
Bug: 230861324
Bug: 231496105
Merged-In: Ib34c0b56ef52f5ee2deceb84b02cd0ff73d8181d
Change-Id: Ib34c0b56ef52f5ee2deceb84b02cd0ff73d8181d
(cherry picked from commit 807f4cf)
Merged-In: Ib34c0b56ef52f5ee2deceb84b02cd0ff73d8181d
Blocking system server from giving itself location restriction doesn't
make much sense.

Test: Disable, reboot, observe bootloop, apply patch, build, flash,
          observe successful boot
Bug: 230861324
Bug: 231496105
Merged-In: Ic869da4847e4f39896861f3bf6e83f6f6c76ea62
Change-Id: Ic869da4847e4f39896861f3bf6e83f6f6c76ea62
(cherry picked from commit 1dddfe1)
Merged-In: Ic869da4847e4f39896861f3bf6e83f6f6c76ea62
checkOp doesn't support checking against an attribution tag, this causes
some checkOps to fail when a noteOp is successful meaning that a
preflight routine might fail before delivering data and doing the more
precise check. This only affects when a user restriction is applied and
there are excepted package+tag.

Test: Checkop with test app
Bug: 232502990
Bug: 231496105
Merged-In: Idcf5ac9a5401ad8089f5873da1f978fdf9258b5a
Change-Id: Idcf5ac9a5401ad8089f5873da1f978fdf9258b5a
(cherry picked from commit 61c2d02)
(cherry picked from commit 25f1b6a)
Merged-In: Idcf5ac9a5401ad8089f5873da1f978fdf9258b5a
Bug: 228178437
Test: Manually confirmed on an application
Change-Id: Idad6dc0c71d7b39de0bd9e4ad922b5e6020a6184
Merged-In: Idad6dc0c71d7b39de0bd9e4ad922b5e6020a6184
(cherry picked from commit e86cdf4)
Merged-In: Idad6dc0c71d7b39de0bd9e4ad922b5e6020a6184
Verify the input PAC Uri before performing follow-up actions.

Check if the URL is a valid URL to filter some invalid URLs since
these invalid URLs could not fall into any subclass of existing
URLConnections. When the PAC Uri is other invalid URL scheme, it
will cause an UnsupportedOperationException if there is no proper
subclass that implements the openConnection() method.
A malformed URL may crash the system.

Even it's a valid URL, some subclasses(e.g. JarURLConnection)
may not have openConnection() implemented. It will also hit the
problem, so convert the possbile exception from openConnection()
to re-throw it to IOException which is handled in the existing
code.

Bug: 219498290
Test: atest FrameworksNetTests CtsNetTestCases
Test: Test with malformed URL
Change-Id: I22903414380b62051f514e43b93af992f45740b4
(cherry picked from commit 6390b37)
Merged-In: I22903414380b62051f514e43b93af992f45740b4
(cherry picked from commit fe57c5b)
Merged-In: I22903414380b62051f514e43b93af992f45740b4
Bug: 203229608
Test: Manual test with changing the check logic + debug log
Change-Id: If18009f61360564d02dcda9b1e5fa15685e3250f
(cherry picked from commit 5827052)
(cherry picked from commit 7d1397a)
Merged-In: If18009f61360564d02dcda9b1e5fa15685e3250f
If the app invoking the MediaSession callbacks is capable of
starting a FGS from background, then also allow the target app
receiving the callbacks to start FGS from background.

Bug: 221873343
Test: manual
Change-Id: I98de12b5410c3f0f70d7d2be12bef3e6d0e1bf73
Merged-In: I98de12b5410c3f0f70d7d2be12bef3e6d0e1bf73
(cherry picked from commit 6e2b1434733f1168067506c0967ced86772220de)
Bug: 230779051
Test: manual
Change-Id: I2867a15840a0987c948179e2f8069e652c4a0c1f
Merged-In: I2867a15840a0987c948179e2f8069e652c4a0c1f
(cherry picked from commit 6a61fb48f0a470fb39eb50602335e424945d064e)
Extend the support of the exception list for SC-V2 and apps targeting
S and SC-V2.

Test: atest ActivityRecordTests
Test: com.android.server.wm.SplashScreenExceptionListTest
Bug: 231708538
Merged-In: I5412e81f70cbc9aac3861d13d85e199e949bedc7
Change-Id: I70a2aa4684c1267fe98e0e2260c61042db9c2e36
(cherry picked from commit e16beef)
Change-Id: Ieed541ccc1e947f63232fed71c01bc6630da449c
…stream

The media output dialog can be used to connect different devices.
This patch makes it show up if at least one of the following
conditions is met:
1: There is an active local media controller
2: There is a bluetooth a2dp device connected

Change-Id: Ie2a2a0f3125e1ffbf78bfc1f66868696f6389294
The volume dialog is above the status bar too and can be used while
the statusbar is expanded. Opening the media output dialog then will
cause the dialog to appear below the status bar which isn't visible
until the status bar is collapsed. This change moves the media output
dialog above the status bar.

Change-Id: Ie906ee0a59d52dbb6b6f703e210fa43308d069f0
For our Trust preferences, if the `trust_restrict_usb` setting is
missing, we default to assuming a value of 0 (don't restrict USB
devices). However, here in fw/b, we're instead defaulting to assuming a
value of 1 (restruct USB devices when device is locked). As such, this
can cause confusion because the user is expecting that we aren't
restricting USB connections by default.

Let's update the fw/b side of things to also assume a value of 0 instead
to clear up the confusion.

Change-Id: Ifa45bfb05ad4e745266f3da11ee3f0f4a6a3384b
@pull pull bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Sep 3, 2022
althafvly and others added 2 commits September 4, 2022 08:58
Co-authored-by: Jesse Chan <jc@lineageos.org>
Change-Id: I57cd53de8f2c1e4d445441b514875b6af915b858
- Now shows up on QuickSettings panel.
- Fixes issues with battery circle style on theme and
  ui mode change and statusbar icon toggle.
- Fixes wrong tint color with circle battery icon.
- Re-evaluating system theme to avoid delay in circle
  battery tint color change.

Change-Id: Id90f85e47ce4b9811e9bb67b91169997020300d8
chirayudesai and others added 30 commits November 24, 2022 10:39
… capabilities

* This code ends up being called from Datura, the firewall app,
  which would fail with:
java.lang.SecurityException: Package android does not belong to 10139
   at android.net.NetworkPolicyManager.removeUidPolicy(NetworkPolicyManager.java:352)
   at org.calyxos.datura.settings.SettingsManager.setAppRestriction(SettingsManager.java:108)
Caused by: android.os.RemoteException: Remote stack trace:
   at android.app.AppOpsManager.checkPackage(AppOpsManager.java:8552)
   at com.android.server.ConnectivityService.getNetworkCapabilities(ConnectivityService.java:2042)
   at android.net.ConnectivityManager.getNetworkCapabilities(ConnectivityManager.java:1563)
   at com.android.server.net.NetworkPolicyManagerService.hasRestrictedModeAccess(NetworkPolicyManagerService.java:4133)
   at com.android.server.net.NetworkPolicyManagerService.getNewRestrictedModeUidRule(NetworkPolicyManagerService.java:4116)
Package android does not belong to 10139
  where 10139 is the uid of the firewall app
* This should be safe since we're only checking the capabilities here,
  and not actually returning anything anywhere - just a boolean

Change-Id: Ia0b5790be19ad5aece0d30ae8e1a465f45f4fed6
…pn and wifi networks

* Listen to changes in all networks
* Limit backend calls during network capability changes to transport changes
* Allow traffic over VPN networks if policy does not restrict it even if other transports are present

Change-Id: I0d719bb7c7f04a493a4ddefa8e6154ef4159abd0
… the allowlist

* This way we can try to track down rare issues noticed where
  sometimes an app didn't get added to the allowlist, or it got
  added when it shouldn't have.

Change-Id: Ib95f80918feb5db95766837e5708ad070f2d1070
* Will help debug any issues that may or may not arise.

Change-Id: I40f0937b921a83dfdee14891b791a067ae463b95
…, not upgrades

* Upgrading apps still sends PACKAGE_ADDED, since it's sent for
  "new package installs", which technically an upgrade still is.
* Check EXTRA_REPLACING to see if it's a new app.
* Avoids unconditionally turning on networking on app upgrade

Change-Id: Ie7a4090101d47c7033b7f41792e943129dba0700
…ation

* We remove the pre-12 POLICY_REJECT_ALL (network-isolation) since it's
  been replaced with restricted-networking-mode.
* However, if the migration fails, there's no way of knowing, since
  restricted-networking-mode is an allowlist
* Add a new marker policy that is not used anywhere, just so that we
  can debug migration problems easily with
  `adb shell dumpsys netpolicy`
* Can be easily removed later once we know for sure this works well (12L perhaps)

Change-Id: I349eb146d4af935c8ce2d2329ab353d042a319f0
* Add handling for secondary users

Change-Id: I7d5806650f7f3a30638d9fac7848bd8d0bfda9a6
…NETWORKS

Change-Id: I8a4086692c385e9d6166a9bcb11d0a16c9fc7422
Now that we're flipping QS colors by theme (dark/light), we can no longer
rely on wallpaper colors for QS clock. Instead, we now can rely on clock color
being updated correctly on QS re-inflation (via
QuickStatusBarHeader.updateResources).

Change-Id: Icdf2484793cb63b7c0ab6ab87e94185e6bdc9ca4
Make sure only the app currently interacting with the IME can
query this, and restrict the API to apps targeting SDKs before T

Fixes: 204906124
Test: atest 'InputMethodManagerTest#getInputMethodWindowVisibleHeight_returnsZeroIfNotFocused'
Change-Id: If1da19a3dd8c29542afc970b4b201d87547c27a9
Merged-In: If1da19a3dd8c29542afc970b4b201d87547c27a9
(cherry picked from commit 753331b)
Merged-In: If1da19a3dd8c29542afc970b4b201d87547c27a9
Exempting the system as a runtime restart is not clearly
better than extreme memory and computation pressure that can result from
the originating spam.
Callers in the system should guard against any spammy requests that lead
them to create a lot of alarms.

Test: Builds, boots and existing tests should pass.

atest CtsAlarmManagerTestCases:UidCapTests
atest FrameworksMockingServicesTests:AlarmManagerServiceTest

Bug: 234441463
Change-Id: Id5e94d44ac9ab24870a8213ec7583da0f592a5ff
(cherry picked from commit 3b9f3f4)
Merged-In: Id5e94d44ac9ab24870a8213ec7583da0f592a5ff
(cherry picked from commit 87fd506)
Merged-In: Id5e94d44ac9ab24870a8213ec7583da0f592a5ff
…ilencing GroupAlertBehavior.

Bug: 231322873
Test: atest NotificationInterruptStateProviderImplTest
Merged-In: Id82d20c9f1f2001400871b5381f52b40fbdf81c5
Change-Id: Id82d20c9f1f2001400871b5381f52b40fbdf81c5
(cherry picked from commit 09761a9)
Merged-In: Id82d20c9f1f2001400871b5381f52b40fbdf81c5
…le occluded.

This issue was originally raised in the S timeline, but had already been fixed by the refactor to use UnlockedScreenOffAnimationController, which called updateIsKeyguard(/*force*/ true) from onFinishedWakingUp().  This solved the problem of re-triggering the redaction, but it also intriduced a new bug where the keyguard could end up briefly showing on top of the occluding activity when AOD was supported but off.  As a result, they limited the call to when the AOD was on (and animations were controlling, etc).  This CL uses the opposite check to make sure we recalcualte redaction (and only redaction, not the whole keyguard) when waking up while occluded.

We also needed to make sure that we rerun the notification pipeline when updating public information so that any necessary public views are sure to inflate.  That rerun has been limited in scope to conditions where the public mode information has detectably changed.

Bug: 189575031
Bug: 239828798
Test: CTS Verifier NotificationPrivacyTest on emulator, AOD off, AOD on
Merged-In: I95443ee6b77377aceb54b983d34131628027da9b
Change-Id: I95443ee6b77377aceb54b983d34131628027da9b
(cherry picked from commit 9d20909)
Merged-In: I95443ee6b77377aceb54b983d34131628027da9b
This means that a single package with multiple different condition providers or configuration activities will correctly have all of their zen rules associated with the same package rather than each owner/activity having their rules counted separately.

Bug: 235823407
Test: ZenModeHelperTest
Change-Id: I35daf9a24f546ae25a78a2d841be39072cdc5641
Merged-In: I35daf9a24f546ae25a78a2d841be39072cdc5641
(cherry picked from commit f4e6939)
(cherry picked from commit 34f2ef7)
Merged-In: I35daf9a24f546ae25a78a2d841be39072cdc5641
The implementation of shared-element transitions takes the
ActivityOptions from the calling activity and sends them to
another activity. This means that any sensitive information
passed into ActivityManager via ActivityOptions can make its
way to an unrelated app. Recently a RemoteTransition object
was added which includes some sensitive information.

This CL strips the sensitive information from the activity
options before sending it to anonther app.

Bug: 237290578
Test: atest ActivityManagerTest#testActivityManager_stripTransitionFromActivityOptions
Change-Id: Ifa08fc195698f02bf70ca386178c67f6ba4a14ea
(cherry picked from commit 0d03e6f)
Merged-In: Ifa08fc195698f02bf70ca386178c67f6ba4a14ea
Issue:
For quadracfa capture, Blob/YUV output streams need to be
configured with custom dimensions which will not be
available in advertised stream configurations map.

Fix:
Skip the stream size check for whitelisted apps to allow
configuration of streams with custom dimensions.

Also, additionally, remove session id check so that
buffers from one session can be passed on to another
session for reprocess.

Setprop to be used:
adb shell setprop persist.vendor.camera.privapp.list <pack1,pack2>

CRs-Fixed: 2075934
Change-Id: Ie9c950fdc4e1675d19c38630d7063ac9d7c9d5b1
Move accountname and typeName length check from Account.java to AccountManagerService.

Bug: 169762606
Test: atest AccountManagerServiceTest
Change-Id: I80fabf3a64c55837db98ff316e7e5420129c001b
(cherry picked from commit 0adcadb)
(cherry picked from commit c48f540)
Merged-In: I80fabf3a64c55837db98ff316e7e5420129c001b
It was shown that given a large phoneAccountHandles that are
over 1 mb, a TransactionTooLarge exception can be silently thrown
causing an empty list to be returned.

In order to prevent this behavior, all Lists that return a
PhoneAccountHandle or PhoneAccount have been switched to
ParceledListSlice.

bug: 236263294
Test: atest android.telecom.cts.PhoneAccountRegistrarTest
             #testRegisterPhoneAccountHandleWithFieldOverLimit
Change-Id: I025245b2a6f8cfaca86f268851a9d8f0817e07dd
Merged-In: I025245b2a6f8cfaca86f268851a9d8f0817e07dd
(cherry picked from commit d54a48f)
Merged-In: I025245b2a6f8cfaca86f268851a9d8f0817e07dd
…when navigateUpTo

The new Intent was delivered to a non-exported activity while
#navigateUpTo was called from an Activity of a different uid.

Bug: 238605611
Test: atest StartActivityTests
Change-Id: I854dd825bfd9a2c08851980d480d1f3a177af6cf
Merged-In: I854dd825bfd9a2c08851980d480d1f3a177af6cf
(cherry picked from commit 89ebc8c)
Merged-In: I854dd825bfd9a2c08851980d480d1f3a177af6cf
Bug: 237540408
Test: BuzzBeepBlinkTest#testA11yCrossUserEventNotSent
Change-Id: I62a875e26e214847ec72ce3c41b4f2fa8e597e07
(cherry picked from commit a367c0a)
Merged-In: I62a875e26e214847ec72ce3c41b4f2fa8e597e07
…rading from pre-Q

Test: Manually install app apks targeting Q and verifying that AR permission is not auto-granted
Test: atest ActivityRecognitionPermissionTest
Bug: 210065877
Change-Id: I5b2f25218fcbb34a940dfa2ff722cc6595732cfa
(cherry picked from commit 23aac9c)
Merged-In: I5b2f25218fcbb34a940dfa2ff722cc6595732cfa
instead of checking that of the configuration activity, which is potentially spoofable. The package name is verified to be the same app as the caller by NMS.

This change removes isSystemRule (called only once) in favor of checking the provided package name directly.

Bug: 242537431
Test: ZenModeHelperTest, manual by verifying via provided exploit apk
Change-Id: Ic7f350618c26a613df455a4128c9195f4b424a4d
(cherry picked from commit 59732d6)
Merged-In: Ic7f350618c26a613df455a4128c9195f4b424a4d
This change both prevents any rules from being unable to be written to disk and also avoids risk of running out of memory while handling all the zen rules.

Bug: 242703460
Bug: 242703505
Bug: 242703780
Bug: 242704043
Bug: 243794204
Test: cts AutomaticZenRuleTest; atest android.app.AutomaticZenRuleTest; manually confirmed each exploit example either saves the rule successfully with a truncated string (in the case of name & conditionId) or may fail to save the rule at all (if the owner/configactivity is invalid). Additionally ran the memory-exhausting PoC without device crashes.

Change-Id: I110172a43f28528dd274b3b346eb29c3796ff2c6
Merged-In: I110172a43f28528dd274b3b346eb29c3796ff2c6
(cherry picked from commit de172ba)
(cherry picked from commit 19bc2c3)
Merged-In: I110172a43f28528dd274b3b346eb29c3796ff2c6
Previously were unable to add new zen rules because rules added via the settings pages were getting registered under package "com.android.settings", which then were not considered "system rules". These rules should have package android, so when we can trust the caller (via checking that the caller is system) we should be taking the package name from the owner of the rule.

Bug: 245236706
Bug: 242537431
Test: NMSTest; manual

Change-Id: Id69b671592396ac3304862dadbe73de328a8e27a
Merged-In: Id69b671592396ac3304862dadbe73de328a8e27a
(cherry picked from commit 7824556)
Merged-In: Id69b671592396ac3304862dadbe73de328a8e27a
Bug: 211029161
Bug: 210118427
Test: atest android.content.cts.ContextWrapperTest#testSendBroadcastRequireNoneOfPermissions_receiverHasExcludedPermissions
Merged-In: Ib4fafe2423c7ded1daf1b763f8103601c0e2c852
Change-Id: Ib4fafe2423c7ded1daf1b763f8103601c0e2c852
(cherry picked from commit 0eee4fa)
Merged-In: Ib4fafe2423c7ded1daf1b763f8103601c0e2c852
After PUK unlock, multiple calls to
KeyguardSecurityContainerController#dismiss() were being called from
the KeyguardSimPukViewController, which begins the transition to the
next security screen, if any. At the same time, other parts of the
system, also listening to SIM events, recognize the PUK unlock and
call KeyguardSecurityContainer#showSecurityScreen, which updates which
security method comes next. After boot, this should be one of PIN,
Password, Pattern, assuming they have a security method. If one of the
first dismiss() calls comes AFTER the security method changes, this is
incorrectly recognized by the code as a successful
PIN/pattern/password unlock. This causes the keyguard to be marked as
done, causing screen flickers and incorrect system state.

The solution: every call to dismiss() should include a new parameter
for the security method used. If there is a difference between this
parameter and the current value in KeyguardSecurityContainerCallback,
ignore the request, as the system state has changed.

Fixes: 238804980
Bug: 218500036
Test: atest KeyguardSecurityContainerTest
AdminSecondaryLockScreenControllerTest KeyguardHostViewControllerTest
KeyguardSecurityContainerControllerTest

Change-Id: I7c8714a177bc85fbce92f6e8fe911f74ca2ac243
Merged-In: I7c8714a177bc85fbce92f6e8fe911f74ca2ac243
(cherry picked from commit 37aeb26)
(cherry picked from commit 1e7087f)
Merged-In: I7c8714a177bc85fbce92f6e8fe911f74ca2ac243
Test: atest FrameworksUiServicesTests
Bug: 234441463
Change-Id: I005b43979d1c708fd505c8b33ae0c8cb03ddbb35
Merged-In: I005b43979d1c708fd505c8b33ae0c8cb03ddbb35
(cherry picked from commit 7c38394)
(cherry picked from commit bc808de)
Merged-In: I005b43979d1c708fd505c8b33ae0c8cb03ddbb35
The current keyboard shortcut for BACK is ctrl-alt-del, which
doesn't even work. Allowing ESC to act as BACK matches what some
vendors are already doing downstream.

Change-Id: I5df5dbedb84d364ac5a56cdf159f2ce9747e6ecc
Change-Id: I96248cee077e36467f6745a67253a23b6875d732
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⤵️ pull merge-conflict Resolve conflicts manually

Projects

None yet

Development

Successfully merging this pull request may close these issues.