diff options
author | 2025-01-08 19:15:19 +0000 | |
---|---|---|
committer | 2025-01-09 22:02:33 +0000 | |
commit | 3682f501fb72835ec6a580377c2f610570573bd4 (patch) | |
tree | a6a83ac352f7ae2c5801e1fa3772bb8409af344e | |
parent | 8a7102c166fe464256b4a1daa9684ca8b1212931 (diff) |
Move BackupWakeLock to its own file
There's no reason for it to be under UserBackupManagerService and bloat
it up.
Test: n/a
Flag: EXEMPT no-op refactor
Change-Id: I595fe26e97e804e59033a5dc95e8fa8e16de895f
13 files changed, 137 insertions, 128 deletions
diff --git a/services/backup/java/com/android/server/backup/BackupWakeLock.java b/services/backup/java/com/android/server/backup/BackupWakeLock.java new file mode 100644 index 000000000000..d839e7a1583b --- /dev/null +++ b/services/backup/java/com/android/server/backup/BackupWakeLock.java @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2025 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.backup; + +import static com.android.server.backup.BackupManagerService.TAG; + +import android.annotation.Nullable; +import android.os.PowerManager; +import android.os.WorkSource; +import android.util.Slog; + +/** + * Wrapper over {@link PowerManager.WakeLock} to prevent double-free exceptions on release() + * after quit(). + * + * <p>There should be a single instance of this class per {@link UserBackupManagerService}. + */ +public class BackupWakeLock { + private final PowerManager.WakeLock mPowerManagerWakeLock; + private boolean mHasQuit = false; + private final String mUserIdMessage; + private final BackupManagerConstants mBackupManagerConstants; + + public BackupWakeLock(PowerManager.WakeLock powerManagerWakeLock, int userId, + BackupManagerConstants backupManagerConstants) { + mPowerManagerWakeLock = powerManagerWakeLock; + mUserIdMessage = "[UserID:" + userId + "] "; + mBackupManagerConstants = backupManagerConstants; + } + + /** Acquires the {@link PowerManager.WakeLock} if hasn't been quit. */ + public synchronized void acquire() { + if (mHasQuit) { + Slog.d(TAG, mUserIdMessage + "Ignore wakelock acquire after quit: " + + mPowerManagerWakeLock.getTag()); + return; + } + // Set a timeout for the wakelock. Otherwise if we fail internally and never call + // release(), the device might stay awake and drain battery indefinitely. + mPowerManagerWakeLock.acquire(mBackupManagerConstants.getWakelockTimeoutMillis()); + Slog.d(TAG, mUserIdMessage + "Acquired wakelock:" + mPowerManagerWakeLock.getTag()); + } + + /** Releases the {@link PowerManager.WakeLock} if hasn't been quit. */ + public synchronized void release() { + if (mHasQuit) { + Slog.d(TAG, mUserIdMessage + "Ignore wakelock release after quit: " + + mPowerManagerWakeLock.getTag()); + return; + } + + if (!mPowerManagerWakeLock.isHeld()) { + Slog.w(TAG, mUserIdMessage + "Wakelock not held: " + mPowerManagerWakeLock.getTag()); + return; + } + + mPowerManagerWakeLock.release(); + Slog.d(TAG, mUserIdMessage + "Released wakelock:" + mPowerManagerWakeLock.getTag()); + } + + /** + * Returns true if the {@link PowerManager.WakeLock} has been acquired but not yet released. + */ + public synchronized boolean isHeld() { + return mPowerManagerWakeLock.isHeld(); + } + + /** Release the {@link PowerManager.WakeLock} till it isn't held. */ + public synchronized void quit() { + while (mPowerManagerWakeLock.isHeld()) { + Slog.d(TAG, mUserIdMessage + "Releasing wakelock: " + mPowerManagerWakeLock.getTag()); + mPowerManagerWakeLock.release(); + } + mHasQuit = true; + } + + /** Calls {@link PowerManager.WakeLock#setWorkSource} on the underlying wake lock. */ + public void setWorkSource(@Nullable WorkSource workSource) { + mPowerManagerWakeLock.setWorkSource(workSource); + } +} diff --git a/services/backup/java/com/android/server/backup/UserBackupManagerService.java b/services/backup/java/com/android/server/backup/UserBackupManagerService.java index ef1d09381237..5af2346650ed 100644 --- a/services/backup/java/com/android/server/backup/UserBackupManagerService.java +++ b/services/backup/java/com/android/server/backup/UserBackupManagerService.java @@ -86,7 +86,6 @@ import android.os.RemoteException; import android.os.SELinux; import android.os.SystemClock; import android.os.UserHandle; -import android.os.WorkSource; import android.provider.Settings; import android.text.TextUtils; import android.util.ArraySet; @@ -172,88 +171,6 @@ import java.util.concurrent.atomic.AtomicInteger; /** System service that performs backup/restore operations. */ public class UserBackupManagerService { - /** - * Wrapper over {@link PowerManager.WakeLock} to prevent double-free exceptions on release() - * after quit(). - */ - public static class BackupWakeLock { - private final PowerManager.WakeLock mPowerManagerWakeLock; - private boolean mHasQuit = false; - private final int mUserId; - private final BackupManagerConstants mBackupManagerConstants; - - public BackupWakeLock(PowerManager.WakeLock powerManagerWakeLock, int userId, - BackupManagerConstants backupManagerConstants) { - mPowerManagerWakeLock = powerManagerWakeLock; - mUserId = userId; - mBackupManagerConstants = backupManagerConstants; - } - - /** Acquires the {@link PowerManager.WakeLock} if hasn't been quit. */ - public synchronized void acquire() { - if (mHasQuit) { - Slog.d( - TAG, - addUserIdToLogMessage( - mUserId, - "Ignore wakelock acquire after quit: " - + mPowerManagerWakeLock.getTag())); - return; - } - // Set a timeout for the wakelock. Otherwise if we fail internally and never call - // release(), the device might stay awake and drain battery indefinitely. - mPowerManagerWakeLock.acquire(mBackupManagerConstants.getWakelockTimeoutMillis()); - Slog.d( - TAG, - addUserIdToLogMessage( - mUserId, "Acquired wakelock:" + mPowerManagerWakeLock.getTag())); - } - - /** Releases the {@link PowerManager.WakeLock} if hasn't been quit. */ - public synchronized void release() { - if (mHasQuit) { - Slog.d( - TAG, - addUserIdToLogMessage( - mUserId, - "Ignore wakelock release after quit: " - + mPowerManagerWakeLock.getTag())); - return; - } - - if (!mPowerManagerWakeLock.isHeld()) { - Slog.w(TAG, addUserIdToLogMessage(mUserId, - "Wakelock not held: " + mPowerManagerWakeLock.getTag())); - return; - } - - mPowerManagerWakeLock.release(); - Slog.d( - TAG, - addUserIdToLogMessage( - mUserId, "Released wakelock:" + mPowerManagerWakeLock.getTag())); - } - - /** - * Returns true if the {@link PowerManager.WakeLock} has been acquired but not yet released. - */ - public synchronized boolean isHeld() { - return mPowerManagerWakeLock.isHeld(); - } - - /** Release the {@link PowerManager.WakeLock} till it isn't held. */ - public synchronized void quit() { - while (mPowerManagerWakeLock.isHeld()) { - Slog.d( - TAG, - addUserIdToLogMessage( - mUserId, "Releasing wakelock: " + mPowerManagerWakeLock.getTag())); - mPowerManagerWakeLock.release(); - } - mHasQuit = true; - } - } - // Persistently track the need to do a full init. private static final String INIT_SENTINEL_FILE_NAME = "_need_init_"; @@ -756,20 +673,10 @@ public class UserBackupManagerService { mSetupComplete = setupComplete; } - public BackupWakeLock getWakelock() { + public BackupWakeLock getWakeLock() { return mWakelock; } - /** - * Sets the {@link WorkSource} of the {@link PowerManager.WakeLock} returned by {@link - * #getWakelock()}. - */ - @VisibleForTesting - public void setWorkSource(@Nullable WorkSource workSource) { - // TODO: This is for testing, unfortunately WakeLock is final and WorkSource is not exposed - mWakelock.mPowerManagerWakeLock.setWorkSource(workSource); - } - public Handler getBackupHandler() { return mBackupHandler; } diff --git a/services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java b/services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java index 9d680c0cf1fa..0d4364e14e03 100644 --- a/services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java +++ b/services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java @@ -468,7 +468,7 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor sendEndBackup(); obbConnection.tearDown(); Slog.d(TAG, "Full backup pass complete."); - mUserBackupManagerService.getWakelock().release(); + mUserBackupManagerService.getWakeLock().release(); } } diff --git a/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java b/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java index 88abc439a566..bd34f33226a1 100644 --- a/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java +++ b/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java @@ -688,7 +688,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba .getBackupAgentConnectionManager().clearNoRestrictedModePackages(); Slog.i(TAG, "Full data backup pass finished."); - mUserBackupManagerService.getWakelock().release(); + mUserBackupManagerService.getWakeLock().release(); } } diff --git a/services/backup/java/com/android/server/backup/internal/BackupHandler.java b/services/backup/java/com/android/server/backup/internal/BackupHandler.java index 18c983585490..87cf8a313651 100644 --- a/services/backup/java/com/android/server/backup/internal/BackupHandler.java +++ b/services/backup/java/com/android/server/backup/internal/BackupHandler.java @@ -136,7 +136,7 @@ public class BackupHandler extends Handler { public void handleMessage(Message msg) { if (msg.what == MSG_STOP) { Slog.d(TAG, "Stopping backup handler"); - backupManagerService.getWakelock().quit(); + backupManagerService.getWakeLock().quit(); mBackupThread.quitSafely(); } @@ -181,7 +181,7 @@ public class BackupHandler extends Handler { // Acquire the wakelock and pass it to the backup thread. It will be released // once backup concludes. backupManagerService.setBackupRunning(true); - backupManagerService.getWakelock().acquire(); + backupManagerService.getWakeLock().acquire(); // Do we have any work to do? Construct the work queue // then release the synchronization lock to actually run @@ -254,7 +254,7 @@ public class BackupHandler extends Handler { synchronized (backupManagerService.getQueueLock()) { backupManagerService.setBackupRunning(false); } - backupManagerService.getWakelock().release(); + backupManagerService.getWakeLock().release(); } break; } @@ -466,7 +466,7 @@ public class BackupHandler extends Handler { Slog.d(TAG, "MSG_REQUEST_BACKUP observer=" + params.observer); } backupManagerService.setBackupRunning(true); - backupManagerService.getWakelock().acquire(); + backupManagerService.getWakeLock().acquire(); KeyValueBackupTask.start( backupManagerService, diff --git a/services/backup/java/com/android/server/backup/internal/PerformClearTask.java b/services/backup/java/com/android/server/backup/internal/PerformClearTask.java index de0177c1b62c..b9ac5648a5f4 100644 --- a/services/backup/java/com/android/server/backup/internal/PerformClearTask.java +++ b/services/backup/java/com/android/server/backup/internal/PerformClearTask.java @@ -75,7 +75,7 @@ public class PerformClearTask implements Runnable { } mListener.onFinished(callerLogString); // Last but not least, release the cpu - mBackupManagerService.getWakelock().release(); + mBackupManagerService.getWakeLock().release(); } } } diff --git a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java index 689c43a1cc96..494b9d59a238 100644 --- a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java +++ b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java @@ -826,7 +826,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable { } mTaskFinishedListener.onFinished(callerLogString); mReporter.onBackupFinished(getBackupFinishedStatus(mCancelled, status)); - mBackupManagerService.getWakelock().release(); + mBackupManagerService.getWakeLock().release(); } private int getBackupFinishedStatus(boolean cancelled, int transportStatus) { @@ -878,12 +878,13 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable { * the transport or not. It's the caller responsibility to do the clean-up or delegate it. */ private void extractAgentData(PackageInfo packageInfo) throws AgentException, TaskException { - mBackupManagerService.setWorkSource(new WorkSource(packageInfo.applicationInfo.uid)); + mBackupManagerService.getWakeLock().setWorkSource( + new WorkSource(packageInfo.applicationInfo.uid)); try { mAgent = bindAgent(packageInfo); extractAgentData(packageInfo, mAgent); } finally { - mBackupManagerService.setWorkSource(null); + mBackupManagerService.getWakeLock().setWorkSource(null); } } diff --git a/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java b/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java index 3ed0b835c634..41134d68916a 100644 --- a/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java +++ b/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java @@ -40,6 +40,7 @@ import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; import com.android.server.LocalServices; +import com.android.server.backup.BackupWakeLock; import com.android.server.backup.Flags; import com.android.server.backup.TransportManager; import com.android.server.backup.UserBackupManagerService; @@ -120,7 +121,7 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { // comes in. mBackupManagerService.getBackupHandler().removeMessages(MSG_RESTORE_SESSION_TIMEOUT); - UserBackupManagerService.BackupWakeLock wakelock = mBackupManagerService.getWakelock(); + BackupWakeLock wakelock = mBackupManagerService.getWakeLock(); wakelock.acquire(); // Prevent lambda from leaking 'this' @@ -420,7 +421,7 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { Handler backupHandler = mBackupManagerService.getBackupHandler(); backupHandler.removeMessages(MSG_RESTORE_SESSION_TIMEOUT); - UserBackupManagerService.BackupWakeLock wakelock = mBackupManagerService.getWakelock(); + BackupWakeLock wakelock = mBackupManagerService.getWakeLock(); wakelock.acquire(); if (DEBUG) { Slog.d(TAG, callerLogString); diff --git a/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java index 211628412449..5a3494c2bc6e 100644 --- a/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java +++ b/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java @@ -141,7 +141,7 @@ public class PerformAdbRestoreTask implements Runnable { mObbConnection.tearDown(); mObserver = FullBackupRestoreObserverUtils.sendEndRestore(mObserver); Slog.d(TAG, "Full restore pass complete."); - mBackupManagerService.getWakelock().release(); + mBackupManagerService.getWakeLock().release(); } } diff --git a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java index de16b7ee8126..2dd16f68dc56 100644 --- a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java +++ b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java @@ -109,6 +109,7 @@ import com.android.server.EventLogTags; import com.android.server.LocalServices; import com.android.server.backup.BackupAgentConnectionManager; import com.android.server.backup.BackupRestoreTask; +import com.android.server.backup.BackupWakeLock; import com.android.server.backup.DataChangedJournal; import com.android.server.backup.KeyValueBackupJob; import com.android.server.backup.PackageManagerBackupAgent; @@ -201,7 +202,7 @@ public class KeyValueBackupTaskTest { private TransportData mTransport; private ShadowLooper mShadowBackupLooper; private Handler mBackupHandler; - private UserBackupManagerService.BackupWakeLock mWakeLock; + private BackupWakeLock mWakeLock; private KeyValueBackupReporter mReporter; private PackageManager mPackageManager; private ShadowPackageManager mShadowPackageManager; @@ -238,7 +239,7 @@ public class KeyValueBackupTaskTest { mPackageManager = mApplication.getPackageManager(); mShadowPackageManager = shadowOf(mPackageManager); - mWakeLock = createBackupWakeLock(mApplication); + mWakeLock = spy(createBackupWakeLock(mApplication)); mBackupManager = spy(FakeIBackupManager.class); // Needed to be able to use a real BMS instead of a mock @@ -737,17 +738,16 @@ public class KeyValueBackupTaskTest { // In production (for non-system agents) the call is asynchronous, but here is // synchronous, so it's fine to verify here. // Verify has set work source and hasn't unset yet. - verify(mBackupManagerService) - .setWorkSource( - argThat(workSource -> workSource.getUid(0) == PACKAGE_1.uid)); - verify(mBackupManagerService, never()).setWorkSource(null); + verify(mWakeLock).setWorkSource( + argThat(workSource -> workSource.getUid(0) == PACKAGE_1.uid)); + verify(mWakeLock, never()).setWorkSource(null); }); KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1); runTask(task); // More verifications inside agent call above - verify(mBackupManagerService).setWorkSource(null); + verify(mWakeLock).setWorkSource(null); } /** @@ -765,7 +765,7 @@ public class KeyValueBackupTaskTest { runTask(task); - verify(mBackupManagerService).setWorkSource(null); + verify(mWakeLock).setWorkSource(null); verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE); verify(mObserver).backupFinished(SUCCESS); assertBackupPendingFor(PACKAGE_1); @@ -798,7 +798,7 @@ public class KeyValueBackupTaskTest { runTask(task); - verify(mBackupManagerService).setWorkSource(null); + verify(mWakeLock).setWorkSource(null); verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE); verify(mObserver).backupFinished(SUCCESS); assertBackupPendingFor(PACKAGE_1); @@ -815,7 +815,7 @@ public class KeyValueBackupTaskTest { runTask(task); - verify(mBackupManagerService).setWorkSource(null); + verify(mWakeLock).setWorkSource(null); verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE); verify(mObserver).backupFinished(SUCCESS); assertBackupPendingFor(PACKAGE_1); @@ -833,7 +833,7 @@ public class KeyValueBackupTaskTest { runTask(task); - verify(mBackupManagerService).setWorkSource(null); + verify(mWakeLock).setWorkSource(null); verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE); verify(mObserver).backupFinished(SUCCESS); assertBackupPendingFor(PACKAGE_1); @@ -864,7 +864,7 @@ public class KeyValueBackupTaskTest { runTask(task); - verify(mBackupManagerService).setWorkSource(null); + verify(mWakeLock).setWorkSource(null); verify(mBackupAgentConnectionManager).unbindAgent(argThat(applicationInfo(PACKAGE_1)), eq(false)); } @@ -918,7 +918,7 @@ public class KeyValueBackupTaskTest { runTask(task); - verify(mBackupManagerService).setWorkSource(null); + verify(mWakeLock).setWorkSource(null); } @Test diff --git a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java index 73ddbe8cec7c..ffec68aa4082 100644 --- a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java +++ b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java @@ -51,6 +51,7 @@ import android.platform.test.annotations.Presubmit; import com.android.server.EventLogTags; import com.android.server.backup.BackupAgentTimeoutParameters; +import com.android.server.backup.BackupWakeLock; import com.android.server.backup.OperationStorage; import com.android.server.backup.TransportManager; import com.android.server.backup.UserBackupManagerService; @@ -103,7 +104,7 @@ public class ActiveRestoreSessionTest { @Mock private OperationStorage mOperationStorage; private ShadowLooper mShadowBackupLooper; private ShadowApplication mShadowApplication; - private UserBackupManagerService.BackupWakeLock mWakeLock; + private BackupWakeLock mWakeLock; private TransportData mTransport; private RestoreSet mRestoreSet1; private RestoreSet mRestoreSet2; diff --git a/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java b/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java index 4d04c8b76fc7..10d23dc18e58 100644 --- a/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java +++ b/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java @@ -39,6 +39,7 @@ import android.util.Log; import com.android.server.backup.BackupAgentTimeoutParameters; import com.android.server.backup.BackupManagerConstants; import com.android.server.backup.BackupManagerService; +import com.android.server.backup.BackupWakeLock; import com.android.server.backup.TransportManager; import com.android.server.backup.UserBackupManagerService; @@ -114,7 +115,7 @@ public class BackupManagerServiceTestUtils { TransportManager transportManager, PackageManager packageManager, Handler backupHandler, - UserBackupManagerService.BackupWakeLock wakeLock, + BackupWakeLock wakeLock, BackupAgentTimeoutParameters agentTimeoutParameters) { when(backupManagerService.getContext()).thenReturn(application); @@ -123,7 +124,7 @@ public class BackupManagerServiceTestUtils { when(backupManagerService.getBackupHandler()).thenReturn(backupHandler); when(backupManagerService.getQueueLock()).thenReturn(new Object()); when(backupManagerService.getActivityManager()).thenReturn(mock(IActivityManager.class)); - when(backupManagerService.getWakelock()).thenReturn(wakeLock); + when(backupManagerService.getWakeLock()).thenReturn(wakeLock); when(backupManagerService.getAgentTimeoutParameters()).thenReturn(agentTimeoutParameters); AccessorMock backupEnabled = mockAccessor(false); @@ -161,10 +162,12 @@ public class BackupManagerServiceTestUtils { }); } - public static UserBackupManagerService.BackupWakeLock createBackupWakeLock( - Application application) { + /** + * Creates a wakelock for testing. + */ + public static BackupWakeLock createBackupWakeLock(Application application) { PowerManager powerManager = application.getSystemService(PowerManager.class); - return new UserBackupManagerService.BackupWakeLock( + return new BackupWakeLock( powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "*backup*"), 0, new BackupManagerConstants(Handler.getMain(), application.getContentResolver())); } diff --git a/services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java b/services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java index e618433862f2..2b7a62a9f9fe 100644 --- a/services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java @@ -35,6 +35,7 @@ import androidx.test.runner.AndroidJUnit4; import com.android.server.backup.BackupAgentConnectionManager; import com.android.server.backup.BackupAgentTimeoutParameters; +import com.android.server.backup.BackupWakeLock; import com.android.server.backup.OperationStorage; import com.android.server.backup.TransportManager; import com.android.server.backup.UserBackupManagerService; @@ -81,7 +82,7 @@ public class PerformFullTransportBackupTaskTest { @Mock TransportManager mTransportManager; @Mock - UserBackupManagerService.BackupWakeLock mWakeLock; + BackupWakeLock mWakeLock; private final List<String> mEligiblePackages = new ArrayList<>(); @@ -94,7 +95,7 @@ public class PerformFullTransportBackupTaskTest { when(mBackupManagerService.getPackageManager()).thenReturn(mPackageManager); when(mBackupManagerService.getQueueLock()).thenReturn("something!"); when(mBackupManagerService.isEnabled()).thenReturn(true); - when(mBackupManagerService.getWakelock()).thenReturn(mWakeLock); + when(mBackupManagerService.getWakeLock()).thenReturn(mWakeLock); when(mBackupManagerService.isSetupComplete()).thenReturn(true); when(mBackupManagerService.getAgentTimeoutParameters()).thenReturn( mBackupAgentTimeoutParameters); |