Merge commit '8ad028117d4b99883bbc52b29f097b2fb1d9b0c2'
* commit '8ad028117d4b99883bbc52b29f097b2fb1d9b0c2':
With this, the BackupService onBackup method is called.
You can now use android:testOnly="true" to not allow your .apk to be installed
as a normal app. The only way to do so is with the pm command and giving the
-t option, which sets a new INSTALL_ALLOW_TEST flag when installing.
I also used this to clean up the install API... actually, mostly to hide
it, since it is not accessible to apps so shouldn't be in the SDK. We
will be doing some more work on it, so this will prevent adding yet
another backwards-compatibility-for-no-reason version.
Issue 1837610 Adding a Widget before Running the Associated App Causes a Force Close
We were not retrieving the shared libraries of an application when deliving a
broadcast to an explicit component.
Issue 1753079 loading class path of instrumented app into instrumentation may load wrong path when instrumented app shares process with other apps:
We were using the ApplicationInfo that was used to originally create the process, not the one that the
instrumentation is against.
Merge commit '851a54143c15a1c33361efae2db3f7f45059b472'
* commit '851a54143c15a1c33361efae2db3f7f45059b472':
Implement targetSdkVersion and maxSdkVersion, plus version code names.
Merge commit '7b59fe316e23e05ef33648a855c2280dd8fad981'
* commit '7b59fe316e23e05ef33648a855c2280dd8fad981':
Make the internal storage monitor work correctly when internal storage is very large.
This adds new attributes for specifying a targetSdkVersion and maxSdkVersion.
There is a new ApplicationInfo flag that is set if the application has set
its targetSdkVersion to the current platform or later. Also you can now
use a string for minSdkVersion and targetSdkVerion, to indicate you are
building against a development tree instead of an official platform.
commit 85585eb0860e52a3dc3b8efe57ef8b30ee35c98d
Author: Suchi Amalapurapu <asuchitra@google.com>
Date: Thu May 7 11:59:24 2009 -0700
Remove new error code in PackageManager.
Remove version check in installation code path. Let the install continue irrespective of version number.
Check if data needs to be wiped(for downgrades only) in uninstallation code path.
Also remove only code and resources when checking for updated system packages(via ota)
Add version attribute when persisting package settings
commit f90797348c5170e6263d249e4fc77f1c0328eb27
Author: Suchi Amalapurapu <asuchitra@google.com>
Date: Thu May 7 10:54:07 2009 -0700
remove trailing white spaces
hide new install code in PackageManager
commit 397eb81265160f73caf9827d381ed6622041d54e
Author: Suchi Amalapurapu <asuchitra@google.com>
Date: Thu May 7 10:33:23 2009 -0700
Add version check in install and uninstall code paths.
New error code for invalid upgrades in PackageManager
This introduces a new class in the base platform for performing a clean
shutdown (which was copied from the classes in the policies). It
includes new features to send a shutdown broadcast for applications
to do cleanup, and ot have the activity manager pause the current
activity before proceeding with the shutdown. These facilities are
also use to write at the most recent stat files for sync, battery
and user activity.
Allow mock providers to be used for proximity alerts.
Clear calling identity so mock provider support does not fail due to
lack of INSTALL_LOCATION_PROVIDER permission.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Location Providers are now responsible for their own wakelocks and scheduling.
Also fixed a deadlock in LocationManagerService in the code for releasing
wakelocks after client notifications have been received.
The fix is to use the Receiver object and mWakeLock for synchronization
instead of the global mLock lock.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '05d24afb61e2fbd137468a065fd58685e1a62d78'
* commit '05d24afb61e2fbd137468a065fd58685e1a62d78':
AI 148368: Decrease CPU usage by throttling touch events
Merge commit '413cf5f4536b9c029d07f99b1c769c026313cd12'
* commit '413cf5f4536b9c029d07f99b1c769c026313cd12':
Track install/removal/update of packages that provide backup services
Merge commit 'b1d790b63e2115be558d451efbc914d1f8dfa846'
* commit 'b1d790b63e2115be558d451efbc914d1f8dfa846':
Pass null as savedState to indicate a full backup is required
Merge commit '9a6f25033c51390cbcc4eec38f27e0ac35e97f1c'
* commit '9a6f25033c51390cbcc4eec38f27e0ac35e97f1c':
Add a Backup Manager interface to request a full backup
Given a package name, the Backup Manager schedules a *full* (i.e. non-
incremental) backup pass for that package. Also added the state-file
handling for distinguishing to the target between the full and incremental
backup requests.
We are decreasing CPU usage at the cost of event latency. Events are queued up
and released to the app at the specified rate. You can
experiment with different values via:
adb shell setprop windowsmgr.max_events_per_sec 35
The new value is picked up when you let go and retouch the screen. No
reboot needed.
Also the following changes were made after profiling:
- In WindowManagerService, limit the call to userActivity() when we
have a flood touch events.
- In PowerManagerService, skip checking of permission if the caller
is system user.
- In PowerManagerService, integrated the functionality of gatherState()
into reactivateWakeLocksLocked(). They loop through the same data
structure and are called back to back.
BUG=1692771
Automated import of CL 148368
Merge commit '3ed8b3dc42800068951332aea024f9737c25a0ed'
* commit '3ed8b3dc42800068951332aea024f9737c25a0ed':
If no battery stats are found, return status_unknown
If the battery files can't be found return status_unkown instead of an
error. On systems where we haven't brought up battery stats yet they
assume the battery is dead and turn off as soon as the runtime starts
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Merge commit 'f417247fa68524f2f34960f7389168eed7eb4a88'
* commit 'f417247fa68524f2f34960f7389168eed7eb4a88':
Further development of backup file handling
The previous implementation used a database for storing all of its state, which could cause
a significant amount of IO activity as its tables were updated through the stages of a sync.
This new implementation replaces that in-memory data structures, with hand-written code
for writing them to persistent storage.
There are now 4 files associated with this class, holding various pieces of its state that
should be consistent. These are everything from a main XML file of account information that
must always be retained, to a binary file of per-day statistics that can be thrown away at
any time. Writes of these files as scheduled at various times based on their importance of
the frequency at which they change.
Because the database no longer exists, there needs to be a new explicit interface for
interacting with the sync manager database. This is provided by new APIs on IContentService,
with a hidden method on ContentResolver to retrieve the IContentService so that various
system entities can use it. Other changes in other projects are required to update to the
new API.
The goal here is to have as little an impact on the code and functionality outside of
SyncStorageEngine, though due to the necessary change in API it is still somewhat extensive.
Author: Christopher Tate <ctate@google.com>
Date: Mon May 4 16:38:11 2009 -0700
IBackupService now passes ParcelFileDescriptors rather than int fds
The outlines of backup state file / data file handling are now in place as well
in the BackupManagerService.
Author: Christopher Tate <ctate@google.com>
Date: Thu Apr 30 12:40:19 2009 -0700
Hide the backup stuff for now
Also adjust based on comments:
+ changed service intent string to conform to usage guidelines
+ only publish the IBackupService binder when invoked with the right
intent action
+ docs tweaks