Merge "Synchronize access to ranking helper records." into oc-dev
diff --git a/api/current.txt b/api/current.txt
index e1b826e..79f88aa 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -9322,6 +9322,7 @@
field public static final java.lang.String ACTION_MANAGED_PROFILE_UNLOCKED = "android.intent.action.MANAGED_PROFILE_UNLOCKED";
field public static final java.lang.String ACTION_MANAGE_NETWORK_USAGE = "android.intent.action.MANAGE_NETWORK_USAGE";
field public static final java.lang.String ACTION_MANAGE_PACKAGE_STORAGE = "android.intent.action.MANAGE_PACKAGE_STORAGE";
+ field public static final deprecated java.lang.String ACTION_MASTER_CLEAR = "android.intent.action.MASTER_CLEAR";
field public static final java.lang.String ACTION_MEDIA_BAD_REMOVAL = "android.intent.action.MEDIA_BAD_REMOVAL";
field public static final java.lang.String ACTION_MEDIA_BUTTON = "android.intent.action.MEDIA_BUTTON";
field public static final java.lang.String ACTION_MEDIA_CHECKING = "android.intent.action.MEDIA_CHECKING";
diff --git a/api/system-current.txt b/api/system-current.txt
index 1225aef8..83855e6 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -9850,6 +9850,7 @@
field public static final java.lang.String ACTION_MANAGE_PACKAGE_STORAGE = "android.intent.action.MANAGE_PACKAGE_STORAGE";
field public static final java.lang.String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
field public static final java.lang.String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
+ field public static final deprecated java.lang.String ACTION_MASTER_CLEAR = "android.intent.action.MASTER_CLEAR";
field public static final java.lang.String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
field public static final java.lang.String ACTION_MEDIA_BAD_REMOVAL = "android.intent.action.MEDIA_BAD_REMOVAL";
field public static final java.lang.String ACTION_MEDIA_BUTTON = "android.intent.action.MEDIA_BUTTON";
diff --git a/api/test-current.txt b/api/test-current.txt
index dff8ee4..f75a872 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -9356,6 +9356,7 @@
field public static final java.lang.String ACTION_MANAGED_PROFILE_UNLOCKED = "android.intent.action.MANAGED_PROFILE_UNLOCKED";
field public static final java.lang.String ACTION_MANAGE_NETWORK_USAGE = "android.intent.action.MANAGE_NETWORK_USAGE";
field public static final java.lang.String ACTION_MANAGE_PACKAGE_STORAGE = "android.intent.action.MANAGE_PACKAGE_STORAGE";
+ field public static final deprecated java.lang.String ACTION_MASTER_CLEAR = "android.intent.action.MASTER_CLEAR";
field public static final java.lang.String ACTION_MEDIA_BAD_REMOVAL = "android.intent.action.MEDIA_BAD_REMOVAL";
field public static final java.lang.String ACTION_MEDIA_BUTTON = "android.intent.action.MEDIA_BUTTON";
field public static final java.lang.String ACTION_MEDIA_CHECKING = "android.intent.action.MEDIA_CHECKING";
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 2485bb8..0da4f8d 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -3423,9 +3423,7 @@
public static final String EXTRA_SUBSCRIPTION_INDEX = "android.intent.extra.SUBSCRIPTION_INDEX";
/**
- * Deprecated - use {@link #ACTION_FACTORY_RESET} instead.
- *
- * {@hide}
+ * Deprecated - use ACTION_FACTORY_RESET instead.
*/
@Deprecated
public static final String ACTION_MASTER_CLEAR = "android.intent.action.MASTER_CLEAR";
diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp
index 3dc1be6..a38acd3 100644
--- a/core/jni/android/graphics/BitmapFactory.cpp
+++ b/core/jni/android/graphics/BitmapFactory.cpp
@@ -616,7 +616,7 @@
paint.setBlendMode(SkBlendMode::kSrc);
paint.setFilterQuality(kLow_SkFilterQuality); // bilinear filtering
- SkCanvas canvas(outputBitmap);
+ SkCanvas canvas(outputBitmap, SkCanvas::ColorBehavior::kLegacy);
canvas.scale(sx, sy);
canvas.drawBitmap(decodingBitmap, 0.0f, 0.0f, &paint);
} else {
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp
index ed6e522..d95acff 100644
--- a/libs/hwui/SkiaCanvas.cpp
+++ b/libs/hwui/SkiaCanvas.cpp
@@ -60,7 +60,8 @@
SkiaCanvas::SkiaCanvas(const SkBitmap& bitmap) {
sk_sp<SkColorSpace> cs = bitmap.refColorSpace();
- mCanvasOwned = std::unique_ptr<SkCanvas>(new SkCanvas(bitmap));
+ mCanvasOwned =
+ std::unique_ptr<SkCanvas>(new SkCanvas(bitmap, SkCanvas::ColorBehavior::kLegacy));
mCanvasWrapper = SkCreateColorSpaceXformCanvas(mCanvasOwned.get(),
cs == nullptr ? SkColorSpace::MakeSRGB() : std::move(cs));
mCanvas = mCanvasWrapper.get();
@@ -83,7 +84,8 @@
void SkiaCanvas::setBitmap(const SkBitmap& bitmap) {
sk_sp<SkColorSpace> cs = bitmap.refColorSpace();
- std::unique_ptr<SkCanvas> newCanvas = std::unique_ptr<SkCanvas>(new SkCanvas(bitmap));
+ std::unique_ptr<SkCanvas> newCanvas =
+ std::unique_ptr<SkCanvas>(new SkCanvas(bitmap, SkCanvas::ColorBehavior::kLegacy));
std::unique_ptr<SkCanvas> newCanvasWrapper = SkCreateColorSpaceXformCanvas(newCanvas.get(),
cs == nullptr ? SkColorSpace::MakeSRGB() : std::move(cs));
diff --git a/libs/hwui/tests/unit/SkiaCanvasTests.cpp b/libs/hwui/tests/unit/SkiaCanvasTests.cpp
index 0d1eba4..0aecb85 100644
--- a/libs/hwui/tests/unit/SkiaCanvasTests.cpp
+++ b/libs/hwui/tests/unit/SkiaCanvasTests.cpp
@@ -104,14 +104,20 @@
skBitmap.lockPixels();
ASSERT_EQ(0xFF0000FF, *skBitmap.getAddr32(0, 0));
+ // Create a software canvas with an Adobe color space.
+ SkiaCanvas adobeSkCanvas(adobeSkBitmap);
+ adobeSkCanvas.drawBitmap(*bitmap, 0, 0, nullptr);
+ // The result should be less than fully red, since we convert to Adobe RGB at draw time.
+ ASSERT_EQ(0xFF0000DC, *adobeSkBitmap.getAddr32(0, 0));
+
// Now try in kDefer mode. This is a little strange given that, in practice, all software
// canvases are kImmediate.
SkCanvas skCanvas(skBitmap);
SkiaCanvas deferCanvas(&skCanvas, Canvas::XformToSRGB::kDefer);
deferCanvas.drawBitmap(*adobeBitmap, 0, 0, nullptr);
- // The result should be as initialized, since we deferred the conversion to sRGB.
+ // The result should be as before, since we deferred the conversion to sRGB.
skBitmap.lockPixels();
- ASSERT_EQ(0xFF0000F0, *skBitmap.getAddr32(0, 0));
+ ASSERT_EQ(0xFF0000DC, *skBitmap.getAddr32(0, 0));
// Test picture recording. We will kDefer the xform at recording time, but handle it when
// we playback to the software canvas.
@@ -121,9 +127,9 @@
picCanvas.drawBitmap(*adobeBitmap, 0, 0, nullptr);
sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();
- // Playback to a deferred canvas. The result should be as initialized.
+ // Playback to a deferred canvas. The result should be as before.
deferCanvas.asSkCanvas()->drawPicture(picture);
- ASSERT_EQ(0xFF0000F0, *skBitmap.getAddr32(0, 0));
+ ASSERT_EQ(0xFF0000DC, *skBitmap.getAddr32(0, 0));
// Playback to an immediate canvas. The result should be fully red.
canvas.asSkCanvas()->drawPicture(picture);
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index 67b5282..0b1381e 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -586,7 +586,7 @@
}
viewState = new ViewState(this, id, value, this, ViewState.STATE_INITIAL);
mViewStates.put(id, viewState);
- } else if ((flags & FLAG_VIEW_ENTERED) != 0) {
+ } else if (mStructure != null && (flags & FLAG_VIEW_ENTERED) != 0) {
viewState = startPartitionLocked(id, value);
} else {
if (VERBOSE) Slog.v(TAG, "Ignored " + getFlagAsString(flags) + " for " + id);
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index c7f20b9f..f8a4d4b 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -658,7 +658,8 @@
// Must reparent first in window manager to avoid a situation where AM can delete the
// we are coming from in WM before we reparent because it became empty.
- mWindowContainerController.reparent(toStack.getWindowContainerController(), position);
+ mWindowContainerController.reparent(toStack.getWindowContainerController(), position,
+ moveStackMode == REPARENT_MOVE_STACK_TO_FRONT);
// Move the task
sourceStack.removeTask(this, reason, REMOVE_TASK_MODE_MOVING);
diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java
index 2fab288..c28fb67 100644
--- a/services/core/java/com/android/server/notification/ConditionProviders.java
+++ b/services/core/java/com/android/server/notification/ConditionProviders.java
@@ -251,7 +251,7 @@
public IConditionProvider findConditionProvider(ComponentName component) {
if (component == null) return null;
- for (ManagedServiceInfo service : mServices) {
+ for (ManagedServiceInfo service : getServices()) {
if (component.equals(service.component)) {
return provider(service);
}
diff --git a/services/core/java/com/android/server/notification/ManagedServices.java b/services/core/java/com/android/server/notification/ManagedServices.java
index 000cf2e..90e9b92 100644
--- a/services/core/java/com/android/server/notification/ManagedServices.java
+++ b/services/core/java/com/android/server/notification/ManagedServices.java
@@ -90,7 +90,7 @@
// contains connections to all connected services, including app services
// and system services
- protected final ArrayList<ManagedServiceInfo> mServices = new ArrayList<ManagedServiceInfo>();
+ private final ArrayList<ManagedServiceInfo> mServices = new ArrayList<ManagedServiceInfo>();
// things that will be put into mServices as soon as they're ready
private final ArrayList<String> mServicesBinding = new ArrayList<String>();
// lists the component names of all enabled (and therefore potentially connected)
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index f9dff3e..f334ba4 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -4783,7 +4783,7 @@
// There should be only one, but it's a list, so while we enforce
// singularity elsewhere, we keep it general here, to avoid surprises.
- for (final ManagedServiceInfo info : NotificationAssistants.this.mServices) {
+ for (final ManagedServiceInfo info : NotificationAssistants.this.getServices()) {
boolean sbnVisible = isVisibleToListener(sbn, info);
if (!sbnVisible) {
continue;
@@ -4819,7 +4819,7 @@
public void notifyAssistantSnoozedLocked(final StatusBarNotification sbn,
final String snoozeCriterionId) {
TrimCache trimCache = new TrimCache(sbn);
- for (final ManagedServiceInfo info : mServices) {
+ for (final ManagedServiceInfo info : getServices()) {
final StatusBarNotification sbnToPost = trimCache.ForListener(info);
mHandler.post(new Runnable() {
@Override
@@ -4840,7 +4840,7 @@
}
public boolean isEnabled() {
- return !mServices.isEmpty();
+ return !getServices().isEmpty();
}
}
@@ -4920,7 +4920,7 @@
// Lazily initialized snapshots of the notification.
TrimCache trimCache = new TrimCache(sbn);
- for (final ManagedServiceInfo info : mServices) {
+ for (final ManagedServiceInfo info : getServices()) {
boolean sbnVisible = isVisibleToListener(sbn, info);
boolean oldSbnVisible = oldSbn != null ? isVisibleToListener(oldSbn, info) : false;
// This notification hasn't been and still isn't visible -> ignore.
@@ -4959,7 +4959,7 @@
// NOTE: this copy is lightweight: it doesn't include heavyweight parts of the
// notification
final StatusBarNotification sbnLight = sbn.cloneLight();
- for (final ManagedServiceInfo info : mServices) {
+ for (final ManagedServiceInfo info : getServices()) {
if (!isVisibleToListener(sbn, info)) {
continue;
}
@@ -4977,7 +4977,7 @@
* asynchronously notify all listeners about a reordering of notifications
*/
public void notifyRankingUpdateLocked() {
- for (final ManagedServiceInfo serviceInfo : mServices) {
+ for (final ManagedServiceInfo serviceInfo : getServices()) {
if (!serviceInfo.isEnabledForCurrentProfiles()) {
continue;
}
@@ -4992,7 +4992,7 @@
}
public void notifyListenerHintsChangedLocked(final int hints) {
- for (final ManagedServiceInfo serviceInfo : mServices) {
+ for (final ManagedServiceInfo serviceInfo : getServices()) {
if (!serviceInfo.isEnabledForCurrentProfiles()) {
continue;
}
@@ -5006,7 +5006,7 @@
}
public void notifyInterruptionFilterChanged(final int interruptionFilter) {
- for (final ManagedServiceInfo serviceInfo : mServices) {
+ for (final ManagedServiceInfo serviceInfo : getServices()) {
if (!serviceInfo.isEnabledForCurrentProfiles()) {
continue;
}
@@ -5145,7 +5145,7 @@
}
// TODO: clean up locking object later
synchronized (mNotificationLock) {
- for (final ManagedServiceInfo serviceInfo : mServices) {
+ for (final ManagedServiceInfo serviceInfo : getServices()) {
if (packageName.equals(serviceInfo.component.getPackageName())) {
return true;
}
diff --git a/services/core/java/com/android/server/storage/DiskStatsLoggingService.java b/services/core/java/com/android/server/storage/DiskStatsLoggingService.java
index 1783dcc..4035ade 100644
--- a/services/core/java/com/android/server/storage/DiskStatsLoggingService.java
+++ b/services/core/java/com/android/server/storage/DiskStatsLoggingService.java
@@ -73,6 +73,7 @@
final int userId = UserHandle.myUserId();
UserEnvironment environment = new UserEnvironment(userId);
LogRunnable task = new LogRunnable();
+ task.setRootDirectory(environment.getExternalStorageDirectory());
task.setDownloadsDirectory(
environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS));
task.setSystemSize(FileCollector.getSystemSize(this));
@@ -126,10 +127,14 @@
private JobParameters mParams;
private AppCollector mCollector;
private File mOutputFile;
+ private File mRootDirectory;
private File mDownloadsDirectory;
- private Context mContext;
private long mSystemSize;
+ public void setRootDirectory(File file) {
+ mRootDirectory = file;
+ }
+
public void setDownloadsDirectory(File file) {
mDownloadsDirectory = file;
}
@@ -146,25 +151,14 @@
mSystemSize = size;
}
- public void setContext(Context context) {
- mContext = context;
- }
-
public void setJobService(JobService jobService, JobParameters params) {
mJobService = jobService;
mParams = params;
}
public void run() {
- FileCollector.MeasurementResult mainCategories;
- try {
- mainCategories = FileCollector.getMeasurementResult(mContext);
- } catch (IllegalStateException e) {
- // This can occur if installd has an issue.
- Log.e(TAG, "Error while measuring storage", e);
- finishJob(true);
- return;
- }
+ FileCollector.MeasurementResult mainCategories =
+ FileCollector.getMeasurementResult(mRootDirectory);
FileCollector.MeasurementResult downloads =
FileCollector.getMeasurementResult(mDownloadsDirectory);
@@ -174,10 +168,12 @@
needsReschedule = false;
logToFile(mainCategories, downloads, stats, mSystemSize);
} else {
- Log.w(TAG, "Timed out while fetching package stats.");
+ Log.w("TAG", "Timed out while fetching package stats.");
}
- finishJob(needsReschedule);
+ if (mJobService != null) {
+ mJobService.jobFinished(mParams, needsReschedule);
+ }
}
private void logToFile(MeasurementResult mainCategories, MeasurementResult downloads,
@@ -191,11 +187,5 @@
Log.e(TAG, "Exception while writing opportunistic disk file cache.", e);
}
}
-
- private void finishJob(boolean needsReschedule) {
- if (mJobService != null) {
- mJobService.jobFinished(mParams, needsReschedule);
- }
- }
}
}
\ No newline at end of file
diff --git a/services/core/java/com/android/server/storage/FileCollector.java b/services/core/java/com/android/server/storage/FileCollector.java
index 04f25a4..90f9f139 100644
--- a/services/core/java/com/android/server/storage/FileCollector.java
+++ b/services/core/java/com/android/server/storage/FileCollector.java
@@ -17,11 +17,8 @@
package com.android.server.storage;
import android.annotation.IntDef;
-import android.app.usage.ExternalStorageStats;
-import android.app.usage.StorageStatsManager;
import android.content.Context;
import android.content.pm.PackageManager;
-import android.os.UserHandle;
import android.os.storage.StorageManager;
import android.os.storage.VolumeInfo;
import android.util.ArrayMap;
@@ -157,29 +154,8 @@
}
/**
- * Returns the file categorization result for the primary internal storage UUID.
- *
- * @param context
- */
- public static MeasurementResult getMeasurementResult(Context context) {
- MeasurementResult result = new MeasurementResult();
- StorageStatsManager ssm =
- (StorageStatsManager) context.getSystemService(Context.STORAGE_STATS_SERVICE);
- ExternalStorageStats stats =
- ssm.queryExternalStatsForUser(
- StorageManager.UUID_PRIVATE_INTERNAL, UserHandle.of(context.getUserId()));
- result.imagesSize = stats.getImageBytes();
- result.videosSize = stats.getVideoBytes();
- result.audioSize = stats.getAudioBytes();
- result.miscSize =
- stats.getTotalBytes() - result.imagesSize - result.videosSize - result.audioSize;
- return result;
- }
-
- /**
* Returns the size of a system for a given context. This is done by finding the difference
* between the shared data and the total primary storage size.
- *
* @param context Context to use to get storage information.
*/
public static long getSystemSize(Context context) {
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 5c46ca9..4262d12 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -184,7 +184,7 @@
super.removeImmediately();
}
- void reparent(TaskStack stack, int position) {
+ void reparent(TaskStack stack, int position, boolean moveParents) {
if (stack == mStack) {
throw new IllegalArgumentException(
"task=" + this + " already child of stack=" + mStack);
@@ -195,7 +195,7 @@
final DisplayContent prevDisplayContent = getDisplayContent();
getParent().removeChild(this);
- stack.addTask(this, position, showForAllUsers(), false /* moveParents */);
+ stack.addTask(this, position, showForAllUsers(), moveParents);
// Relayout display(s).
final DisplayContent displayContent = stack.getDisplayContent();
diff --git a/services/core/java/com/android/server/wm/TaskWindowContainerController.java b/services/core/java/com/android/server/wm/TaskWindowContainerController.java
index efc2e11..9f02485 100644
--- a/services/core/java/com/android/server/wm/TaskWindowContainerController.java
+++ b/services/core/java/com/android/server/wm/TaskWindowContainerController.java
@@ -121,7 +121,7 @@
}
}
- public void reparent(StackWindowController stackController, int position) {
+ public void reparent(StackWindowController stackController, int position, boolean moveParents) {
synchronized (mWindowMap) {
if (DEBUG_STACK) Slog.i(TAG_WM, "reparent: moving taskId=" + mTaskId
+ " to stack=" + stackController + " at " + position);
@@ -135,7 +135,7 @@
throw new IllegalArgumentException("reparent: could not find stack="
+ stackController);
}
- mContainer.reparent(stack, position);
+ mContainer.reparent(stack, position, moveParents);
mContainer.getDisplayContent().layoutAndAssignWindowLayersIfNeeded();
}
}
diff --git a/services/tests/servicestests/src/com/android/server/storage/DiskStatsLoggingServiceTest.java b/services/tests/servicestests/src/com/android/server/storage/DiskStatsLoggingServiceTest.java
index 81ce606..3789086 100644
--- a/services/tests/servicestests/src/com/android/server/storage/DiskStatsLoggingServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/storage/DiskStatsLoggingServiceTest.java
@@ -20,18 +20,15 @@
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.isNull;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.job.JobService;
-import android.app.usage.ExternalStorageStats;
-import android.app.usage.StorageStatsManager;
+import android.app.job.JobParameters;
import android.content.pm.PackageStats;
-import android.os.UserHandle;
import android.test.AndroidTestCase;
-import android.util.Log;
import com.android.server.storage.DiskStatsLoggingService.LogRunnable;
@@ -55,10 +52,8 @@
public class DiskStatsLoggingServiceTest extends AndroidTestCase {
@Rule public TemporaryFolder mTemporaryFolder;
@Rule public TemporaryFolder mDownloads;
+ @Rule public TemporaryFolder mRootDirectory;
@Mock private AppCollector mCollector;
- @Mock private JobService mJobService;
- @Mock private StorageStatsManager mSsm;
- private ExternalStorageStats mStorageStats;
private File mInputFile;
@@ -71,10 +66,8 @@
mInputFile = mTemporaryFolder.newFile();
mDownloads = new TemporaryFolder();
mDownloads.create();
- mStorageStats = new ExternalStorageStats();
- when(mSsm.queryExternalStatsForUser(isNull(String.class), any(UserHandle.class)))
- .thenReturn(mStorageStats);
- when(mJobService.getSystemService(anyString())).thenReturn(mSsm);
+ mRootDirectory = new TemporaryFolder();
+ mRootDirectory.create();
}
@Test
@@ -82,9 +75,9 @@
LogRunnable task = new LogRunnable();
task.setAppCollector(mCollector);
task.setDownloadsDirectory(mDownloads.getRoot());
+ task.setRootDirectory(mRootDirectory.getRoot());
task.setLogOutputFile(mInputFile);
task.setSystemSize(0L);
- task.setContext(mJobService);
task.run();
JSONObject json = getJsonOutput();
@@ -106,10 +99,10 @@
public void testPopulatedLogTask() throws Exception {
// Write data to directories.
writeDataToFile(mDownloads.newFile(), "lol");
- mStorageStats.audioBytes = 6L;
- mStorageStats.imageBytes = 4L;
- mStorageStats.videoBytes = 5L;
- mStorageStats.totalBytes = 22L;
+ writeDataToFile(mRootDirectory.newFile("test.jpg"), "1234");
+ writeDataToFile(mRootDirectory.newFile("test.mp4"), "12345");
+ writeDataToFile(mRootDirectory.newFile("test.mp3"), "123456");
+ writeDataToFile(mRootDirectory.newFile("test.whatever"), "1234567");
// Write apps.
ArrayList<PackageStats> apps = new ArrayList<>();
@@ -117,16 +110,15 @@
testApp.dataSize = 5L;
testApp.cacheSize = 55L;
testApp.codeSize = 10L;
- testApp.userHandle = UserHandle.USER_SYSTEM;
apps.add(testApp);
- when(mCollector.getPackageStats(anyLong())).thenReturn(apps);
+ when(mCollector.getPackageStats(anyInt())).thenReturn(apps);
LogRunnable task = new LogRunnable();
task.setAppCollector(mCollector);
task.setDownloadsDirectory(mDownloads.getRoot());
+ task.setRootDirectory(mRootDirectory.getRoot());
task.setLogOutputFile(mInputFile);
task.setSystemSize(10L);
- task.setContext(mJobService);
task.run();
JSONObject json = getJsonOutput();
@@ -151,9 +143,9 @@
LogRunnable task = new LogRunnable();
task.setAppCollector(mCollector);
task.setDownloadsDirectory(mDownloads.getRoot());
+ task.setRootDirectory(mRootDirectory.getRoot());
task.setLogOutputFile(mInputFile);
task.setSystemSize(10L);
- task.setContext(mJobService);
task.run();
// No exception should be thrown.
diff --git a/services/tests/servicestests/src/com/android/server/wm/TaskWindowContainerControllerTests.java b/services/tests/servicestests/src/com/android/server/wm/TaskWindowContainerControllerTests.java
index 1819c56..98d20a2 100644
--- a/services/tests/servicestests/src/com/android/server/wm/TaskWindowContainerControllerTests.java
+++ b/services/tests/servicestests/src/com/android/server/wm/TaskWindowContainerControllerTests.java
@@ -89,7 +89,7 @@
boolean gotException = false;
try {
- taskController.reparent(stackController1, 0);
+ taskController.reparent(stackController1, 0, false/* moveParents */);
} catch (IllegalArgumentException e) {
gotException = true;
}
@@ -100,14 +100,14 @@
stackController3.setContainer(null);
gotException = false;
try {
- taskController.reparent(stackController3, 0);
+ taskController.reparent(stackController3, 0, false/* moveParents */);
} catch (IllegalArgumentException e) {
gotException = true;
}
assertTrue("Should not be able to reparent to a stack that doesn't have a container",
gotException);
- taskController.reparent(stackController2, 0);
+ taskController.reparent(stackController2, 0, false/* moveParents */);
assertEquals(stackController2.mContainer, taskController.mContainer.getParent());
assertEquals(0, ((WindowTestUtils.TestTask) taskController.mContainer).positionInParent());
assertEquals(1, ((WindowTestUtils.TestTask) taskController2.mContainer).positionInParent());
@@ -135,7 +135,7 @@
(WindowTestUtils.TestTask) taskController2.mContainer;
// Reparent and check state
- taskController.reparent(stack2Controller, 0);
+ taskController.reparent(stack2Controller, 0, false /* moveParents */);
assertEquals(stack2, task1.getParent());
assertEquals(0, task1.positionInParent());
assertEquals(1, task2.positionInParent());