Merge "Adding method to query backup manager service activity status" into lmp-mr1-dev

This commit is contained in:
Zoltan Szatmary-Ban
2014-11-21 15:20:44 +00:00
committed by Android (Google) Code Review
2 changed files with 23 additions and 1 deletions

View File

@ -303,4 +303,11 @@ interface IBackupManager {
* {@code false} otherwise. * {@code false} otherwise.
*/ */
void setBackupServiceActive(int whichUser, boolean makeActive); void setBackupServiceActive(int whichUser, boolean makeActive);
/**
* Queries the activity status of backup service as set by {@link #setBackupServiceActive}.
* @param whichUser User handle of the defined user whose backup active state
* is being queried.
*/
boolean isBackupServiceActive(int whichUser);
} }

View File

@ -94,7 +94,7 @@ public class Trampoline extends IBackupManager.Stub {
if (userHandle == UserHandle.USER_OWNER) { if (userHandle == UserHandle.USER_OWNER) {
synchronized (this) { synchronized (this) {
if (makeActive != (mService != null)) { if (makeActive != isBackupServiceActive(userHandle)) {
Slog.i(TAG, "Making backup " Slog.i(TAG, "Making backup "
+ (makeActive ? "" : "in") + "active in user " + userHandle); + (makeActive ? "" : "in") + "active in user " + userHandle);
if (makeActive) { if (makeActive) {
@ -113,6 +113,21 @@ public class Trampoline extends IBackupManager.Stub {
} }
} }
/**
* Querying activity state of backup service. Calling this method before initialize yields
* undefined result.
* @param userHandle The user in which the activity state of backup service is queried.
* @return true if the service is active.
*/
public boolean isBackupServiceActive(final int userHandle) {
if (userHandle == UserHandle.USER_OWNER) {
synchronized (this) {
return mService != null;
}
}
return false;
}
// IBackupManager binder API // IBackupManager binder API
@Override @Override
public void dataChanged(String packageName) throws RemoteException { public void dataChanged(String packageName) throws RemoteException {