@Test @Config(minSdk = LOLLIPOP) public void reset_shouldClearEmulatedFiles() { final File file = new File("foo"); ShadowEnvironment.setExternalStorageEmulated(file, true); assertThat(Environment.isExternalStorageEmulated(file)).isTrue(); ShadowEnvironment.reset(); assertThat(Environment.isExternalStorageEmulated(file)).isFalse(); }
@Implementation protected static boolean isExternalStorageRemovable() { final Boolean exists = STORAGE_REMOVABLE.get(getExternalStorageDirectory()); return exists != null ? exists : false; }
@Implementation protected static File getExternalStoragePublicDirectory(String type) { if (!exists(EXTERNAL_FILES_DIR)) EXTERNAL_FILES_DIR = RuntimeEnvironment.getTempDirectory().create("external-files"); if (type == null) return EXTERNAL_FILES_DIR.toFile(); Path path = EXTERNAL_FILES_DIR.resolve(type); try { Files.createDirectories(path); } catch (IOException e) { throw new RuntimeException(e); } return path.toFile(); }
@Test @Config(minSdk = KITKAT, maxSdk = LOLLIPOP) public void getExternalStorageStatePreLollipopMR1() throws Exception { File storageDir1 = ShadowEnvironment.addExternalDir("dir1"); File storageDir2 = ShadowEnvironment.addExternalDir("dir2"); ShadowEnvironment.setExternalStorageState(storageDir1, Environment.MEDIA_MOUNTED); ShadowEnvironment.setExternalStorageState(storageDir2, Environment.MEDIA_REMOVED); ShadowEnvironment.setExternalStorageState("blah"); assertThat(ShadowEnvironment.getStorageState(storageDir1)) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getStorageState(storageDir2)) .isEqualTo(Environment.MEDIA_REMOVED); assertThat(ShadowEnvironment.getStorageState(new File(storageDir1, "subpath"))) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getExternalStorageState()).isEqualTo("blah"); }
@Test @Config(sdk = JELLY_BEAN_MR1) public void getExternalStorageStateJB() throws Exception { ShadowEnvironment.setExternalStorageState("blah"); assertThat(ShadowEnvironment.getExternalStorageState()).isEqualTo("blah"); }
if (org.robolectric.RuntimeEnvironment.getApiLevel() >= 17) ShadowDisplayManagerGlobal.reset(); ShadowDrawable.clearCorruptStreamSources(); ShadowEnvironment.reset(); ShadowEventLog.clearAll(); ShadowGeocoder.reset();
@Test @Config(minSdk = LOLLIPOP) public void reset_shouldClearRemovableFiles() { final File file = new File("foo"); ShadowEnvironment.setExternalStorageRemovable(file, true); assertThat(Environment.isExternalStorageRemovable(file)).isTrue(); ShadowEnvironment.reset(); assertThat(Environment.isExternalStorageRemovable(file)).isFalse(); }
@Test public void isExternalStorageEmulatedNoArg_shouldReturnSavedValue() { ShadowEnvironment.setIsExternalStorageEmulated(true); assertThat(Environment.isExternalStorageEmulated()).isTrue(); ShadowEnvironment.reset(); assertThat(Environment.isExternalStorageEmulated()).isFalse(); }
@After public void tearDown() throws Exception { ShadowEnvironment.setExternalStorageState(Environment.MEDIA_REMOVED); }
@Ignore @Test @Config(minSdk = KITKAT) public void getExternalFilesDirs() throws Exception { ShadowEnvironment.addExternalDir("external_dir_1"); ShadowEnvironment.addExternalDir("external_dir_2"); File[] externalFilesDirs = ApplicationProvider.getApplicationContext() .getExternalFilesDirs(Environment.DIRECTORY_MOVIES); assertThat(externalFilesDirs).isNotEmpty(); assertThat(externalFilesDirs[0].getCanonicalPath()).contains("external_dir_1"); assertThat(externalFilesDirs[1].getCanonicalPath()).contains("external_dir_2"); // TODO(jongerrish): This fails because ShadowContext overwrites getExternalFilesDir. // assertThat(RuntimeEnvironment.application.getExternalFilesDir(Environment.DIRECTORY_MOVIES) // .getCanonicalPath()).contains("external_dir_1"); }
@Before public void before() { ShadowEnvironment.reset(); contextUtil = new AndroidContextUtil(); }
@Test @Config(minSdk = LOLLIPOP_MR1) public void getExternalStorageState() throws Exception { File storageDir1 = ShadowEnvironment.addExternalDir("dir1"); File storageDir2 = ShadowEnvironment.addExternalDir("dir2"); ShadowEnvironment.setExternalStorageState(storageDir1, Environment.MEDIA_MOUNTED); ShadowEnvironment.setExternalStorageState(storageDir2, Environment.MEDIA_REMOVED); ShadowEnvironment.setExternalStorageState("blah"); assertThat(ShadowEnvironment.getExternalStorageState(storageDir1)) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getStorageState(storageDir1)) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getExternalStorageState(storageDir2)) .isEqualTo(Environment.MEDIA_REMOVED); assertThat(ShadowEnvironment.getStorageState(storageDir2)) .isEqualTo(Environment.MEDIA_REMOVED); assertThat(ShadowEnvironment.getExternalStorageState(new File(storageDir1, "subpath"))) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getStorageState(new File(storageDir1, "subpath"))) .isEqualTo(Environment.MEDIA_MOUNTED); assertThat(ShadowEnvironment.getExternalStorageState()).isEqualTo("blah"); }
@Test public void getExternalStorageState_shouldReturnStorageState() { assertThat(Environment.getExternalStorageState()).isEqualTo(Environment.MEDIA_REMOVED); ShadowEnvironment.setExternalStorageState(Environment.MEDIA_MOUNTED); assertThat(Environment.getExternalStorageState()).isEqualTo(Environment.MEDIA_MOUNTED); }
public void reset() { ShadowAccountManager.reset(); ShadowAudioEffect.reset(); ShadowBackgroundThread.reset(); ShadowBinder.reset(); ShadowBitmapFactory.reset(); ShadowChoreographer.reset(); ShadowContentResolver.reset(); ShadowCookieManager.resetCookies(); ShadowDialog.reset(); ShadowDrawable.clearCorruptStreamSources(); ShadowEnvironment.reset(); ShadowLog.reset(); ShadowLooper.resetThreadLoopers(); ShadowMediaMetadataRetriever.reset(); ShadowMediaPlayer.resetStaticState(); ShadowMessage.reset(); ShadowMimeTypeMap.reset(); ShadowPendingIntent.reset(); ShadowPowerManager.reset(); ShadowProcess.reset(); ShadowRenderNodeAnimator.reset(); ShadowResourceManager.reset(); ShadowResources.reset(); ShadowSQLiteConnection.reset(); ShadowStatFs.reset(); ShadowTypeface.reset(); ShadowValueAnimator.reset(); }
@Implementation public static boolean isExternalStorageRemovable() { final Boolean exists = STORAGE_REMOVABLE.get(getExternalStorageDirectory()); return exists != null ? exists : false; }
@Implementation protected static File getExternalStorageDirectory() { if (!exists(EXTERNAL_CACHE_DIR)) EXTERNAL_CACHE_DIR = RuntimeEnvironment.getTempDirectory().create("external-cache"); return EXTERNAL_CACHE_DIR.toFile(); }
@Test public void getMountedExternalStorageDirectoryPathReturnsNullWhenUnmountable() { ShadowEnvironment.setExternalStorageState(Environment.MEDIA_UNMOUNTABLE); assertThat(contextUtil.getMountedExternalStorageDirectoryPath(), is(nullValue())); }
ShadowDialog.reset(); ShadowDrawable.clearCorruptStreamSources(); ShadowEnvironment.reset(); ShadowLog.reset(); ShadowLooper.resetThreadLoopers();
@Implementation public static boolean isExternalStorageRemovable() { final Boolean exists = STORAGE_REMOVABLE.get(getExternalStorageDirectory()); return exists != null ? exists : false; }
@Implementation public static File getExternalStoragePublicDirectory(String type) { if (!exists(EXTERNAL_FILES_DIR)) EXTERNAL_FILES_DIR = TempDirectory.create(); if (type == null) return EXTERNAL_FILES_DIR.toFile(); Path path = EXTERNAL_FILES_DIR.resolve(type); try { Files.createDirectories(path); } catch (IOException e) { throw new RuntimeException(e); } return path.toFile(); }