Overlays let views draw and respond to touch events outside of their
bounds. This allows selection anchors to be friendlier and easier to
grab. This is currently private API, pending further evaluation.
Added themes/styles for text selection anchors.
Added assets for text selection anchors as provided by UX. The
left/right anchors are currently not suitable for use. They are here
for bookkeeping and replacement later. The theme currently uses the
'middle' anchor asset for all three. This will be changed once assets
are ready.
Change-Id: I01b21e5ae90cab201f86f38f2f5eeaf2bd7f6bcd
This is step (1) of the device-side changes to deal with SIP addresses
becoming first-class objects in focus.
It'll be multi-valued in focus, so make it multi-valued on the device
(just like Phone, Email, Im, etc.)
Possible types are CUSTOM, HOME, WORK, and OTHER.
Also while I was in there, fixed the typo in "TYPE_MAINDEN_NAME" in the
Nickname class. (I can't remove it, since it's public API, so I added a
new constant with the correct spelling and deprecated the misspelled
one.)
Bug: 3004838
TESTED: on passion:
- Flashed this change onto a device that already had a contact with a
SipAddress, verified that it still shows up fine in the UI.
- Wiped data, rerean SetupWizard and logged in, made sure that SIP
addresses got synced down properly.
- Edited SIP address on the device, made sure it got correctly synced
up to the SIP user-defined field.
Change-Id: I6ecf551b64f87de03a7807e6212297d91f9e3981
The logs inevitably contain PII, so now we are making that clear in user
strings and developer docs. Moving DUMP and READ_LOGS into the PERSONAL_INFO
group.
Note that this means we need string translations.
Change-Id: I1b5bf9d2d827ab1a31dedbdb30d0906a87c26a32
This permission isn't needed right now, since there aren't actually any
public APIs that require it. (There are a few calls in the ITelephony
interface that do, but they're all hidden.)
Since there's no good reason for 3rd party apps to declare it, let's
mark it signatureOrSystem for now. We can bring it back -- and probably
split it apart into multiple finer-grained permissions -- once we
finally expose full telephony APIs to 3rd party apps (see bug 1043005).
Bug: 2989096
Change-Id: Idf898d5e12d648a959f622cd815e75597195aa82
This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like... say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).
To solve this, we introduce a new class WorkSource representing
the source of some work. Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.
For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.
This should also be used elsewhere, such as in the GPS provider,
but this is a good start.
Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
The activity manager looks for cases where one app launches immediately
after another. If this happens, a brief toast is shown telling the user
when app is actually running and what was originally starting.
Change-Id: If94cf5bd393dd0bc0f09789dae044fde1386c481
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
Note that WRITE_OWNER_DATA and READ_OWNER_DATA don't actually appear
to be associated with anything or used by anyone, so they are just
deleted.
Also deprecate the activity API to go in the foreground. I didn't
realize that was released in the SDK. It needs to go away.
Change-Id: I96f53702c2c79e4999b6b2c498abb770bd27e03a
Finally.
This also fixes that little 1px gap that would occasionally
show through to the carbon fiber background (changed to
steel cord for now) between the last notification and the
windowshade's handlebar. It still gaps a little while you're
dragging, due to the asynchronous motion of the various
windows involved, but when the panel is still you shouldn't
see any background. (Man, that drove me crazy.)
Bug: 2949229
Change-Id: If085f4ab7dfb7c3868c30469661907d5d63f070b
TODO: Currently disabled for WebView. Assets used for the glow effect
need to be themable/styleable. Overscroll effect should take place
even when the user did not grab the widget within actual content.
Change-Id: I68277d14d37dc5bcdb9254eaddf6e4998b3f2bf4
Back key exit selection mode. No more "Stop selecting text" in second context menu.
A tap on one of the handles also triggers the second context menu.
Paste is only available on long press in first menu for empty text fields.
Change-Id: Ic4fa00458d4f617a81885436b53d4fc923347609
Backported from HC.
Squashed commit of the following:
commit af214a595c7a9fdd11a2dc384f7d4665abf751c0
Fixes in TextView's selection.
commit eb9fd59ebe6500a66c2003d46b5802299970ae8d
TextView with Selection Contextual Mode
commit 4c4c338ef355b369ce4b57d6c6fba7ee8f9dddf4
Cosmetic changes around TextView.
commit d4b4b054e87480d984ad18766f5e76553e3080d8
Double and one and a half tap removed from TextView.
commit 897c2847ba1fca8ef01eadadd1bc3de007af3ee5
Selection handlers in TextView
commit 832be74a5394649e28927484d9a86c6d53b430e7
New cursor controller in TextViews.
Change-Id: I01cc64736e2abea605317ee53907a1713617fc17
This re-enables thumbnail generation code in the framework
with a few improvements.
In addition to enabling the system to capture thumbnails,
it removes padding from the borders to account for space
overlapped by system widgets (status bar, etc.). Thus,
the contents of the bitmap are only those pixels unique to
the activity.
It also maximizes resolution of the bitmap by capturing the
image in the application's current orientation. In landscape
mode, it captures a bitmap with dimensions w x h. In portrait,
it captures a bitmap with dimensions h x w. Where w and h are
thumbnail_width and thumbnail_height as defined in dimens.xml.
Though enabled, the change is not currently used in this
branch. The work is being checked in here to avoid
complicated downstream merges.
Change-Id: Ifc8a4e0075d7d0697d8159589be3816ace31d70c
shouldn't have been public in the first place.)
(And since the changed deprecation state is a public API change, I needed
to do "make update-api" as well.)
Change-Id: I803d5a81ad2363561137be5af4f2b8258df758cd
Status bar icons really belong to specific apps (not the framework), so the
various stat_sys_phone_call* and stat_sys_vp_phone_call* icons should have
never been part of the framework in the first place.
As of change https://android-git.corp.google.com/g/56881 the phone app now has
its own copies of all these icons, so it's now safe to remove the non-public
ones(*) from frameworks/base.
(*) Unfortunately a few of these icons were accidentally added to public.xml
at some point, so we'll never be able to get rid of those ones.
This change only removes the private resources.
Change-Id: If9ecf7b7568b5086c6ed1e5d4b69518fb41f1516
This exposes the AndroidManifest attribute
android:immersive, introduced in Change I967bb10b, to the
SDK.
Change-Id: Iccbc99590cd0fd4c570b9b9670ef93036f9d849e
Can be accessed through PowerProfile.getBatteryCapacity()
Individual device profiles need to be updated with their capacities.
(merged from master)
Change-Id: Ie76ab6de47c44807a46934331665e077a7226566
We now broadcast Usb.ACTION_USB_CONNECTED and Usb.ACTION_USB_DISCONNECTED
when USB is connected or disconnected.
The ACTION_USB_CONNECTED extras indicate the enabled/disabled state of
all USB functions.
Change-Id: I11495d039429dbe22bd738067296e39ae415befa
Signed-off-by: Mike Lockwood <lockwood@android.com>