1 package com.xtremelabs.robolectric.shadows; 2 3 import java.io.File; 4 5 import android.os.Environment; 6 import com.xtremelabs.robolectric.internal.Implementation; 7 import com.xtremelabs.robolectric.internal.Implements; 8 9 @Implements(Environment.class) 10 public class ShadowEnvironment { 11 12 private static final String MEDIA_REMOVED = "removed"; 13 14 private static String externalStorageState = MEDIA_REMOVED; 15 16 @Implementation getExternalStorageState()17 public static String getExternalStorageState() { 18 return externalStorageState; 19 } 20 setExternalStorageState(String externalStorageState)21 public static void setExternalStorageState(String externalStorageState) { 22 ShadowEnvironment.externalStorageState = externalStorageState; 23 } 24 25 @Implementation getExternalStorageDirectory()26 public static File getExternalStorageDirectory() { 27 ShadowContext.EXTERNAL_CACHE_DIR.mkdirs(); 28 return ShadowContext.EXTERNAL_CACHE_DIR; 29 } 30 31 @Implementation getExternalStoragePublicDirectory(String type)32 public static File getExternalStoragePublicDirectory(String type) { 33 File f = (type == null) ? ShadowContext.EXTERNAL_FILES_DIR : new File( ShadowContext.EXTERNAL_FILES_DIR, type ); 34 f.mkdirs(); 35 return f; 36 } 37 } 38