OSDN Git Service

Remove dependency on internal FileUtils class
authorPaul Duffin <paulduffin@google.com>
Wed, 10 May 2017 14:05:24 +0000 (15:05 +0100)
committerPaul Duffin <paulduffin@google.com>
Thu, 11 May 2017 11:42:33 +0000 (12:42 +0100)
In preparation for building android.legacy.test library against
the test API this removes a dependency on internal classes.

Bug: 30188076
Test: make checkbuild cts-tradefed run cts -m CtsContentTestCases -t android.content.cts.SyncStorageEngineTest
Change-Id: I4c0e7fdd368e96459c8404ff7cea8738683d0ec1

test-runner/src/android/test/RenamingDelegatingContext.java

index 2301a78..fd33321 100644 (file)
@@ -21,13 +21,18 @@ import android.content.ContextWrapper;
 import android.content.ContentProvider;
 import android.database.DatabaseErrorHandler;
 import android.database.sqlite.SQLiteDatabase;
-import android.os.FileUtils;
 import android.util.Log;
 
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.nio.file.attribute.PosixFilePermission;
+import java.nio.file.attribute.PosixFilePermissions;
+import java.util.EnumSet;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -236,10 +241,14 @@ public class RenamingDelegatingContext extends ContextWrapper {
                     Log.w("RenamingDelegatingContext", "Unable to create cache directory");
                     return null;
                 }
-                FileUtils.setPermissions(
-                        mCacheDir.getPath(),
-                        FileUtils.S_IRWXU|FileUtils.S_IRWXG|FileUtils.S_IXOTH,
-                        -1, -1);
+                try {
+                    // Give the directory all possible permissions.
+                    Files.setPosixFilePermissions(mCacheDir.toPath(),
+                            EnumSet.allOf(PosixFilePermission.class));
+                } catch (IOException e) {
+                    Log.e("RenamingDelegatingContext",
+                            "Could not set permissions of test cacheDir", e);
+                }
             }
         }
         return mCacheDir;