Merge "Rem Dependency#get from WMShell and GarbageMonitor"
This commit is contained in:
@@ -26,8 +26,6 @@ import android.util.Log;
|
||||
|
||||
import androidx.core.content.FileProvider;
|
||||
|
||||
import com.android.systemui.Dependency;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
@@ -35,7 +33,6 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
@@ -53,12 +50,14 @@ public class DumpTruck {
|
||||
private static final int BUFSIZ = 1024 * 1024; // 1MB
|
||||
|
||||
private final Context context;
|
||||
private GarbageMonitor mGarbageMonitor;
|
||||
private Uri hprofUri;
|
||||
private long rss;
|
||||
final StringBuilder body = new StringBuilder();
|
||||
|
||||
public DumpTruck(Context context) {
|
||||
public DumpTruck(Context context, GarbageMonitor garbageMonitor) {
|
||||
this.context = context;
|
||||
mGarbageMonitor = garbageMonitor;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -68,8 +67,6 @@ public class DumpTruck {
|
||||
* @return this, for chaining
|
||||
*/
|
||||
public DumpTruck captureHeaps(List<Long> pids) {
|
||||
final GarbageMonitor gm = Dependency.get(GarbageMonitor.class);
|
||||
|
||||
final File dumpDir = new File(context.getCacheDir(), FILEPROVIDER_PATH);
|
||||
dumpDir.mkdirs();
|
||||
hprofUri = null;
|
||||
@@ -83,16 +80,14 @@ public class DumpTruck {
|
||||
for (Long pidL : pids) {
|
||||
final int pid = pidL.intValue();
|
||||
body.append(" pid ").append(pid);
|
||||
if (gm != null) {
|
||||
GarbageMonitor.ProcessMemInfo info = gm.getMemInfo(pid);
|
||||
if (info != null) {
|
||||
body.append(":")
|
||||
.append(" up=")
|
||||
.append(info.getUptime())
|
||||
.append(" rss=")
|
||||
.append(info.currentRss);
|
||||
rss = info.currentRss;
|
||||
}
|
||||
GarbageMonitor.ProcessMemInfo info = mGarbageMonitor.getMemInfo(pid);
|
||||
if (info != null) {
|
||||
body.append(":")
|
||||
.append(" up=")
|
||||
.append(info.getUptime())
|
||||
.append(" rss=")
|
||||
.append(info.currentRss);
|
||||
rss = info.currentRss;
|
||||
}
|
||||
if (pid == myPid) {
|
||||
final String path =
|
||||
|
||||
@@ -150,7 +150,7 @@ public class GarbageMonitor implements Dumpable {
|
||||
mTrackedGarbage = leakDetector.getTrackedGarbage();
|
||||
mLeakReporter = leakReporter;
|
||||
|
||||
mDumpTruck = new DumpTruck(mContext);
|
||||
mDumpTruck = new DumpTruck(mContext, this);
|
||||
|
||||
dumpManager.registerDumpable(getClass().getSimpleName(), this);
|
||||
|
||||
|
||||
@@ -41,7 +41,6 @@ import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.keyguard.KeyguardUpdateMonitorCallback;
|
||||
import com.android.systemui.CoreStartable;
|
||||
import com.android.systemui.Dependency;
|
||||
import com.android.systemui.dagger.SysUISingleton;
|
||||
import com.android.systemui.dagger.WMComponent;
|
||||
import com.android.systemui.dagger.qualifiers.Main;
|
||||
@@ -125,6 +124,7 @@ public final class WMShell extends CoreStartable
|
||||
private final SysUiState mSysUiState;
|
||||
private final WakefulnessLifecycle mWakefulnessLifecycle;
|
||||
private final ProtoTracer mProtoTracer;
|
||||
private final UserInfoController mUserInfoController;
|
||||
private final Executor mSysUiMainExecutor;
|
||||
|
||||
private boolean mIsSysUiStateValid;
|
||||
@@ -153,6 +153,7 @@ public final class WMShell extends CoreStartable
|
||||
SysUiState sysUiState,
|
||||
ProtoTracer protoTracer,
|
||||
WakefulnessLifecycle wakefulnessLifecycle,
|
||||
UserInfoController userInfoController,
|
||||
@Main Executor sysUiMainExecutor) {
|
||||
super(context);
|
||||
mCommandQueue = commandQueue;
|
||||
@@ -171,6 +172,7 @@ public final class WMShell extends CoreStartable
|
||||
mShellCommandHandler = shellCommandHandler;
|
||||
mCompatUIOptional = sizeCompatUIOptional;
|
||||
mDragAndDropOptional = dragAndDropOptional;
|
||||
mUserInfoController = userInfoController;
|
||||
mSysUiMainExecutor = sysUiMainExecutor;
|
||||
}
|
||||
|
||||
@@ -231,8 +233,7 @@ public final class WMShell extends CoreStartable
|
||||
});
|
||||
|
||||
// The media session listener needs to be re-registered when switching users
|
||||
UserInfoController userInfoController = Dependency.get(UserInfoController.class);
|
||||
userInfoController.addCallback((String name, Drawable picture, String userAccount) ->
|
||||
mUserInfoController.addCallback((String name, Drawable picture, String userAccount) ->
|
||||
pip.registerSessionListenerForCurrentUser());
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.android.systemui.model.SysUiState;
|
||||
import com.android.systemui.navigationbar.NavigationModeController;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.UserInfoController;
|
||||
import com.android.systemui.tracing.ProtoTracer;
|
||||
import com.android.wm.shell.ShellCommandHandler;
|
||||
import com.android.wm.shell.common.ShellExecutor;
|
||||
@@ -79,6 +80,7 @@ public class WMShellTest extends SysuiTestCase {
|
||||
@Mock ProtoTracer mProtoTracer;
|
||||
@Mock ShellCommandHandler mShellCommandHandler;
|
||||
@Mock CompatUI mCompatUI;
|
||||
@Mock UserInfoController mUserInfoController;
|
||||
@Mock ShellExecutor mSysUiMainExecutor;
|
||||
@Mock DragAndDrop mDragAndDrop;
|
||||
|
||||
@@ -92,7 +94,7 @@ public class WMShellTest extends SysuiTestCase {
|
||||
Optional.of(mDragAndDrop),
|
||||
mCommandQueue, mConfigurationController, mKeyguardUpdateMonitor,
|
||||
mNavigationModeController, mScreenLifecycle, mSysUiState, mProtoTracer,
|
||||
mWakefulnessLifecycle, mSysUiMainExecutor);
|
||||
mWakefulnessLifecycle, mUserInfoController, mSysUiMainExecutor);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user