Index: chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockContextForLayout.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockContextForLayout.java b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockContextForLayout.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e2cfe5c4b5e52d3e4cc662f864e759f55bfb3984 |
--- /dev/null |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockContextForLayout.java |
@@ -0,0 +1,70 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.compositor.layouts; |
+ |
+import android.content.Context; |
+import android.content.pm.ApplicationInfo; |
+import android.content.pm.PackageManager; |
+import android.content.res.Resources; |
+import android.os.Looper; |
+import android.test.mock.MockContext; |
+import android.test.mock.MockResources; |
+ |
+/** |
+ * This is the minimal {@link Context} needed by the {@link LayoutManager} to be working properly. |
+ * It points to a {@link MockResources} for anything that is based on xml configurations. For |
+ * everything else the standard provided Context should be sufficient. |
+ */ |
+public class MockContextForLayout extends MockContext { |
+ private final Context mValidContext; |
+ private final MockResourcesForLayout mResources; |
+ private final Resources.Theme mTheme; |
+ |
+ public MockContextForLayout(Context validContext) { |
+ mValidContext = validContext; |
+ mResources = new MockResourcesForLayout(validContext.getResources()); |
+ mTheme = mResources.newTheme(); |
+ } |
+ |
+ @Override |
+ public Resources getResources() { |
+ return mResources; |
+ } |
+ |
+ @Override |
+ public ApplicationInfo getApplicationInfo() { |
+ return mValidContext.getApplicationInfo(); |
+ } |
+ |
+ @Override |
+ public Object getSystemService(String name) { |
+ return mValidContext.getSystemService(name); |
+ } |
+ |
+ @Override |
+ public PackageManager getPackageManager() { |
+ return mValidContext.getPackageManager(); |
+ } |
+ |
+ @Override |
+ public Context getApplicationContext() { |
+ return this; |
+ } |
+ |
+ @Override |
+ public int checkCallingOrSelfPermission(String permission) { |
+ return mValidContext.checkCallingOrSelfPermission(permission); |
+ } |
+ |
+ @Override |
+ public Looper getMainLooper() { |
+ return mValidContext.getMainLooper(); |
+ } |
+ |
+ @Override |
+ public Resources.Theme getTheme() { |
+ return mTheme; |
+ } |
+} |