Since the activity-alias is backed by the same code as the original
activity definition, they should both have an identical encryption
awareness. This fixes a bug where we accidentally dropped that value.
Bug: 26731340
Change-Id: I6ad615332df7d16542893a49e6997c88fc24334b
Since devices can be converted to enable/disable FBE across a
factory reset, we offer to add the features dynamically depending
on device status.
Bug: 26808417
Change-Id: I905140ba500a5e69756b547f2b1d6167b9a37dc6
- Change idea of activity resizablility from true or false to
unresizeable, cropped_windows, resizeable, and resizeable_and_pipable
- Default pre-N apps to cropped_windows mode and N or greater apps to
unresizeable or resizeable depending on the value of resizeableActivity
attribute.
- Mark legacy apps that specify fix orientation or immersive only mode
as unresizeable.
- Change to hide docked stack when unsupported app is the focus app.
Bug: 26774816
Change-Id: Ie473d36ca95f08e9332ab10fd2f0ec17ef50a02f
Remove 6-year-old promise to add multi-process support
for SharedPreferences: our docs elsewhere suggest using
a ContentProvider for multi-process preferences instead.
Change-Id: Ic44550ce46fe62ed2c4ab40b6fa7f7090d5b1d7b
Added a constant which can be specified to skip the uninstallation
confirmation dialog. Useful in cases where we want to show a different
warning message to the user before starting the UninstallerActivity
Change-Id: Ia87184a9ad715b628118feb447388625b8bf7f1c
Defined the dynamic sensor meta data type and UUID of sensor, as well
as the broadcast intent that is related to dynamic sensor status
change.
Modify SensorManager, SystemSensorManager and the JNI layer to support
dynamic sensor discovery.
Added SensorNotificationService to notify apps that sensor connected
or disconnected via broadcast.
Change-Id: I28adfb005357d7e3983d65117d6865830c75027d
Add ComplexColor interface for both GradientColor and ColorStateList.
Set up constant state, factory, theme attrs for GradientColor, while
refactoring the ColorStateList's similar code. (Functionality in CSL should
be the same).
Support themeing in both the root and item level in GradientColor.
For example, both startColor in <gradient> tag or color in <item> tag can
have theme color.
Add tests for both simple and complex cases with themeing etc.
Hook up the native VectorDrawable implementation using 2 extra JNI calls for
simplicity. Such calls only happen at inflate and applyTheme call.
b/22564318
Change-Id: Ibdc564ddb4a7ee0133c6141c4784782f0c93ce0e
This CL implements the SoundTrigger API improvements as given in b/22860713. Only the java-level
parts are implemented in this CL.
Key changes include:
* Addition of a SoundTriggerManager/SoundTriggerDetector system API to manage
the sound-trigger based sound models.
* Addition of a SoundTriggerService service that manages all sound models
including voice (keyphrase) and sound-trigger based models.
* Includes logic to write sound-trigger based models to the database.
* VoiceInteractionManager service now uses SoundTriggerService instead of
SoundTriggerHelper.
Bug: 22860713
Change-Id: I7b5c0ed80702527c4460372efeb5e542d3693a69
When a content URI is dropped onto EditText, it tries making sense
of the contents, and in the process it accesses the content provider.
If this content provider requires a permission grant, SecurityException
occurs.
This fix does two things:
1. Editor.onDrop now requests DropPermissions and releases is
when it is done. This required the introduction of a new hidden method
DropPermissions.takeTransient, because the existing method required
access to an Activity instance.
2. If the drag originator neglected to allow the permission grant,
DropPermission request would not help, so a try/catch block
is added to Editor.onDrop to avoid breaking the recipient app.
Bug: 26694948
Change-Id: I714429a507e62c83a150d91fbcdee791bced3ad3
Previously, locale resolution happened at Resources level, which
could result in different Resources in the same app using different
locales.
This change moves the locale negotiation to ResourcesManager, which
remembers the locales supported by each Resources as they are
created, and negotiates the locale based on their union.
It also makes sure that the old model of apps getting the default
locale by accessing it through the Configuration's locale attribute
continues to work, since the negotiated locale will be moved to the
top of the list before Resources are created and when they are
updated with a Configuration change.
Bug: 25800576
Bug: 26404653
Change-Id: I0dd81df288327fd8d1229188c9544ee2209c161a
Allows one to schedule jobs to run when content URIs
change, and find out what changed when the job executes.
This required adding a new API to StateController to
tell it when we are about to start executing a job, so
we can transfer the currently collected changes out of
its internal state to fill it in to the JobParameters.
Also some additional dumpsys debug output to help
understand what is going on in the job scheduler.
Change-Id: I91f51b226ff4add7a271a8333beffa5e86c7bf18
The Storage Access Framework currently provides an
API (OPEN_DOCUMENT_TREE) that lets the user pick a directory to be used
by the application. Although this APIs is very powerful (for example, it
allows the user to create sub-directories, delete and share files,
etc...), it's too complex for simpler use cases like a camera
application trying to have access to the standard Pictures directory.
The new API (OPEN_EXTERNAL_DIRECTORY) simplifies this scenario by
letting the application select a standard, pre-defined directory (as
defined by android.os.Environment). The user still needs to grant access
to the requested directory, but the resulting UI will be simpler and
more straightforward.
Usage example:
// ...
int requestCode = 42;
Intent intent = new Intent(Intent.ACTION_OPEN_EXTERNAL_DIRECTORY);
intent.setData(Uri.fromFile(
new File(Environment.getExternalStorageDirectory(),
Environment.DIRECTORY_PICTURES)));
startActivityForResult(intent, requestCode);
// ...
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) {
return;
}
Uri uri = data.getData();
int modeFlags = data.getFlags()
& (Intent.FLAG_GRANT_READ_URI_PERMISSION
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
getContentResolver().takePersistableUriPermission(uri, modeFlags);
}
BUG: 23011462
Change-Id: Ie832026532f74e681ef220b761667eb66ff3c8b0
Add serive "hardwareproperties" and methods getDeviceTemperatures,
getCpuUsages and getFanSpeeds to retrieve hardware properties:
device temperatures (CPU, GPU and battery), CPU usages and fan speeds.
This is a public API.
Bug: 22407109
Change-Id: If7efcbba7b160256d41704b60d93a7218dcc79d7
This impementation includes HCE(Host-based Card Emulation) for NFC-F
which emulates NFC Forum Type 3 Tag on a smartphone.
Signed-off-by: Daisuke Ito <DaisukeE.Ito@jp.sony.com>
Yoshinobu Ito <Yoshinobu.Ito@jp.sony.com>
Change-Id: I1618a7fba801e0705ff3cc078206a1446b3dd56d
Allow launchers to read ApplicationInfo from LauncherApps
to support suspended flag.
Provide callback to launchers via LauncherApps for suspend
/unsuspend broadcasts.
Change-Id: I772a121c45f60f926e8343bb6f181bef4e8929d3
ART will unzip APKs in memory during launch if an OAT file is not
present. To save the time and memory, this patch will invoke dex2oat
with '--compiler-filter=verify-at-runtime' to unzip the APK during
install or after an OTA.
Change-Id: I16583f9450ad60356123a29f7a6a649b2ab9999f
A client that mutates the locale of the Configuration being updated
can cause failure of the test that mResolvedLocale needs to be
recomputed. This patch stashes the previous locale list privately
so that updates can be detected even in this case.
Bug: 25993843
Change-Id: I1ea17dffd722177fb5b65ee77b9f5ce9a943f15b
Send a protected broadcast to registered receivers only
when packages get suspended.
Bug: 22776761
Change-Id: I043053ed45bdc202ead18518a0c1e39cce47947c