@@ -6334,7 +6334,8 @@ public void handleStartCopy() throws RemoteException {
63346334 packageFile = mTempPackage ;
63356335
63366336 FileUtils .setPermissions (packageFile .getAbsolutePath (),
6337- FileUtils .S_IRUSR | FileUtils .S_IWUSR | FileUtils .S_IROTH ,
6337+ FileUtils .S_IRUSR | FileUtils .S_IWUSR | FileUtils .S_IRGRP
6338+ | FileUtils .S_IROTH ,
63386339 -1 , -1 );
63396340 } else {
63406341 packageFile = null ;
@@ -6515,12 +6516,12 @@ void handleReturnCode() {
65156516 // will succeed.
65166517 if (mArgs != null ) {
65176518 processPendingInstall (mArgs , mRet );
6518- }
65196519
6520- if (mTempPackage != null ) {
6521- if (!mTempPackage .delete ()) {
6522- Slog .w (TAG , "Couldn't delete temporary file: "
6523- + mTempPackage .getAbsolutePath ());
6520+ if (mTempPackage != null ) {
6521+ if (!mTempPackage .delete ()) {
6522+ Slog .w (TAG , "Couldn't delete temporary file: " +
6523+ mTempPackage .getAbsolutePath ());
6524+ }
65246525 }
65256526 }
65266527 }
@@ -7942,17 +7943,23 @@ private int packageFlagsToInstallFlags(PackageSetting ps) {
79427943 }
79437944
79447945 private void deleteTempPackageFiles () {
7945- FilenameFilter filter = new FilenameFilter () {
7946+ final FilenameFilter filter = new FilenameFilter () {
79467947 public boolean accept (File dir , String name ) {
79477948 return name .startsWith ("vmdl" ) && name .endsWith (".tmp" );
79487949 }
79497950 };
7950- String tmpFilesList [] = mAppInstallDir .list (filter );
7951- if (tmpFilesList == null ) {
7951+ deleteTempPackageFilesInDirectory (mAppInstallDir , filter );
7952+ deleteTempPackageFilesInDirectory (mDrmAppPrivateInstallDir , filter );
7953+ }
7954+
7955+ private static final void deleteTempPackageFilesInDirectory (File directory ,
7956+ FilenameFilter filter ) {
7957+ final String [] tmpFilesList = directory .list (filter );
7958+ if (tmpFilesList == null ) {
79527959 return ;
79537960 }
7954- for (int i = 0 ; i < tmpFilesList .length ; i ++) {
7955- File tmpFile = new File (mAppInstallDir , tmpFilesList [i ]);
7961+ for (int i = 0 ; i < tmpFilesList .length ; i ++) {
7962+ final File tmpFile = new File (directory , tmpFilesList [i ]);
79567963 tmpFile .delete ();
79577964 }
79587965 }
0 commit comments