Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
352 commits
Select commit Hold shift + click to select a range
67993a0
Add "android.permission.READ_PHONE_STATE" to manifest
temasek Dec 14, 2015
00e9102
Add DeskClock in powersave whitelist
xyyx Oct 6, 2016
ecf0d03
base: Add rounded corners to activity open/close animation
suphon-t Sep 14, 2019
e769c80
aapt: Speed up the style pruning
crpalmer Jan 4, 2016
2261c0b
aapt: Use a std::map instead of a SortedVector
crpalmer Jan 5, 2016
9d91ba3
aapt: add check for untranslatable "string-array"s
chirayudesai May 5, 2013
e08b876
aapt: Fix compiler warning (clobbered by longjmp)
crpalmer Oct 29, 2015
fef3755
aapt: Default to 0 compression ratio
arter97 Apr 7, 2015
80a1753
SmoothSpinners: Makes the loading "spinner" animation smoother
sarcastillo Nov 18, 2012
ad7aa36
Fix notification shows wrong question
Dec 24, 2017
59e2b36
Enable non-market apps install by default, disable verifier
Cl3Kener Oct 6, 2015
a283665
Keyguard: Actually kill the Fancy Colon
Jan 16, 2018
33c36e8
Use Cloudflare DNS as the default fallback
thestinger Apr 2, 2018
e280dc2
Use Cloudflare DNS servers as defaults for tethering
thestinger Apr 2, 2018
c686f87
Use Cloudflare DNS servers as hints
thestinger Apr 2, 2018
ad18856
NetworkDiagnostics: switch to Cloudflare DNS
thestinger Apr 2, 2018
2e84e9a
overlay: add IconShapeCircleOverlay
maxwen Sep 12, 2019
901038c
Add api to toggle flashlight and check if device has flashlight
ezio84 Sep 3, 2017
527f53d
base: Flashlight toggle api improvements
ezio84 Jan 5, 2018
c7a028c
base: add camera flash toggle api
rabih May 19, 2019
711ec8f
SettingLib: Add deep sleep info to uptime preference
maxwen Sep 14, 2019
e83fb38
Keyguard: Add option to scramble pin layout when unlocking (2/2)
Aug 4, 2014
fb94f6a
Keyguard: Forward port lockscreen quick unlock (1/2)
mdmower Dec 31, 2014
d9a5c58
Disable PIN entry after successful quick unlock
veeti Jun 9, 2015
6e5a54c
qs: tiles: fix cellular tile after aaba8ef289dee0c143b3dc0fe47e6b9595…
invisiblek Nov 6, 2019
8246f05
AOSP Accents: Tweak the accents to use their counterparts
eldainosor Nov 9, 2019
15fa2fb
[1/2] base: Fingerprint authentication vibration
Beanstown Jan 14, 2016
72a9821
SystemUI: screen-dimmer-pixel-filter
pelya Apr 9, 2018
813b8c5
SystemUI: Smart Pixels [1/2]
Jan 4, 2018
9738782
Smart Pixels: Move out of SystemUI
Apr 18, 2018
151795b
Smart Pixels: Switch to registered receiver
adindotdev Apr 18, 2018
b651206
Smart Pixels: Dynamically register receiver
adindotdev Apr 21, 2018
5ee7f9f
Smart Pixels: Bypass check for obscured window
Aug 11, 2018
90c6704
Smart Pixels: Update default grid pattern
adindotdev Oct 22, 2018
ff5a6bc
base: SystemUI: add custom qs tiles overlay
rlcDev Aug 15, 2018
c23fc8d
SystemUI: Add Smart Pixels tile
adindotdev Apr 8, 2018
42dfef9
Add Sound tile
Sep 28, 2017
5714b08
Screen off animations [1/2]
bigrushdog Jan 12, 2018
adea127
base: Add some colors that we use to theme system
eldainosor Nov 10, 2019
21725e3
FOD: Bootleg the FOD icon
raagn08 Jul 22, 2019
c2fdc3d
pm: add signature-spoofing permission
be-neth Sep 22, 2017
17a5f7e
Support UnifiedNlp (microG)
Aug 11, 2017
283adc4
base: [MicroG] Allow location providers also outside of /system
danielegobbetti Nov 3, 2016
639e544
PM: Signature spoofing [1/2]
mar-v-in Oct 18, 2016
532af0b
Add our StatusBar custom settings observer
ezio84 Dec 10, 2017
fc876ba
Allow to suppress notifications sound/vibration if screen is On [1/2]
ezio84 Jan 4, 2018
b337dae
QS: Add Music QS Tile
kufikugel Sep 28, 2017
93783dc
Option to disable music track title in QS tile [1/2]
kufikugel Sep 28, 2017
e93993e
MusicTile: Make tile state inactive if not playing music
neobuddy89 Oct 27, 2018
55cd12f
fwb: Add hide notch support [1/3]
jhenrique09 Mar 16, 2019
0913208
fwb: [1/2] Implement cutout force full screen
jhenrique09 Apr 29, 2019
79dbcca
Revert "Add an option to force pre-O apps to use full screen aspect r…
merothh Nov 14, 2019
8fe6aa0
Camera: Expose Aux camera to apps present in the whitelist
Jul 22, 2016
8ae84d4
camera: Check if aux camera whitelist is set before restricting cameras
Rashed97 Mar 24, 2018
a9e7966
Camera: Force HAL1 for predefined package list.
Aug 14, 2015
87b8ccb
Camera: Simplify code for Aux/Mono white and black lists
javelinanddart Feb 8, 2019
67002a0
Fix Photosphere/Camera FCs
josteink Apr 3, 2013
0a8fed3
Restore cache clean up code in PackageManagerService
neobuddy89 Nov 13, 2019
61426be
Refresh cache on build update: add more Build.DATE calls
ezio84 Nov 14, 2019
f24f888
Statusbar bluetooth battery level: improvements
ezio84 Nov 10, 2018
f8fcc27
Statusbar battery level device filter: add a few more ones
maxwen Dec 19, 2017
6ffe4be
Allow to dismiss notifications with back FP left/right swipe [1/2]
ezio84 Jan 22, 2018
b90defa
BootlegUtils: Add support to toggle flashlight api
ezio84 Nov 17, 2019
76f7b26
Allow doubletap/longpress power to toggle torch [1/2]
ezio84 Sep 3, 2017
6d402e8
Power button flashlight toggle: add proximity sensor check
ezio84 Jan 10, 2018
2df4e45
Power button flashlight: allow to skip proximity check per device
ezio84 May 31, 2018
a9c85eb
[1/2] base: volume key music control
maxwen Mar 18, 2016
7058c72
Fix volume rocker skip track on Ambient Display and Lift to Wake
ezio84 Jan 7, 2018
aab3d6a
ScreenOff skiptrack: support Spotify/kdeconn/... remote sessions
ezio84 Apr 12, 2018
f56ceb7
Allow to choose lockscreen or Ambient on wake gestures [1/2]
ezio84 Nov 2, 2019
fd05697
Aosp Ambient music: allow to pulse on new tracks [1/2]
ezio84 Nov 2, 2019
ce31a14
Ambient music ticker: double tap on track title to skip track
ezio84 Nov 3, 2019
622f169
Ambient music ticker AoD: make it compatibile with double tap sensor
ezio84 Jun 3, 2018
8220922
Ambient music: add Pixel Now Playing support
ezio84 Nov 3, 2019
140cd9b
base: add UserContentObserver
eldainosor Nov 18, 2019
221df84
SystemUI: Add visualizer feature
Aug 18, 2015
39cfc40
base: Allow to disable Lockscreen Media Art [1/2]
Beanstown Oct 10, 2019
9548c0e
[1/2] Ambient Visualizer
eldainosor Jul 20, 2018
6e9fc43
[1/2] base: configure lock screen media artwork blur level
darkobas Dec 29, 2016
b08b6ee
ImageHelper: add getBlurredImage
Dil3mm4 Mar 19, 2019
aad4fde
base: Optimize toGrayscale function
eldainosor Apr 3, 2019
751f73c
base: Add Lockscreen cover art filter
eldainosor Nov 9, 2019
8589665
[1/2] base: Be more gentle with the LS blur amount
eldainosor Nov 19, 2019
f1e99d8
Color/tint the wifi/mobile status bar icons correctly
edsj-sony Oct 19, 2019
487e9aa
SystemUI: Allow disabling BrightlineFalsingManager with config flag
arco Oct 19, 2019
b6d2803
PackageManager: allow build-time disabling of components
pawitp Sep 1, 2013
bee9a54
Telephony: Direct return false for unsupport sms platform.
Sep 19, 2019
0da39e8
core/Build: ro.system when comparing fingerprint
Oct 20, 2019
01b211b
Services exit fg when bg-restricted app leaves top
Sep 21, 2019
3ecc205
Limit the retry attemps on restarting Bluetooth
Nov 20, 2019
8464b1e
Update NotificationRecord of snooze even after it is cancelled
kojifukui Sep 2, 2019
cab3095
NtpTrustedTime: Refresh NTP server from resources before requesting time
moetayuko Feb 8, 2018
adf75de
SystemUI: fix black screen after AOD_PAUSED
maxwen Dec 5, 2019
2c50455
base: update CRT animation to r18
eyosen Dec 19, 2019
fe09570
Fix: "Clear All" recent app screen loop bug
Oct 24, 2019
360d0ba
base: rescuce party: check isDisabled on all public API
maxwen Sep 6, 2017
f79cbda
Keyguard: Fix build error after r20 merge
rajadeja Dec 19, 2019
79ab17b
Themes: Allow Navbar ripple color to be themed
Nov 29, 2019
f1fcf52
Themes: SystemUI: Expose switch bar title
daveyannihilation Nov 29, 2019
fb90fa8
Themes: graphics: ADB "N" icon compatible with OMS7
KreAch3R Feb 1, 2017
8e77ff0
Themes: Expose Keyboard Shortcuts Dialog
djdarkknight96 Mar 30, 2017
fd1f887
Themes: Expose Screenshot flash and background colors
ezio84 Mar 7, 2017
04c22ef
Themes: Allow volume slider and thumb to work with custom images.
bigrushdog Jan 10, 2016
028b251
Themes: Expose Keyguard affordance circle background
Feb 2, 2017
094442d
Themes: Expose toast & tooltip text colors for themes
Adarsh-MR Dec 9, 2017
e1858b0
Themes: Allow Immersive cling colors to be fully themed
nicholaschum Nov 17, 2015
eec94ea
Themes: Allow Permission Icons to be fully themed
nicholaschum Nov 24, 2015
7b92e83
Themes: SystemUI: expose screen pinning colors
Adarsh-MR Jan 9, 2018
f191dbb
Themes: Expose QS tiles and label colors
Adarsh-MR May 27, 2018
b6d0568
Themes: Set UserIcons tintMode to SRC_ATOP
Adarsh-MR Oct 11, 2018
1035e00
Typeface Clock: update thumbnail
shagbag913 Nov 29, 2019
c83d0b3
core: Materialize Toast notifications
Sep 15, 2017
a10bfe4
toasts: Improve layout and center-align the content
SKULSHADY Oct 13, 2018
cbe0f65
toasts: Follows theme corner radius
Sep 1, 2018
f3973c2
toasts: Use Animation_Toast_Material
SKULSHADY Jan 19, 2019
261b51a
Toasts: use fast toast enter/exit animations
shagbag913 Nov 28, 2019
115066e
toasts: Increase elevation to 4
Sep 7, 2018
8ac6131
SystemUI: QS: Name Cellular Tile based on carrier
Jun 7, 2018
5af05a4
SystemUI: Use matching data usage size formatting between QS and Sett…
luk1337 Aug 23, 2019
3416cbf
Toasts: Use a snackbar-like animation
eldainosor Dec 28, 2019
0b7c398
[1/2] base: Introduce UI Styles
eldainosor Dec 20, 2019
1f4a7bb
base: Black accent improvements
eldainosor Dec 31, 2019
908e05a
base: hardcode their accent gradient counterpart
eldainosor Dec 31, 2019
f472c0c
base: build Square shape
eldainosor Jan 3, 2020
5a06729
Global Actions with Advanced Reboot [1/3]
maxwen Aug 28, 2017
0075980
Base: Hide power menu on secure lockscreen [1/2]
Altaf-Mahdi Oct 24, 2015
3bd3aed
base: Lower the internal audio capture restriction
eldainosor Jan 11, 2020
fafe7c4
Unlock keystore with fingerprint after reboot (1/2)
xyyx Feb 5, 2017
41a2cb4
Fingerprint error vibration [1/2]
Beanstown Jan 14, 2016
d09cde0
core: Implement Aggressive Battery [1/2]
Feb 2, 2019
1a24b9f
Aggressive Battery: fix auto enable on battery saver
shagbag913 Apr 7, 2019
bd38441
ambient display: Fix volume key music control
crpalmer May 1, 2015
d12c9f6
base: add CPU info overlay
maxwen Sep 27, 2019
14f09a1
[1/2] base: HeadsUp snooze function
Nick0703 Apr 9, 2016
6f7f429
base: Let's tweak headsup silent strings
eldainosor Jan 11, 2020
8b594e1
[1/2] base: HeadsUp add timeout option
kufikugel Mar 27, 2016
c879110
SystemUI: HeadsUp blacklists (1/2)
Decad3nce Sep 28, 2017
1e4af8a
Add kill button to notification guts [1/2]
dankoman30 Nov 27, 2018
e3f24a8
SystemUI: Fix kill button layout in notification
SKULSHADY Nov 6, 2019
07a21d0
base: Switch styles for media seekbar text
eldainosor Mar 14, 2020
017bdf9
base: Suspend Actions [1/3]
maxwen Mar 21, 2017
fcb7b0b
Bring back traffic indicator for all!
Jan 13, 2019
cdd0e53
Add network traffic monitor properly to statusbar icons
SpiritCroc Nov 11, 2018
634a2d0
NetworkTrafficSB: OOS style network traffic indicator
ganeshi4u Mar 12, 2019
af0e493
TrafficSB: dynamic indicators for statusbar network traffic
ganeshi4u Mar 13, 2019
0495019
TrafficSB: Hide arrows in statusbar traffic indicators [1/2]
Nico60 Mar 14, 2019
081d909
Network traffic: Retain our notch check
Feb 2, 2019
87b373f
TrafficSB: Pass the animate bool
ganeshi4u Oct 1, 2019
1fe1d92
QuickSettings: Add Haptic Feedback to tiles [1/2]
amartinz Jan 1, 2015
7c4ea77
base: SystemUI: make QS columns count configurable
darkobas Sep 19, 2019
31c47fc
base: SystemUI: add back QS hide label
maxwen Sep 20, 2017
eaa995e
base: SystemUI: qs quickbar columns config
maxwen Aug 30, 2018
0d3162f
SystemUI: fix qs page num calc algo
maxwen Nov 27, 2019
025595a
SystemUI: onLongClick Settings button for Bootleg Dumpster
maxwen Sep 13, 2018
3f0e2ac
Allow to quickly open Running Services from QS panel [1/2]
ezio84 Feb 3, 2017
6916afd
Running services icon toggle [1/2]
nathanchance May 8, 2018
4f61de9
base: Add Restart SystemUI button on Power Menu
eldainosor Oct 7, 2018
4b6e7c2
Double tap to sleep on lockscreen [1/2]
ezio84 Sep 1, 2017
32b9b2f
Double tap to sleep on statusbar [1/2]
maxwen Aug 29, 2017
2617df3
QuickSettings: Option to disable brightness slider (1/2)
Altaf-Mahdi Jan 11, 2015
7ce1b4b
Revert "Remove unused auto brightness drawables."
SagarMakhar Sep 15, 2019
32cb853
Add auto brightness toggle to Quick Settings
maxwen Jan 3, 2016
723c08d
Add option to disable auto brightness icon in brightness slider [1/2]
varund7726 Jan 7, 2016
034bfbf
base: Add three-fingers-swipe to screenshot [1/2]
ghbhaha Aug 8, 2015
d672998
Improvements for swipe to screenshot
jhenrique09 May 7, 2019
28162ec
SwipeToScreenshot: Import MIUI implementation
jhenrique09 May 8, 2019
0cfaec3
Fix dnd tile longpress after no-title tiles commits
ezio84 Nov 26, 2018
197551b
Lockscreen visualizer: fix SystemUI FC when using Pulse
ezio84 Nov 13, 2018
b9a4cba
LockscreenVisualizer: Use offload thread
neobuddy89 Jan 19, 2019
c122afe
Keyguard: lock icon improvements
Dil3mm4 Oct 19, 2019
de8af52
Add api to take screenshots
bigrushdog Sep 12, 2017
380963c
Update ElectronBeam screen off animation
bigrushdog Jan 4, 2020
c3f5394
base: Optional screenshot type [1/2]
Sep 13, 2018
1f1a4e1
Max Lockscreen Notification count [1/2]
Beanstown Sep 16, 2018
d029255
[1/4] base: qs status bar header image
darkobas Oct 8, 2019
a70f6aa
[1/2] base: SystemUI: header image tweaks aka the big marginator
maxwen Jan 29, 2019
24f251e
SystemUI: respect status bar header height also in edit mode
maxwen Nov 5, 2019
cd256ec
SystemUI: HACK set requestLegacyExternalStorage for the moment
maxwen Jan 9, 2020
991fdc3
base: add back weather parts [1/3]
maxwen Aug 30, 2018
c663ebb
base: SystemUI: keyguard weather view [1/3]
maxwen Aug 30, 2018
0be50f7
base: SystemUI: keyguard weather view - fix initial kick off after boot
maxwen Sep 7, 2018
a5116e2
base: add weather to keyguardSlice
eyosen Dec 21, 2018
6b59dff
base: SystemUI: add keyguard weather style (1/2)
eyosen Dec 22, 2018
9319988
WeatherTile: Start Google Weather on LongClick
LorDClockaN Mar 6, 2017
bc62643
Weather tile longclick: alternative weather apps when google weather …
SpiritCroc Mar 8, 2017
8e19c51
Weather tile: Use the alternate apps first
eldainosor Mar 22, 2018
fe6bedb
base: SystemUI: make keyguard weather icon smaller
eyosen Dec 15, 2018
71bea50
base: SystemUI: fix debug drawing lines for icon containers
maxwen Sep 5, 2018
ce99950
SystemUI: Show something usefull in the QS footer
33bca Sep 28, 2019
e39dcc7
base: Add a toggle for QS footer text [1/2]
idoybh Oct 17, 2019
01ca361
SystemUI: Allow customizing footer text [1/2]
idoybh Nov 28, 2019
9ee8316
Weather: Add switches to show city/temp on lockscreen [1/2]
mydongistiny Oct 8, 2018
6dc1037
base: Correct top header
eldainosor Jan 16, 2020
ea39fc6
base: make the custom tiles string clean
eldainosor Jan 16, 2020
c752d83
qs footer: Tint build info as secondary text
eldainosor Jan 18, 2020
0e2f278
Powermenu: Give screen record it's own item [1/2]
ezio84 Dec 27, 2019
99913f4
WeatherTile: Send weather info to a Secondary Label
eldainosor Jan 18, 2020
38c425b
base: omnistyle: Stinky workaround for header shadow and tinted images
eldainosor Feb 3, 2019
a739428
base: Let's shrink file headers bigger than the device size
eldainosor Jan 19, 2020
7433986
base: SystemUI: add QS rows and landscape rows config
maxwen Oct 15, 2019
f46893d
Gesture nav Assistant handles: don't show them in lockscreen
ezio84 Jan 6, 2020
9b7cc41
Allow using 4G icon instead LTE [1/2]
neobuddy89 Jul 19, 2017
3a5e7dd
SystemUI: bring back old style mobile data indicators
maxwen Nov 27, 2019
25328bc
SystemUI: Add USE_OLD_MOBILETYPE to SettingsObserver
SKULSHADY Dec 3, 2019
f2f280a
core: move OmniJaws client to its new home
eyosen May 23, 2019
8110c40
base: Enable haptic feedback even on Swipe gestures
eldainosor Feb 8, 2020
bd7a189
base: overlays: Hide pill in full gestural nav mode [1/2]
ganeshi4u Dec 27, 2019
dc53ce9
LockscreenCharging: squashed (1/3)
tribual Aug 16, 2018
40ddb3b
utils: Introduce FileUtils class
mikeNG Jun 13, 2016
601fa5e
base: navigation mode settings [1/2]
maxwen Sep 25, 2019
5c44124
telephony: Conditionally ignore RSSNR signal level
Sep 11, 2019
4e2c5d0
CarrierConfigManager: enable LTE+ icon by default
xboxfanj Oct 19, 2019
5f99716
Disable/Enable screenshot sound
Jan 3, 2016
ee50c1a
policy: Add support for device alert sliders
Thecrazyskull Feb 23, 2020
6d91494
SystemUI: Introduce user interface for Alert Sliders
Feb 24, 2020
14e6037
base: SystemUI: hide ringer button if alert slider is present.
Herna1994 Feb 24, 2020
3399674
base: add settings for device features
maxwen Nov 8, 2016
649056a
fwb: Implement alternative device key handler
maxwen Aug 15, 2018
3fa4d25
Reenable home button wake.
Oct 15, 2018
ff3ad0d
Fix current formating on lockscreen for devices, that report directly in
Oct 31, 2018
fd826e0
ScreenshotSound: Fix playing screenshot's sound when camera's sounds …
xyyx Jan 12, 2017
703cf4f
ScreenshotSound: Fix path for the file
SKULSHADY Oct 17, 2019
d3bde30
ScreenshotHelper: ignore timeout when taking partial screenshots
Demon000 Jan 20, 2020
49f1a06
SystemUI: Pass correct NetworkTemplate to CellularTile detail view
luk1337 Feb 2, 2020
10c55f9
Updates to various icons:
dsandler Sep 13, 2019
957cd5f
SystemUI: Only add GarbageMonitor tile to default tiles on ENG builds
arco Feb 1, 2020
5765981
Context-aware Bluetooth airplane mode
Oct 16, 2019
7e6abd5
Add upgrade step to fix system sounds issue
Chippa-a Jan 27, 2020
7166ebf
RingtoneManager: Don't crash if the ringtone doesn't have a numerical ID
Tortel Jan 31, 2020
b49e4a9
Enlarge EPSILON to 0.01 for android.display.cts.DisplayTest#testModeS…
Jan 13, 2020
2dd02cf
Allow zero stride
Jan 8, 2020
3b6c604
SystemUI: Show charging status in addition to trust granted/transient…
Tortel Jan 21, 2020
3de3e3c
Start BiometricService even if no hardware is present
aleasto Feb 24, 2020
e39dda6
Pad ime_switcher same as navbar buttons
codingKerensa Feb 25, 2020
5eb10c5
LockSettingsService : Restrict access to getpassword API
Nov 19, 2019
871f576
SystemUI: Disable heads up debugging on non eng builds
aviraxp Mar 8, 2020
f156858
Send battery low intent when battery warning boundary changed
Mar 7, 2020
c72e0dc
Sanitize Bluetooth device names without regex
dsandler Dec 3, 2019
dc4098e
MediaCodec: Release lock before calling onFrameRendered()
Nov 1, 2019
810edff
AlarmManagerService: Fix FWR before boot completed
May 11, 2018
fadb8cd
Revert "Fix enumerate corner case"
luk1337 Sep 10, 2019
1f23452
Battery light: Add customization [1/2]
rabih May 19, 2019
0eb3e1e
Battery light: Add api to force show led lights
ezio84 Feb 1, 2018
620085f
Notification light: Allow to customize notification led light [2/2]
ezio84 Sep 16, 2017
aef75b5
Notification light: Fix default color
ezio84 Sep 21, 2017
2945f2b
Notification light: Remove transparency from default color
dmd79 Oct 19, 2019
ad575ac
Notification light: Fix white color [3/3]
dmd79 Oct 26, 2019
ad58b21
Notification light: Add an overlay for RGB led [2/2]
dmd79 Oct 27, 2019
3a51160
battery light: Use config_multicolorled overlay to set battery led color
dmd79 Apr 29, 2018
aed0865
Status bar clock/date customizations [1/2]
kufikugel Sep 14, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 2 additions & 6 deletions core/java/android/app/Activity.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@
import android.os.RemoteException;
import android.os.ServiceManager.ServiceNotFoundException;
import android.os.StrictMode;
import android.os.SystemProperties;
import android.os.Trace;
import android.os.UserHandle;
import android.text.Selection;
Expand Down Expand Up @@ -7856,13 +7855,10 @@ final void performStart(String reason) {
mFragments.dispatchStart();
mFragments.reportLoaderStart();

// Warn app developers if the dynamic linker logged anything during startup.
boolean isAppDebuggable =
(mApplication.getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;

// This property is set for all non-user builds except final release
boolean isDlwarningEnabled = SystemProperties.getInt("ro.bionic.ld.warning", 0) == 1;

if (isAppDebuggable || isDlwarningEnabled) {
if (isAppDebuggable) {
String dlwarning = getDlWarning();
if (dlwarning != null) {
String appName = getApplicationInfo().loadLabel(getPackageManager())
Expand Down
40 changes: 40 additions & 0 deletions core/java/android/app/DownloadManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,13 @@ public class DownloadManager {
*/
public final static int PAUSED_UNKNOWN = 4;

/**
* Value of {@link #COLUMN_REASON} when the download is paused manually.
*
* @hide
*/
public final static int PAUSED_MANUAL = 5;

/**
* Broadcast intent action sent by the download manager when a download completes.
*/
Expand Down Expand Up @@ -987,6 +994,7 @@ Cursor runQuery(ContentResolver resolver, String[] projection, Uri baseUri) {
parts.add(statusClause("=", Downloads.Impl.STATUS_WAITING_TO_RETRY));
parts.add(statusClause("=", Downloads.Impl.STATUS_WAITING_FOR_NETWORK));
parts.add(statusClause("=", Downloads.Impl.STATUS_QUEUED_FOR_WIFI));
parts.add(statusClause("=", Downloads.Impl.STATUS_PAUSED_MANUAL));
}
if ((mStatusFlags & STATUS_SUCCESSFUL) != 0) {
parts.add(statusClause("=", Downloads.Impl.STATUS_SUCCESS));
Expand Down Expand Up @@ -1245,6 +1253,34 @@ public void forceDownload(long... ids) {
mResolver.update(mBaseUri, values, getWhereClauseForIds(ids), getWhereArgsForIds(ids));
}

/**
* Pause the given running download manually.
*
* @param id the ID of the download to be paused
* @return the number of downloads actually updated
* @hide
*/
public int pauseDownload(long id) {
ContentValues values = new ContentValues();
values.put(Downloads.Impl.COLUMN_STATUS, Downloads.Impl.STATUS_PAUSED_MANUAL);

return mResolver.update(ContentUris.withAppendedId(mBaseUri, id), values, null, null);
}

/**
* Resume the given paused download manually.
*
* @param id the ID of the download to be resumed
* @return the number of downloads actually updated
* @hide
*/
public int resumeDownload(long id) {
ContentValues values = new ContentValues();
values.put(Downloads.Impl.COLUMN_STATUS, Downloads.Impl.STATUS_RUNNING);

return mResolver.update(ContentUris.withAppendedId(mBaseUri, id), values, null, null);
}

/**
* Returns maximum size, in bytes, of downloads that may go over a mobile connection; or null if
* there's no limit
Expand Down Expand Up @@ -1682,6 +1718,9 @@ private long getPausedReason(int status) {
case Downloads.Impl.STATUS_QUEUED_FOR_WIFI:
return PAUSED_QUEUED_FOR_WIFI;

case Downloads.Impl.STATUS_PAUSED_MANUAL:
return PAUSED_MANUAL;

default:
return PAUSED_UNKNOWN;
}
Expand Down Expand Up @@ -1737,6 +1776,7 @@ private int translateStatus(int status) {
case Downloads.Impl.STATUS_WAITING_TO_RETRY:
case Downloads.Impl.STATUS_WAITING_FOR_NETWORK:
case Downloads.Impl.STATUS_QUEUED_FOR_WIFI:
case Downloads.Impl.STATUS_PAUSED_MANUAL:
return STATUS_PAUSED;

case Downloads.Impl.STATUS_SUCCESS:
Expand Down
10 changes: 10 additions & 0 deletions core/java/android/app/IActivityManager.aidl
Original file line number Diff line number Diff line change
Expand Up @@ -592,4 +592,14 @@ interface IActivityManager {
* unlockProgressListener can be null if monitoring progress is not necessary.
*/
boolean startUserInForegroundWithListener(int userid, IProgressListener unlockProgressListener);

/**
* Force full screen for devices with cutout
*/
boolean shouldForceCutoutFullscreen(in String packageName);

/**
* Should disable touch if three fingers to screen shot is active?
*/
boolean isSwipeToScreenshotGestureActive();
}
3 changes: 3 additions & 0 deletions core/java/android/app/INotificationManager.aidl
Original file line number Diff line number Diff line change
Expand Up @@ -204,4 +204,7 @@ interface INotificationManager
boolean getPrivateNotificationsAllowed();

long pullStats(long startNs, int report, boolean doAgg, out List<ParcelFileDescriptor> stats);

void forceShowLedLight(int color);
void forcePulseLedLight(int color, int onTime, int offTime);
}
72 changes: 70 additions & 2 deletions core/java/android/app/NotificationChannel.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ public final class NotificationChannel implements Parcelable {
private static final String ATT_IMPORTANCE = "importance";
private static final String ATT_LIGHTS = "lights";
private static final String ATT_LIGHT_COLOR = "light_color";
private static final String ATT_ON_TIME = "light_on_time";
private static final String ATT_OFF_TIME = "light_off_time";
private static final String ATT_VIBRATION = "vibration";
private static final String ATT_VIBRATION_ENABLED = "vibration_enabled";
private static final String ATT_SOUND = "sound";
Expand Down Expand Up @@ -137,7 +139,9 @@ public final class NotificationChannel implements Parcelable {
USER_LOCKED_ALLOW_BUBBLE
};

private static final int DEFAULT_LIGHT_COLOR = 0;
private static final int DEFAULT_LIGHT_COLOR = 0xFFFFFFFF;
private static final int DEFAULT_ON_TIME = 0;
private static final int DEFAULT_OFF_TIME = 0;
private static final int DEFAULT_VISIBILITY =
NotificationManager.VISIBILITY_NO_OVERRIDE;
private static final int DEFAULT_IMPORTANCE =
Expand All @@ -156,6 +160,8 @@ public final class NotificationChannel implements Parcelable {
private Uri mSound = Settings.System.DEFAULT_NOTIFICATION_URI;
private boolean mLights;
private int mLightColor = DEFAULT_LIGHT_COLOR;
private int mLightOnTime = DEFAULT_ON_TIME;
private int mLightOffTime = DEFAULT_OFF_TIME;
private long[] mVibration;
// Bitwise representation of fields that have been changed by the user, preventing the app from
// making changes to these fields.
Expand Down Expand Up @@ -231,6 +237,8 @@ protected NotificationChannel(Parcel in) {
}
mAudioAttributes = in.readInt() > 0 ? AudioAttributes.CREATOR.createFromParcel(in) : null;
mLightColor = in.readInt();
mLightOnTime = in.readInt();
mLightOffTime = in.readInt();
mBlockableSystem = in.readBoolean();
mAllowBubbles = in.readBoolean();
mImportanceLockedByOEM = in.readBoolean();
Expand Down Expand Up @@ -285,6 +293,8 @@ public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(0);
}
dest.writeInt(mLightColor);
dest.writeInt(mLightOnTime);
dest.writeInt(mLightOffTime);
dest.writeBoolean(mBlockableSystem);
dest.writeBoolean(mAllowBubbles);
dest.writeBoolean(mImportanceLockedByOEM);
Expand Down Expand Up @@ -420,6 +430,28 @@ public void setLightColor(int argb) {
this.mLightColor = argb;
}

/**
* Sets the notification light ON time for notifications posted to this channel, if lights are
* {@link #enableLights(boolean) enabled} on this channel and the device supports that feature.
*
* Only modifiable before the channel is submitted to
* {@link NotificationManager#notify(String, int, Notification)}.
*/
public void setLightOnTime(int time) {
this.mLightOnTime = time;
}

/**
* Sets the notification light OFF time for notifications posted to this channel, if lights are
* {@link #enableLights(boolean) enabled} on this channel and the device supports that feature.
*
* Only modifiable before the channel is submitted to
* {@link NotificationManager#notify(String, int, Notification)}.
*/
public void setLightOffTime(int time) {
this.mLightOffTime = time;
}

/**
* Sets whether notification posted to this channel should vibrate. The vibration pattern can
* be set with {@link #setVibrationPattern(long[])}.
Expand Down Expand Up @@ -565,6 +597,22 @@ public int getLightColor() {
return mLightColor;
}

/**
* Returns the notification light ON time for notifications posted to this channel. Irrelevant
* unless {@link #shouldShowLights()}.
*/
public int getLightOnTime() {
return mLightOnTime;
}

/**
* Returns the notification light OFF time for notifications posted to this channel. Irrelevant
* unless {@link #shouldShowLights()}.
*/
public int getLightOffTime() {
return mLightOffTime;
}

/**
* Returns whether notifications posted to this channel always vibrate.
*/
Expand Down Expand Up @@ -720,6 +768,8 @@ private void populateFromXml(XmlPullParser parser, boolean forRestore,

enableLights(safeBool(parser, ATT_LIGHTS, false));
setLightColor(safeInt(parser, ATT_LIGHT_COLOR, DEFAULT_LIGHT_COLOR));
setLightOnTime(safeInt(parser, ATT_ON_TIME, DEFAULT_ON_TIME));
setLightOffTime(safeInt(parser, ATT_OFF_TIME, DEFAULT_OFF_TIME));
setVibrationPattern(safeLongArray(parser, ATT_VIBRATION, null));
enableVibration(safeBool(parser, ATT_VIBRATION_ENABLED, false));
setShowBadge(safeBool(parser, ATT_SHOW_BADGE, false));
Expand Down Expand Up @@ -823,6 +873,12 @@ private void writeXml(XmlSerializer out, boolean forBackup, @Nullable Context co
if (getLightColor() != DEFAULT_LIGHT_COLOR) {
out.attribute(null, ATT_LIGHT_COLOR, Integer.toString(getLightColor()));
}
if (getLightOnTime() != DEFAULT_ON_TIME) {
out.attribute(null, ATT_ON_TIME, Integer.toString(getLightOnTime()));
}
if (getLightOffTime() != DEFAULT_OFF_TIME) {
out.attribute(null, ATT_OFF_TIME, Integer.toString(getLightOffTime()));
}
if (shouldVibrate()) {
out.attribute(null, ATT_VIBRATION_ENABLED, Boolean.toString(shouldVibrate()));
}
Expand Down Expand Up @@ -887,6 +943,8 @@ public JSONObject toJson() throws JSONException {
}
record.put(ATT_LIGHTS, Boolean.toString(shouldShowLights()));
record.put(ATT_LIGHT_COLOR, Integer.toString(getLightColor()));
record.put(ATT_ON_TIME, Integer.toString(getLightOnTime()));
record.put(ATT_OFF_TIME, Integer.toString(getLightOffTime()));
record.put(ATT_VIBRATION_ENABLED, Boolean.toString(shouldVibrate()));
record.put(ATT_USER_LOCKED, Integer.toString(getUserLockedFields()));
record.put(ATT_FG_SERVICE_SHOWN, Boolean.toString(isFgServiceShown()));
Expand Down Expand Up @@ -990,6 +1048,8 @@ public boolean equals(Object o) {
&& getLockscreenVisibility() == that.getLockscreenVisibility()
&& mLights == that.mLights
&& getLightColor() == that.getLightColor()
&& getLightOnTime() == that.getLightOnTime()
&& getLightOffTime() == that.getLightOffTime()
&& getUserLockedFields() == that.getUserLockedFields()
&& isFgServiceShown() == that.isFgServiceShown()
&& mVibrationEnabled == that.mVibrationEnabled
Expand All @@ -1011,11 +1071,15 @@ && isBlockableSystem() == that.isBlockableSystem()
@Override
public int hashCode() {
int result = Objects.hash(getId(), getName(), mDesc, getImportance(), mBypassDnd,
getLockscreenVisibility(), getSound(), mLights, getLightColor(),
getLockscreenVisibility(), getSound(), mLights,
getUserLockedFields(),
isFgServiceShown(), mVibrationEnabled, mShowBadge, isDeleted(), getGroup(),
getAudioAttributes(), isBlockableSystem(), mAllowBubbles,
mImportanceLockedByOEM, mImportanceLockedDefaultApp);

result = 31 * result + getLightColor();
result = 31 * result + getLightOnTime();
result = 31 * result + getLightOffTime();
result = 31 * result + Arrays.hashCode(mVibration);
return result;
}
Expand All @@ -1033,6 +1097,8 @@ public void dump(PrintWriter pw, String prefix, boolean redacted) {
+ ", mSound=" + mSound
+ ", mLights=" + mLights
+ ", mLightColor=" + mLightColor
+ ", mLightOnTime=" + mLightOnTime
+ ", mLightOffTime=" + mLightOffTime
+ ", mVibration=" + Arrays.toString(mVibration)
+ ", mUserLockedFields=" + Integer.toHexString(mUserLockedFields)
+ ", mFgServiceShown=" + mFgServiceShown
Expand Down Expand Up @@ -1061,6 +1127,8 @@ public String toString() {
+ ", mSound=" + mSound
+ ", mLights=" + mLights
+ ", mLightColor=" + mLightColor
+ ", mLightOnTime=" + mLightOnTime
+ ", mLightOffTime=" + mLightOffTime
+ ", mVibration=" + Arrays.toString(mVibration)
+ ", mUserLockedFields=" + Integer.toHexString(mUserLockedFields)
+ ", mFgServiceShown=" + mFgServiceShown
Expand Down
20 changes: 20 additions & 0 deletions core/java/android/app/NotificationManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -2084,4 +2084,24 @@ public static int zenModeFromInterruptionFilter(int interruptionFilter, int defV
default: return defValue;
}
}

/** @hide */
public void forceShowLedLight(int color) {
final INotificationManager service = getService();
try {
service.forceShowLedLight(color);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}

/** @hide */
public void forcePulseLedLight(int color, int onTime, int offTime) {
final INotificationManager service = getService();
try {
service.forcePulseLedLight(color, onTime, offTime);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
}
16 changes: 5 additions & 11 deletions core/java/android/app/SystemServiceRegistry.java
Original file line number Diff line number Diff line change
Expand Up @@ -944,17 +944,11 @@ public IrisManager createService(ContextImpl ctx)
@Override
public BiometricManager createService(ContextImpl ctx)
throws ServiceNotFoundException {
if (BiometricManager.hasBiometrics(ctx)) {
final IBinder binder =
ServiceManager.getServiceOrThrow(Context.BIOMETRIC_SERVICE);
final IBiometricService service =
IBiometricService.Stub.asInterface(binder);
return new BiometricManager(ctx.getOuterContext(), service);
} else {
// Allow access to the manager when service is null. This saves memory
// on devices without biometric hardware.
return new BiometricManager(ctx.getOuterContext(), null);
}
final IBinder binder =
ServiceManager.getServiceOrThrow(Context.BIOMETRIC_SERVICE);
final IBiometricService service =
IBiometricService.Stub.asInterface(binder);
return new BiometricManager(ctx.getOuterContext(), service);
}
});

Expand Down
6 changes: 5 additions & 1 deletion core/java/android/bluetooth/BluetoothDevice.java
Original file line number Diff line number Diff line change
Expand Up @@ -1014,7 +1014,11 @@ public String getName() {
try {
String name = service.getRemoteName(this);
if (name != null) {
return name.replaceAll("[\\t\\n\\r]+", " ");
// remove whitespace characters from the name
return name
.replace('\t', ' ')
.replace('\n', ' ')
.replace('\r', ' ');
}
return null;
} catch (RemoteException e) {
Expand Down
2 changes: 1 addition & 1 deletion core/java/android/content/pm/PackageParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -3668,7 +3668,7 @@ private boolean parseBaseApplication(Package owner, Resources res,

if (sa.getBoolean(
R.styleable.AndroidManifestApplication_allowAudioPlaybackCapture,
owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.Q)) {
owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)) {
ai.privateFlags |= ApplicationInfo.PRIVATE_FLAG_ALLOW_AUDIO_PLAYBACK_CAPTURE;
}

Expand Down
Loading