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

Commit ca2a6374 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android (Google) Code Review
Browse files

Merge "Environment should only warn when asked." into jb-mr2-dev

parents 12a7f76c 48749fc7
Loading
Loading
Loading
Loading
+19 −12
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ public class Environment {
    private static final String SYSTEM_PROPERTY_EFS_ENABLED = "persist.security.efs.enabled";

    private static UserEnvironment sCurrentUser;
    private static boolean sUserRequired;

    private static final Object sLock = new Object();

@@ -223,7 +224,7 @@ public class Environment {
     * @hide
     */
    public static File getMediaStorageDirectory() {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getMediaStorageDirectory();
    }

@@ -318,7 +319,7 @@ public class Environment {
     * @see #isExternalStorageRemovable()
     */
    public static File getExternalStorageDirectory() {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getExternalStorageDirectory();
    }

@@ -465,7 +466,7 @@ public class Environment {
     * using it such as with {@link File#mkdirs File.mkdirs()}.
     */
    public static File getExternalStoragePublicDirectory(String type) {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getExternalStoragePublicDirectory(type);
    }

@@ -474,7 +475,7 @@ public class Environment {
     * @hide
     */
    public static File getExternalStorageAndroidDataDir() {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getExternalStorageAndroidDataDir();
    }
    
@@ -483,7 +484,7 @@ public class Environment {
     * @hide
     */
    public static File getExternalStorageAppDataDirectory(String packageName) {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getExternalStorageAppDataDirectory(packageName);
    }
    
@@ -492,7 +493,7 @@ public class Environment {
     * @hide
     */
    public static File getExternalStorageAppMediaDirectory(String packageName) {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getExternalStorageAppMediaDirectory(packageName);
    }
    
@@ -501,7 +502,7 @@ public class Environment {
     * @hide
     */
    public static File getExternalStorageAppObbDirectory(String packageName) {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getExternalStorageAppObbDirectory(packageName);
    }
    
@@ -510,7 +511,7 @@ public class Environment {
     * @hide
     */
    public static File getExternalStorageAppFilesDirectory(String packageName) {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getExternalStorageAppFilesDirectory(packageName);
    }

@@ -519,7 +520,7 @@ public class Environment {
     * @hide
     */
    public static File getExternalStorageAppCacheDirectory(String packageName) {
        throwIfSystem();
        throwIfUserRequired();
        return sCurrentUser.getExternalStorageAppCacheDirectory(packageName);
    }
    
@@ -650,9 +651,15 @@ public class Environment {
        }
    }

    private static void throwIfSystem() {
        if (Process.myUid() == Process.SYSTEM_UID) {
            Log.wtf(TAG, "Static storage paths aren't available from AID_SYSTEM", new Throwable());
    /** {@hide} */
    public static void setUserRequired(boolean userRequired) {
        sUserRequired = userRequired;
    }

    private static void throwIfUserRequired() {
        if (sUserRequired) {
            Log.wtf(TAG, "Path requests must specify a user by using UserEnvironment",
                    new Throwable());
        }
    }

+3 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.content.pm.IPackageManager;
import android.content.res.Configuration;
import android.media.AudioService;
import android.net.wifi.p2p.WifiP2pService;
import android.os.Environment;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
@@ -1055,6 +1056,8 @@ public class SystemServer {
        // as efficient as possible with its memory usage.
        VMRuntime.getRuntime().setTargetHeapUtilization(0.8f);

        Environment.setUserRequired(true);

        System.loadLibrary("android_servers");
        init1(args);
    }