Moved a bunch of methods from PackageManager to UserManager.
Fix launching of activities from recents to correct user.
Guest creation APIs
Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
Themes: Fused Location, Geofencing, LocationRequest.
API changes
o Fused location is always returned when asking for location by Criteria.
o Fused location is never returned as a LocationProvider object, nor returned
as a provider String. This wouldn't make sense because the current API
design assumes that LocationProvider's have fixed properties (accuracy, power
etc).
o The fused location engine will tune itself based on the criteria passed
by applications.
o Deprecate LocationProvider. Apps should use fused location (via Criteria
class), instead of enumerating through LocationProvider objects. It is
also over-engineered: designed for a world with a plethora of location
providers that never materialized.
o The Criteria class is also over-engineered, with many methods that aren't
currently used, but for now we won't deprecate them since they may have
value in the future. It is now used to tune the fused location engine.
o Deprecate getBestProvider() and getProvider().
o Add getLastKnownLocation(Criteria), so we can return last known
fused locations.
o Apps with only ACCESS_COARSE_LOCATION _can_ now use the GPS, but the location
they receive will be fudged to a 1km radius. They can also use NETWORK
and fused locatoins, which are fudged in the same way if necessary.
o Totally deprecate Criteria, in favor of LocationRequest.
Criteria was designed to map QOS to a location provider. What we
really need is to map QOS to _locations_.
The death knell was the conflicting ACCURACY_ constants on
Criteria, with values 1, 2, 3, 1, 2. Yes not a typo.
o Totally deprecate LocationProvider.
o Deprecate test/mock provider support. They require a named provider,
which is a concept we are moving away from. We do not yet have a
replacement, but I think its ok to deprecate since you also
need to have 'allow mock locations' checked in developer settings.
They will continue to work.
o Deprecate event codes associated with provider status. The fused
provider is _always_ available.
o Introduce Geofence data object to provide an easier path fowards
for polygons etc.
Implementation changes
o Fused implementation: incoming (GPS and NLP) location fixes are given
a weight, that exponentially decays with respect to age and accuracy.
The half-life of age is ~60 seconds, and the half-life of accuracy is
~20 meters. The fixes are weighted and combined to output a fused
location.
o Move Fused Location impl into
frameworks/base/packages/FusedLocation
o Refactor Fused Location behind the IProvider AIDL interface. This allow us
to distribute newer versions of Fused Location in a new APK, at run-time.
o Introduce ServiceWatcher.java, to refactor code used for run-time upgrades of
Fused Location, and the NLP.
o Fused Location is by default run in the system server (but can be moved to
any process or pacakge, even at run-time).
o Plumb the Criteria requirements through to the Fused Location provider via
ILocation.sendExtraCommand(). I re-used this interface to avoid modifying the
ILocation interface, which would have broken run-time upgradability of the
NLP.
o Switch the geofence manager to using fused location.
o Clean up 'adb shell dumpsys location' output.
o Introduce config_locationProviderPackageNames and
config_overlay_locationProviderPackageNames to configure the default
and overlay package names for Geocoder, NLP and FLP.
o Lots of misc cleanup.
o Improve location fudging. Apply random vector then quantize.
o Hide internal POJO's from clients of com.android.location.provider.jar
(NLP and FLP). Introduce wrappers ProviderRequestUnbundled and
ProviderPropertiesUnbundled.
o Introduce ProviderProperties to collapse all the provider accuracy/
bearing/altitude/power plumbing (that is deprecated anyway).
o DELETE lots of code: DummyLocationProvider,
o Rename the (internal) LocationProvider to LocationProviderBase.
o Plumb pid, uid and packageName throughout
LocationManagerService#Receiver to support future features.
TODO: The FLP and Geofencer have a lot of room to be more intelligent
TODO: Documentation
TODO: test test test
Change-Id: Iacefd2f176ed40ce1e23b090a164792aa8819c55
Default implementation of Dreams will finish() on KEYCODE_BACK.
PhoneStatusBar will awaken() from any Dream when the Home key is pressed.
Change-Id: I55e2a5d533a7fb93debc4c54514dba3b9098f009
Added a new method to Context: startActivityAsUser() requiring the
INTERACT_ACROSS_USERS_FULL permission.
Show the correct Recents list, based on current user.
Added a getRecentTasksForUser() in ActivityManager. Hidden and requires
the INTERACT_ACROSS_USERS_FULL permission.
Change-Id: If5b56465efdd3ead36601a3b51ed4af157bbf35c
In a future version of Android, the default value for
<provider android:exported> will change from true to false.
Explicitly set android:exported="true"
Bug: 3306452
Change-Id: Iffe4dca4fefc92bb9f89698f149a87c16a7ce3c5
For kiosk-type devices that do not present any navigation UI. This allows
for clean selection of the implementation based on resource overlays,
without the need for the tablet or phone status bar implementations to
accomodate the desired behaviors.
Bug 5824373
Change-Id: Idcec70eef437904edda452b69e5eb7a3cc7094f7
(cherry picked from commit 5717f80927944c141f059162ecd69649488f8049 in ics-aah)
Signed-off-by: Mike J. Chen <mjchen@google.com>
The framework is no longer letting us skate by without a
default (unqualified) for of each resource; in particular,
the land/port aspect of the configuration appears to be
binding much later than it used to.
Bug: 6937365
Change-Id: I6bf72c76e707548168fefa9466dc196ffde33ab3
when config_showMin3G is enabled to true in a CDMA device
Change-Id: I79a4fa200dc406fc7f9f4527165046541961ef69
Signed-off-by: Madan Ankapura <mankapur@sta.samsung.com>
1. Notification panel on tablet does not handle back and home key events and
as a result the notification panel stays open. Hence, after opening the
notifications panel, pressing the back key on a keyboard will move back
in the app instead closing the panel. Same happens for the home key.
The expected behavior is if the panel is open the back button will dismiss
it and the key should be consumed by the panel. The home key should hide
the panel and the key should not be consumed by the panel so the system
can do the right thing.
bug:6902903
Change-Id: I06e8ceea1f51b998e6703d70dcb3a24128d5a581
While carrier info (or SSID for devices without mobile data)
will still be shown in a floating text view at the bottom of
the notification shade, emergency-calls-only mode will now
be shown in the notification panel header so that it cannot
be obscured by notifications.
Change-Id: I714b6801be2b9b631b86b51d229440445eff5e76
We don't actually need the raw size in these places.
The logical size is good enough.
Starting to move dependencies on surface flinger
and window manager out of the Display class.
Change-Id: I2065bee8e5bf7f42c5a452dd1e8479e40ebb0d37
Add an additional codepath to the "no connectivity" logic in
NetworkController to allow the PLMN bubble up from the
GsmServiceStateTracker, where R.string.emergency_calls_only
is returned if we're in emergency call mode.
Bug: 6804479
Change-Id: I0a77261e4393cc0dc32bae3e631ef196b2342f06
The navigation buttons for the old 720dp device used to be left-justified.
They're now centered. This change removes the 720dp configuration and
restores it to the original 600dp behavior, which is centered.
Change-Id: I98a2905bd015e12df74ab1f91551da0b0aecf805
Look for it in /sdcard/statusbar_gestures.dat, in "JSON
lines" format: one list of gestures per line; each gesture
is itself a list of objects representing motion events and
tags (annotations).
Exploded example:
[ // list of gestures
[ // this starts a gesture
{"type":"motion",
"time":1347697, // in SystemClock.uptimeMillis() base,
// like MotionEvents
"action":"down", // down, up, move, cancel, else numeric
"x":277.61,
"y":1.00
},
{"type":"tag",
"time":1347701,
"tag":"tracking", // "tracking" or "fling"
"info":"collapsed" // extra stuff
},
... // more events
],
... // more gestures
]
// newline
[ // another list of gestures
...
]
...
Change-Id: Ifacbf03749c879cd82fb899289fb79a4bdd4fc3b