Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 241fc72b authored by Kenny Root's avatar Kenny Root Committed by Android (Google) Code Review
Browse files

Merge "Don't cache return of getService in Environment" into honeycomb

parents b4f655d5 b2278dc1
Loading
Loading
Loading
Loading
+11 −10
Original line number Diff line number Diff line
@@ -20,22 +20,19 @@ import java.io.File;

import android.content.res.Resources;
import android.os.storage.IMountService;
import android.util.Log;

/**
 * Provides access to environment variables.
 */
public class Environment {
    private static final String TAG = "Environment";

    private static final File ROOT_DIRECTORY
            = getDirectory("ANDROID_ROOT", "/system");

    private static final String SYSTEM_PROPERTY_EFS_ENABLED = "persist.security.efs.enabled";

    private static class MountServiceHolder {
        static IMountService mSingleton = IMountService.Stub.asInterface(ServiceManager
                .getService("mount"));
    }

    private static final Object mLock = new Object();

    private volatile static Boolean mIsExternalStorageEmulated = null;
@@ -401,7 +398,9 @@ public class Environment {
     */
    public static String getExternalStorageState() {
        try {
            return MountServiceHolder.mSingleton.getVolumeState(getExternalStorageDirectory()
            IMountService mountService = IMountService.Stub.asInterface(ServiceManager
                    .getService("mount"));
            return mountService.getVolumeState(getExternalStorageDirectory()
                    .toString());
        } catch (Exception rex) {
            return Environment.MEDIA_REMOVED;
@@ -433,12 +432,14 @@ public class Environment {
                if (mIsExternalStorageEmulated == null) {
                    boolean externalStorageEmulated;
                    try {
                        externalStorageEmulated =
                                MountServiceHolder.mSingleton.isExternalStorageEmulated();
                        IMountService mountService = IMountService.Stub.asInterface(ServiceManager
                                .getService("mount"));
                        externalStorageEmulated = mountService.isExternalStorageEmulated();
                        mIsExternalStorageEmulated = Boolean.valueOf(externalStorageEmulated);
                    } catch (Exception e) {
                        externalStorageEmulated = false;
                        Log.e(TAG, "couldn't talk to MountService", e);
                        return false;
                    }
                    mIsExternalStorageEmulated = Boolean.valueOf(externalStorageEmulated);
                }
            }
        }