Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

Show user name that last installed/updated the app "Install available apps" and App Info #560

Open
wants to merge 308 commits into
base: 14
Choose a base branch
from

Conversation

quh4gko8
Copy link
Contributor

@quh4gko8 quh4gko8 commented Aug 2, 2024

No description provided.

girlbossceo and others added 27 commits August 6, 2024 17:57
Previously I set this to null, but this can cause a NPE
Ported from 11, 12 moved the isLogoutEnabled boolean to ActiveAdmin.java
Android 12's privacy dashboard shows permission usage timelines for
location, camera, and microphone. However, there's no reason to limit it
to those specific permissions; all the infrastructure is in place for
other permissions.

To enable the usage timeline for more permissions, keep discrete app op
history for all permission groups shown in the privacy dashboard. The
list of permission group -> app op mappings was obtained from
AppOpsManager.RUNTIME_AND_APPOP_PERMISSION_OPS with a few additional ops
from PrivacyItemController, and each op was resolved to its respective
enum ordinal from frameworks/proto_logging/stats/enums/app/enums.proto.

Change-Id: I6b1c476ea4c0edbc0b3fdf2e3e5cfcb11da77e33
…tivity. (GrapheneOS-Archive#2)

This is the partner commit to the addition of an option in Settings for
the same feature. This config can be enabled by an overlay for devices
that support increased touch sensitivity (otherwise known as "Glove
Mode") via the persist.vendor.touch_sensitivity_mode system property.

Signed-off-by: Diab Neiroukh <[email protected]>
India, Japan and Korea have either industry standards or regulations for
phones sold within the country enforcing camera sounds. It's trivially
bypassed by taking out the SIM card, using video, using a headset or
turning off the volume. It doesn't make sense for us to enforce this.
Generated with Android 12 Extensions v9.0.0-test2 [1] using #1565C0
(light link accent color from GrapheneOS website) as a seed color,
with all other settings left at themelib [2] and colorkt [3] defaults.

[1] https://github.com/kdrag0n/android12-extensions/
[2] https://github.com/ProtonAOSP/android_external_themelib
[3] https://github.com/kdrag0n/colorkt
This switches to secure-by-default instead of crash-by-default for API
31 to work around apps which have updated to API 31 without specifying
either FLAG_MUTABLE or FLAG_IMMUTABLE for PendingIntents. If the app
ends up needing the FLAG_MUTABLE behavior, it may crash later, but it
should still be obvious why it happened.

There are many apps with outdated Play services client libraries lacking
support for Android 12 which are nonetheless targeting API 31 or higher
and will crash in certain situations. Google Play services will ask the
client library to request runtime permissions from the user on behalf of
it when it thinks that they're required for an operation that's
requested. The older client libraries will cause a crash in the app by
trying to create a PendingIntent with no FLAG_MUTABLE or FLAG_IMMUTABLE
specified. This is a much more common issue on GrapheneOS since Play
services is a regular user installed app with no special access or
privileges, and starts without any standard runtime permissions granted
to it.

Ported from 13: 94363af
Co-authored-by: Dmitry Muhomor <[email protected]>
It doesn't make sense to show a generic Android letter version icon for
USB.

Change-Id: I0441fc76fa8beab16675ac91e92e9b0490044dec
This change makes sharesheet way more useful by increasing the amount of
visible ranked apps.

Change-Id: Ic092f1d1784259c9f3c0870eda1dd1ae8544c697
muhomorr and others added 15 commits August 6, 2024 17:57
…sult"

This issue is largely addressed upstream now. The reverted change has regressed after upstream
changes and is now unnecessarily aborts pending package installation in several cases.
Play Store doesn't expect committed PackageInstaller sessions to be waiting for confirmation from
the user and destroys them if they haven't completed in ~10 minutes.
Install confirmation dialog unconditionally checked DISALLOW_INSTALL_UNKNOWN_SOURCES.
When package state is null, no flags are set including the flag that
suppresses notifications. This method should return false in such cases.
onKeyguardShowingStateChanged() callback can be invoked before UsbPortSecurityHooks instance is
initialized, which was treated as if the device didn't support the USB port security API.

This led to USB port indefinitely remaining in charging-only state when the device didn't have a
lockscreen, since the onKeyguardShowingStateChanged() callback is invoked only once in that case.

Note that the device never has a lockscreen at first boot, which meant that USB port was always in
charging-only state when the device was in initial setup wizard.

Only the "None" lockscreen was affected by this issue. The default "swipe-to-unlock" lockscreen and
PIN/password lockscreen modes were not affected.
Before this change, touch-to-unlock was always active there, regardless of the setting value.
See the corresponding commit in device/google/tangorpro for more info.
Don't block visibility between EuiccGoogle and third-party apps, since some third-party carrier apps
need to interact with EuiccGoogle for eSIM activation.
@thestinger thestinger force-pushed the 14 branch 2 times, most recently from af7c305 to ebb62a9 Compare August 6, 2024 22:01
wangchaohui and others added 7 commits August 7, 2024 05:07
Bug: 329205638
Test: pm set-user-restriction --user 0 no_config_brightness 1
Flag: ACONFIG com.android.systemui.enforce_brightness_base_user_restriction DEVELOPMENT
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f9f3fdba4b4995b0ca45732b95de64318642e210)
Merged-In: I47b8b72a5a5c4098b46f0b5dbbf0654513b03aee
Change-Id: I47b8b72a5a5c4098b46f0b5dbbf0654513b03aee
RestrictedLockUtils#getShowAdminSupportDetailsIntent signature change
such that it no longer requires a context.

Flag: NA
Bug: 138786270
Test: built and flashed
(cherry picked from commit 4db275f0e5709bf94c13e6fee06cd90d83e1c988)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:50341746d3b69ba34033e863c9f53c30c56aaa44)
Merged-In: If4ab3030cfa1f9faed5d099077e5e3bab2cba622
Change-Id: If4ab3030cfa1f9faed5d099077e5e3bab2cba622
This is currently restricted to Shell and PermissionController, the
current holders of GRANT_RUNTIME_PERMISSION, along with apps sharing
SYSTEM_UID as appId. This provides an additional piece of information
where the app is installed, hence it cannot be without permission
checks.
…ment

This includes if the app is installed in Owner/Primary user, along with
the user that last installed/updated the app, if available.
…pInfo

This allows putting the apps not installed in Owner/Primary user first,
and the apps without known userId that last installed it in the last
part of the app list shown in AppCopyFragment.
@quh4gko8 quh4gko8 force-pushed the show-user-name-that-installed-application branch from bbaf8c0 to 59ebb50 Compare August 7, 2024 11:49
@quh4gko8 quh4gko8 requested a review from muhomorr August 7, 2024 12:11
@thestinger thestinger force-pushed the 14 branch 3 times, most recently from edb3b08 to 6aa5c5d Compare September 4, 2024 00:00
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.