Fix for bug 2382830: new incoming SMS should not be rejected when
running low on internal phone storage.
Testing revealed that the /data partition should have at least 256 KiB
available in order to prevent random app crashes (including system apps)
due to SQLite transaction failures. With 256 KiB free, the device should
safely boot without storage full errors. This takes into account the
36-40 KiB that the YAFFS2 filesystem reports as available even after
the partition has been completely filled. I've set the default full
threshold to 1 MiB to provide a generous safety margin.
For this bug, I changed the DeviceStorageMonitorService demon to send
two new hidden notifications for device storage "full" and "not full",
when the free space falls below the full threshold (default 1 MiB,
but configurable as a system setting), in addition to the existing
storage low/okay notifications sent when the storage crosses the threshold
of 90% full (also configurable).
The SMS code was changed to use these new notifications so that it can
accept messages until the data partition has been filled to the maximum
safe capacity rather than stopping when it hits 90% full. There should
be no negative impact on battery life because the additional check in
the storage polling service should be offset by an optimization to cache
the free threshold values which were previously being computed every time
through the loop.
While testing this change, I discovered that SMSDispatcher was being
instantiated twice, the first time in GSMPhone/CDMAPhone, and the second
time in SimSmsInterfaceManager / RuimSmsInterfaceManager. Changed the code
to pass the original SMSDispatcher to the Sim/RuimSmsInterfaceManager
constructor.
Change-Id: Ie0c6d05294778ab6ee42e0fa01313af96d824c77
Added the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the
input manager whenever another visible window is partly or wholly obscured
the target of a touch event so that applications can filter touches
accordingly.
Added a "filterTouchesWhenObscured" attribute to View which can be used to
enable filtering of touches when the view's window is obscured.
Change-Id: I936d9c85013fd2d77fb296a600528d30a29027d2
For a critical feature request in Calendar we need the ability
to format a date range in a time zone other than the local tz.
This adds a new method signature to formatDateRange to allow for
a tz to be specified and maintains the old behavior if the parameter
is not used. Also deprecates the FORMAT_UTC flag.
Change-Id: I16b3e939760ec86c954b51a318d01b7bbf86acc9
Selecting between words selects the spaces instead of the closest word, facilitating
paste insertion vs word replacement.
Pasting adds/removes space before and after if needed so that pasted text is not appended to
existing text.
Cut and copy not available when selection is empty.
Change-Id: I331413bdef341a4eceffe76fa2957f388d540b6e
Change insertion point on tap is no longer handled by the CommitSelectionReceiver
(as it is not called by ExtractEditText).
Fixed a bug to handle drawing positions when the internal TextView scroller is used.
Change-Id: I87398c7109c5527d21dee6abbdb925848244d594
Part of the race existed before, but it was made much worse with
apply().
Corresponding CTS test is Icc6e638a6a
Change-Id: Ic5cfa467fb7f1859cb7b44d417412219c0621965
The ALooper API now uses an explicit "identifier" for the integer
that is returned rather than implicitly using the fd. This allows
the APIs that had the fd to be a little more sane.
Change-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0
Working on speeding up our NIO implementation, I came across this suboptimal
code. Happily, it turns out to be unused.
Bug: 2935622
Change-Id: I07ae6e573d63e439f496d55af215b34598d8258a
Instead of being naughty and guessing the native library path from
dataDir, use the new nativeLibraryPath field because it can be on SD
card now.
Change-Id: I284bde42e0b0114366e412eb7212af22b47208d8
Move AssetStreamAdaptor, AutoFDSeek and nullObjectReturn to Utils.h because
BitmapFactory.cpp and BitmapRegionDecoder.cpp both need to use these utility functions.
Change-Id: I3e60c7fe4abd0289e1384e69a08fd20fe6fb0e10
Signature had lazy initialization of the mString member when needed, but
it would stick around forever when initialized. Each package had one or
more Signatures that would be ~7000 bytes each. At a couple hundred
packages, that's over 1.3MB just for signatures.
Whenever packages.xml was written out, it would write the Signature for
each program as well which happens at boot thereby initializing the
mString member pretty much immediately.
Change-Id: Idb882ffeca2861b3e87437fc83f001710d6c0441
This reverts commit 26d708d93624d2d060529b7e33e0a20172e85efd, reversing
changes made to 3ac85d31de6cab5a468b7728b3340cf1b57bc8fe.
Change-Id: Ifc19f837bee7437707ddddf0b19cb6bce53dd2c5