899edf6f4fef302ff219ee346b47afc5c8b640aa |
|
24-Feb-2016 |
Sergey Poromov <poromov@google.com> |
Fix NPE when null BackupObserver is passed into BackupManager#requestBackup() BackupManagerService has the null check, but it doesn't work because passed BackupObserver object is wrapped into this BackupObserverWrapper. This was found during GTS testing. Bug: 27334738 Change-Id: I16dc0230824b326d3fae1f8489f58b0c0d4e1c7c
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
86cfe51863ae67d3bf783bb507595c236176651e |
|
29-Jan-2016 |
Sergey Poromov <poromov@google.com> |
Merge "Fix BackupManager to really send MSG_RESULT when onResult is called."
|
4b51d99a019f9b14e5698ba16e9540c179bdcd05 |
|
29-Jan-2016 |
Sergey Poromov <poromov@google.com> |
Fix BackupManager to really send MSG_RESULT when onResult is called. Previously it send MSG_FINISHED. I'm surprised why backup test app was successfully receiving appropriate callbacks... Change-Id: Ia4950579a3dbf8b7383b8e48dd29b94bdd765cd8
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
872d3b6e19933af6fa9ae65214b9f6df04fc3222 |
|
12-Jan-2016 |
Sergey Poromov <poromov@google.com> |
Quota exceeded API in BackupAgent Should be also implemented in GMS BackupTransport. Bug: 25693504 Change-Id: I6e4b2edb6d62addca0aced3e801d7629fb9394ca
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
9448196076d5a5266b3ae7e4945216b30ee88aa7 |
|
07-Jan-2016 |
Sergey Poromov <poromov@google.com> |
Add BackupManager#isAppEligibleForBackup() method to Backup API. Check is done only in framework. Transport still can deny backup for the package. Bug: 26443192 Change-Id: Ifcde67a4d11725aa4b15ab4f57d740f55ab2b265
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
fe06bf64d204c459699b0bf6465f9fb69208345e |
|
15-Dec-2015 |
Sergey Poromov <poromov@google.com> |
Introduce BackupManager#requestBackup & BackupObserver API Introduces a way to request immediate backup for list of packages and receive callbacks on backup progress. Bug: 25688526 Change-Id: Ib826933d44f4ebf2b981f8be366215b2d37847e2
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
511d02fcc37dce092e17354d53023db44817ebe6 |
|
09-Apr-2015 |
Christopher Tate <ctate@google.com> |
Add system API for querying the available restore dataset for a package Bug 20123585 Change-Id: Ife6e77a224b5d4175178aacdb7c285e9944b9eab
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
9e079298edd022c43a960729442a53557fd16e45 |
|
10-Sep-2014 |
Christopher Tate <ctate@google.com> |
Fix BackupManager.isBackupEnabled() It wasn't properly lazy-initializing the service binder, so it always thought the backend service didn't exist, and so always returned false. Also directly validated that every usage of sService in the module is now correctly lazy-initialized. Bug 16661321 Change-Id: If5fbb18aef81bfa8fd70eb40a1f6af54cc96d804
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
a63246d6daa02c6f3e4e78d0072d991387e14c87 |
|
15-Aug-2014 |
Christopher Tate <ctate@google.com> |
Tighten restore-at-install behavior Harden the guarantee that if we're asked about a possible restore, we always ALWAYS report back to the package manager. This involved closing "should never happen" edge cases around provisioning/auto-restore setting that nevertheless were happening. Also, on the auto-restore setting front, make sure to plumb that system API through appropriately, since going behind its back and manipulating the secure setting directly would cause things to get out of step. Bug 17060654 Change-Id: I52ca9c1ffbfc0bd6b57196157500d0868bfc2989
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
2e5979236ccc06beec8b8f7f631f31bdedc79614 |
|
07-Aug-2014 |
Christopher Tate <ctate@google.com> |
Mark beginRestoreSession() as system API Bug 16874911 Change-Id: Idb06ebf2d0f54bb13af1d2eeacf0d7b06fda68db
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
d5cf722ae62d06d1fb6a9505c6f4c403a5d14a37 |
|
30-Jul-2014 |
Christopher Tate <ctate@google.com> |
Reify the transport lookup/selection API Introduce a stable BackupTransport interface class for transport implementations to derive from. Make the interface for viewing/selecting the active backup transport part of the stable API. Make restore-related classes (RestoreSession, RestoreSet) stable API. Express backup manager APIs needed for transport operation as @SystemApi methods in BackupManager. Bug 16661321 Change-Id: I423b87ae8f45c1b77831d4f8ffd97715484c2d2b
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
f5491fc1b61088843f280a6b55c1a995e2e6f939 |
|
25-May-2012 |
Christopher Tate <ctate@google.com> |
Prevent construction/use of invalid restore session proxies Possible (rare) null return was not being handled. Fixes bug 6554812. Change-Id: I470e916f2156ff7ed2947d6ce21ef2816fc7f97d
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
61fd1e8d8c3ccf2d6b7d4af1c19e8f0988d5a1ec |
|
26-Oct-2011 |
Joe Fernandez <joefernandez@google.com> |
docs: add developer guide cross references, Project ACRE, round 3 Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
44ab8453e1c4c46790f792a46d026fa1017d8cfe |
|
17-Nov-2010 |
Chris Tate <ctate@google.com> |
Permission fix: don't require BACKUP perm for self-restores The public API is not supposed to require the BACKUP permission in order for an application to restore its own last-known-good backup data. However, as currently implemented, BackupManager.requestRestore() [the public API in question] depends on private Backup Manager methods that *do* enforce that permission. The net result is that the method cannot be successfully used by third party applications: it will throw an exception if attempted. This CL restructures the permission checking involved. First, the underlying beginRestoreSession() operation can now be passed a 'null' transport name; if this is done, then the restore session is begun on whatever the currently-active transport is. Looking up the name of the active transport is one of the permission-guarded actions that was required with the initial implementation. Second, a package name can now be passed to beginRestoreSession(). If this is done, then the restore session can only be used to perform a single-package restore of that one application. The BACKUP permission is not required if the caller is tying the restore to its own package name. In combination, these changes permit BackupManager.requestRestore() to function without the calling app needing to hold any special permission. The no-permission case is intentionally quite narrow: the caller must hold the permission unless they both (a) pass 'null' for the transport name, thereby accepting whatever the currently active transport is, and (b) pass their own package name to restrict the restore session only to their own app. External bug http://code.google.com/p/android/issues/detail?id=10094 Internal bug 3197202 Change-Id: Ibc9d652323f2da03727d850f991b4096af6520d2
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
d17da43c82c4edb97514d6138bc208eeba321636 |
|
30-Apr-2010 |
Scott Main <smain@google.com> |
docs: revise and add documentation for backup APIs Change-Id: I0b015a6de16da07ccd31756b8d2329dc2785c2f7
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
4e14a829129feee14ebe453f61a124784c870610 |
|
08-Apr-2010 |
Christopher Tate <ctate@google.com> |
SDK: more backup/restore documentation work Still not complete, but here's a lot more of the necessary documentation. Submitting a checkpoint seems prudent. Bug #2465360 Change-Id: Ifff60d57e4b24cee21f3a34f5f50e290d377c386
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
cc84c69726507a85116f5664e20e2ebfac76edbe |
|
29-Mar-2010 |
Christopher Tate <ctate@google.com> |
API CHANGE: rename BackupHelperAgent => BackupAgentHelper per API Council Part of bug #2545514 Change-Id: Ic775e3b942c485252149c1b6c15c88517fa4e3e5
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
9c3cee9824026764275e4d84ba9b5d9fdc5da690 |
|
26-Mar-2010 |
Christopher Tate <ctate@google.com> |
API CHANGE: Backup/restore API changes requested by the API Council * @hide the android.app.backup.RestoreSession class and functionality * Provide a public method on android.app.backup.BackupManager that apps can use to request a restore pass of their last-known-good dataset. The new method is called requestRestore(). * Provide the name of the package being restored, not just its ordinal, in the RestoreObserver's onUpdate() callback. Part of bug #2545514 Change-Id: I9689bf8d6e2b808b4ee412424a36a835be0a5ca8
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
3de55bcd34afd5871816526294f9514d1adf3fe5 |
|
13-Mar-2010 |
Christopher Tate <ctate@google.com> |
API CHANGE: expose the backup-related ApplicationInfo flag masks Fixes bug #2507582 by doing the following: - Un-@hide the FLAG_ALLOW_BACKUP, FLAG_KILL_AFTER_RESTORE, and FLAG_RESTORE_ANY_VERSION mask constants in ApplicationInfo. These correspond, respectively, to the <application> manifest tag's android:allowBackup, android:killAfterRestore, and android:restoreAnyVersion attributes. - Remove the android:restoreNeedsApplication attribute and the corresponding FLAG_RESTORE_NEEDS_APPLICATION constant [which was still marked @hide]. We now always use the application's own Application class when performing a normal restore. In the future when we support an externalized full-filesystem backup/restore operation, we will use an OS-defined agent class with a base-class Application instance, but this will not happen until a future release. Also expands real documentation on the above ApplicationInfo constants; that work is part of bug #2465360 Change-Id: I735d07a963ae80a01343637d83bef84e4c23fdcc
/frameworks/base/core/java/android/app/backup/BackupManager.java
|
4528186e0d65fc68ef0dd1941aa2ac8aefcd55a3 |
|
06-Mar-2010 |
Christopher Tate <ctate@google.com> |
Refactor android.backup => android.app.backup Change-Id: I0b21316ff890d7f3c7d4b82837bb60670724c2e8
/frameworks/base/core/java/android/app/backup/BackupManager.java
|