aboutsummaryrefslogtreecommitdiff
path: root/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowContext.java')
-rw-r--r--v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowContext.java177
1 files changed, 0 insertions, 177 deletions
diff --git a/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowContext.java b/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowContext.java
deleted file mode 100644
index 23a978903..000000000
--- a/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowContext.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package com.xtremelabs.robolectric.shadows;
-
-import android.app.Application;
-import android.content.Context;
-import android.content.res.Resources;
-import android.content.res.TypedArray;
-import android.util.AttributeSet;
-import com.xtremelabs.robolectric.internal.Implementation;
-import com.xtremelabs.robolectric.internal.Implements;
-import com.xtremelabs.robolectric.internal.RealObject;
-import com.xtremelabs.robolectric.res.ResourceLoader;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import static com.xtremelabs.robolectric.Robolectric.shadowOf;
-
-/**
- * Calls through to the {@code resourceLoader} to actually load resources.
- */
-@SuppressWarnings({"UnusedDeclaration"})
-@Implements(Context.class)
-abstract public class ShadowContext {
- public static final File CACHE_DIR = createTempDir("android-cache");
- public static final File EXTERNAL_CACHE_DIR = createTempDir("android-external-cache");
- public static final File FILES_DIR = createTempDir("android-tmp");
- public static final File EXTERNAL_FILES_DIR = createTempDir("android-external-files");
-
- @RealObject private Context realContext;
-
- @Implementation
- public File getDir(String name, int mode) {
- // TODO: honor operating mode.
- File file = new File(FILES_DIR, name);
- if (!file.exists()) {
- file.mkdir();
- }
- return file;
- }
-
- @Implementation
- public String getString(int resId) {
- return realContext.getResources().getString(resId);
- }
-
- @Implementation
- public CharSequence getText(int resId) {
- return realContext.getResources().getText(resId);
- }
-
- @Implementation
- public String getString(int resId, Object... formatArgs) {
- return realContext.getResources().getString(resId, formatArgs);
- }
-
- @Implementation
- abstract public Resources.Theme getTheme();
-
- @Implementation
- public final TypedArray obtainStyledAttributes(
- int[] attrs) {
- return getTheme().obtainStyledAttributes(attrs);
- }
-
- @Implementation
- public final TypedArray obtainStyledAttributes(
- int resid, int[] attrs) throws Resources.NotFoundException {
- return getTheme().obtainStyledAttributes(resid, attrs);
- }
-
- @Implementation
- public final TypedArray obtainStyledAttributes(
- AttributeSet set, int[] attrs) {
- return getTheme().obtainStyledAttributes(set, attrs, 0, 0);
- }
-
- @Implementation
- public final TypedArray obtainStyledAttributes(
- AttributeSet set, int[] attrs, int defStyleAttr, int defStyleRes) {
- return getTheme().obtainStyledAttributes(
- set, attrs, defStyleAttr, defStyleRes);
- }
-
- @Implementation
- public File getCacheDir() {
- CACHE_DIR.mkdirs();
- return CACHE_DIR;
- }
-
- @Implementation
- public File getFilesDir() {
- FILES_DIR.mkdirs();
- return FILES_DIR;
- }
-
- @Implementation
- public File getExternalCacheDir() {
- EXTERNAL_CACHE_DIR.mkdir();
- return EXTERNAL_CACHE_DIR;
- }
-
- @Implementation
- public File getExternalFilesDir(String type) {
- File f = (type == null) ? EXTERNAL_FILES_DIR : new File( EXTERNAL_FILES_DIR, type );
- f.mkdirs();
- return f;
- }
-
- @Implementation
- public FileInputStream openFileInput(String path) throws FileNotFoundException {
- return new FileInputStream(getFileStreamPath(path));
- }
-
- @Implementation
- public FileOutputStream openFileOutput(String path, int mode) throws FileNotFoundException {
- return new FileOutputStream(getFileStreamPath(path));
- }
-
- @Implementation
- public File getFileStreamPath(String name) {
- if (name.contains(File.separator)) {
- throw new IllegalArgumentException("File " + name + " contains a path separator");
- }
- return new File(getFilesDir(), name);
- }
-
- @Implementation
- public boolean deleteFile(String name) {
- return getFileStreamPath(name).delete();
- }
-
- /**
- * Non-Android accessor.
- *
- * @return the {@code ResourceLoader} associated with this {@code Context}
- */
- public ResourceLoader getResourceLoader() {
- return shadowOf((Application) realContext.getApplicationContext()).getResourceLoader();
- }
-
- public static void clearFilesAndCache() {
- clearFiles(FILES_DIR);
- clearFiles(CACHE_DIR);
- clearFiles(EXTERNAL_CACHE_DIR);
- clearFiles(EXTERNAL_FILES_DIR);
- }
-
- public static void clearFiles(File dir) {
- if (dir != null && dir.isDirectory()) {
- File[] files = dir.listFiles();
- if (files != null) {
- for (File f : files) {
- if (f.isDirectory()) {
- clearFiles(f);
- }
- f.delete();
- }
- }
- }
- }
-
- private static File createTempDir(String name) {
- try {
- File tmp = File.createTempFile(name, "robolectric");
- if (!tmp.delete()) throw new IOException("could not delete "+tmp);
- if (!tmp.mkdirs()) throw new IOException("could not create "+tmp);
- tmp.deleteOnExit();
-
- return tmp;
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-}