Code cleanup (9/n)
* Remove dead code * No need for waitForSessionReady() for Install.commit() has called it internally. Bug: 210359798 Test: atest StagedInstallInternalTest Change-Id: I6c70012beead9de3d1f51821c6d93374c6f83d9d
This commit is contained in:
parent
a49b7c6867
commit
383bbff97e
@ -59,8 +59,6 @@ import android.app.admin.DevicePolicyEventLogger;
|
||||
import android.app.admin.DevicePolicyManagerInternal;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.IIntentReceiver;
|
||||
import android.content.IIntentSender;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentSender;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
@ -102,7 +100,6 @@ import android.os.Bundle;
|
||||
import android.os.FileBridge;
|
||||
import android.os.FileUtils;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
@ -558,19 +555,6 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
||||
return install();
|
||||
}
|
||||
|
||||
private void updateRemoteStatusReceiver(IntentSender remoteStatusReceiver) {
|
||||
synchronized (mLock) {
|
||||
setRemoteStatusReceiver(remoteStatusReceiver);
|
||||
if (isMultiPackage()) {
|
||||
final IntentSender childIntentSender = new ChildStatusIntentReceiver(
|
||||
mChildSessions.clone(), remoteStatusReceiver).getIntentSender();
|
||||
for (int i = mChildSessions.size() - 1; i >= 0; --i) {
|
||||
mChildSessions.valueAt(i).setRemoteStatusReceiver(childIntentSender);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasParentSessionId() {
|
||||
return PackageInstallerSession.this.hasParentSessionId();
|
||||
@ -1773,71 +1757,6 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
private class ChildStatusIntentReceiver {
|
||||
private final SparseArray<PackageInstallerSession> mChildSessionsRemaining;
|
||||
private final IntentSender mStatusReceiver;
|
||||
private final IIntentSender.Stub mLocalSender = new IIntentSender.Stub() {
|
||||
@Override
|
||||
public void send(int code, Intent intent, String resolvedType, IBinder whitelistToken,
|
||||
IIntentReceiver finishedReceiver, String requiredPermission, Bundle options) {
|
||||
statusUpdate(intent);
|
||||
}
|
||||
};
|
||||
|
||||
private ChildStatusIntentReceiver(SparseArray<PackageInstallerSession> remainingSessions,
|
||||
IntentSender statusReceiver) {
|
||||
this.mChildSessionsRemaining = remainingSessions;
|
||||
this.mStatusReceiver = statusReceiver;
|
||||
}
|
||||
|
||||
public IntentSender getIntentSender() {
|
||||
return new IntentSender((IIntentSender) mLocalSender);
|
||||
}
|
||||
|
||||
public void statusUpdate(Intent intent) {
|
||||
mHandler.post(() -> {
|
||||
if (mChildSessionsRemaining.size() == 0) {
|
||||
// no children to deal with, ignore.
|
||||
return;
|
||||
}
|
||||
final boolean destroyed;
|
||||
synchronized (mLock) {
|
||||
destroyed = mDestroyed;
|
||||
}
|
||||
if (destroyed) {
|
||||
// the parent has already been terminated, ignore.
|
||||
return;
|
||||
}
|
||||
final int sessionId = intent.getIntExtra(
|
||||
PackageInstaller.EXTRA_SESSION_ID, 0);
|
||||
final int status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS,
|
||||
PackageInstaller.STATUS_FAILURE);
|
||||
final int sessionIndex = mChildSessionsRemaining.indexOfKey(sessionId);
|
||||
final String message = intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE);
|
||||
if (PackageInstaller.STATUS_SUCCESS == status) {
|
||||
mChildSessionsRemaining.removeAt(sessionIndex);
|
||||
if (mChildSessionsRemaining.size() == 0) {
|
||||
destroyInternal();
|
||||
dispatchSessionFinished(INSTALL_SUCCEEDED,
|
||||
"Session installed", null);
|
||||
}
|
||||
} else if (PackageInstaller.STATUS_PENDING_USER_ACTION == status) {
|
||||
try {
|
||||
mStatusReceiver.sendIntent(mContext, 0, intent, null, null);
|
||||
} catch (IntentSender.SendIntentException ignore) {
|
||||
}
|
||||
} else { // failure, let's forward and clean up this session.
|
||||
intent.putExtra(PackageInstaller.EXTRA_SESSION_ID,
|
||||
PackageInstallerSession.this.sessionId);
|
||||
mChildSessionsRemaining.clear(); // we're done. Don't send any more.
|
||||
destroyInternal();
|
||||
dispatchSessionFinished(INSTALL_FAILED_INTERNAL_ERROR,
|
||||
"Child session " + sessionId + " failed: " + message, null);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether or not a package can be installed while Secure FRP is enabled.
|
||||
* <p>
|
||||
@ -2060,12 +1979,6 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
||||
maybeFinishChildSessions(error, msg);
|
||||
}
|
||||
|
||||
private void onSessionInstallationFailure(int error, String detailedMessage) {
|
||||
Slog.e(TAG, "Install of session " + sessionId + " failed: " + detailedMessage);
|
||||
destroyInternal();
|
||||
dispatchSessionFinished(error, detailedMessage, null);
|
||||
}
|
||||
|
||||
private void onSystemDataLoaderUnrecoverable() {
|
||||
final DeletePackageHelper deletePackageHelper = new DeletePackageHelper(mPm);
|
||||
final String packageName = getPackageName();
|
||||
|
@ -23,11 +23,8 @@ import android.apex.ApexSessionInfo;
|
||||
import android.apex.ApexSessionParams;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.IIntentReceiver;
|
||||
import android.content.IIntentSender;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.IntentSender;
|
||||
import android.content.pm.ApexStagedEvent;
|
||||
import android.content.pm.IStagedApexObserver;
|
||||
import android.content.pm.PackageInstaller;
|
||||
@ -36,7 +33,6 @@ import android.content.pm.PackageInstaller.SessionInfo.SessionErrorCode;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManagerInternal;
|
||||
import android.content.pm.StagedApexInfo;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.os.PowerManager;
|
||||
import android.os.RemoteException;
|
||||
@ -78,8 +74,6 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
/**
|
||||
@ -809,35 +803,6 @@ public class StagingManager {
|
||||
BackgroundThread.getExecutor().execute(() -> logFailedApexSessionsIfNecessary());
|
||||
}
|
||||
|
||||
private static class LocalIntentReceiverSync {
|
||||
private final LinkedBlockingQueue<Intent> mResult = new LinkedBlockingQueue<>();
|
||||
|
||||
private final IIntentSender.Stub mLocalSender = new IIntentSender.Stub() {
|
||||
@Override
|
||||
public void send(int code, Intent intent, String resolvedType, IBinder whitelistToken,
|
||||
IIntentReceiver finishedReceiver, String requiredPermission,
|
||||
Bundle options) {
|
||||
try {
|
||||
mResult.offer(intent, 5, TimeUnit.SECONDS);
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public IntentSender getIntentSender() {
|
||||
return new IntentSender((IIntentSender) mLocalSender);
|
||||
}
|
||||
|
||||
public Intent getResult() {
|
||||
try {
|
||||
return mResult.take();
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private StagedSession getStagedSession(int sessionId) {
|
||||
StagedSession session;
|
||||
synchronized (mStagedSessions) {
|
||||
|
@ -171,9 +171,8 @@ public class StagedRollbackTest {
|
||||
@Test
|
||||
public void testRollbackApexWithApkCrashing_Phase1_Install() throws Exception {
|
||||
assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
|
||||
int sessionId = Install.single(TEST_APEX_WITH_APK_V2_CRASHING).setStaged()
|
||||
Install.single(TEST_APEX_WITH_APK_V2_CRASHING).setStaged()
|
||||
.setEnableRollback().commit();
|
||||
InstallUtils.waitForSessionReady(sessionId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -17,7 +17,6 @@
|
||||
package com.android.tests.stagedinstallinternal;
|
||||
|
||||
import static com.android.cts.install.lib.InstallUtils.getPackageInstaller;
|
||||
import static com.android.cts.install.lib.InstallUtils.waitForSessionReady;
|
||||
import static com.android.cts.shim.lib.ShimPackage.SHIM_APEX_PACKAGE_NAME;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
@ -458,7 +457,6 @@ public class StagedInstallInternalTest {
|
||||
assertThat(result).hasLength(0);
|
||||
// Stage an apex
|
||||
int sessionId = Install.single(APEX_V2).setStaged().commit();
|
||||
waitForSessionReady(sessionId);
|
||||
result = getPackageManagerNative().getStagedApexModuleNames();
|
||||
assertThat(result).hasLength(1);
|
||||
assertThat(result).isEqualTo(new String[]{SHIM_APEX_PACKAGE_NAME});
|
||||
@ -475,7 +473,6 @@ public class StagedInstallInternalTest {
|
||||
assertThat(result).isNull();
|
||||
// Stage an apex
|
||||
int sessionId = Install.single(TEST_APEX_CLASSPATH).setStaged().commit();
|
||||
waitForSessionReady(sessionId);
|
||||
// Query proper module name
|
||||
result = getPackageManagerNative().getStagedApexInfo(TEST_APEX_PACKAGE_NAME);
|
||||
assertThat(result.moduleName).isEqualTo(TEST_APEX_PACKAGE_NAME);
|
||||
@ -499,7 +496,6 @@ public class StagedInstallInternalTest {
|
||||
|
||||
// Stage an apex and verify observer was called
|
||||
int sessionId = Install.single(APEX_V2).setStaged().commit();
|
||||
waitForSessionReady(sessionId);
|
||||
ArgumentCaptor<ApexStagedEvent> captor = ArgumentCaptor.forClass(ApexStagedEvent.class);
|
||||
verify(observer, timeout(5000)).onApexStaged(captor.capture());
|
||||
assertThat(captor.getValue().stagedApexModuleNames).isEqualTo(
|
||||
|
Loading…
x
Reference in New Issue
Block a user