content: package top.niunaijun.blackbox.core.system.pm.installer;
  
  import top.niunaijun.blackbox.core.env.BEnvironment;
  import top.niunaijun.blackbox.core.system.pm.BPackageSettings;
  import top.niunaijun.blackbox.entity.pm.InstallOption;
  import top.niunaijun.blackbox.utils.FileUtils;
  
  /**
   * updated by alex5402 on 4/24/21.
   * * ∧＿∧
   * (`･ω･∥
   * 丶　つ０
   * しーＪ
   * TFNQw5HgWUS33Ke1eNmSFTwoQySGU7XNsK (USDT TRC20)
   * 创建用户相关
   */
  public class CreateUserExecutor implements Executor {
  
      @Override
      public int exec(BPackageSettings ps, InstallOption option, int userId) {
          String packageName = ps.pkg.packageName;
          FileUtils.deleteDir(BEnvironment.getDataLibDir(packageName, userId));
  
          // create user dir
          FileUtils.mkdirs(BEnvironment.getDataDir(packageName, userId));
          FileUtils.mkdirs(BEnvironment.getDataCacheDir(packageName, userId));
          FileUtils.mkdirs(BEnvironment.getDataFilesDir(packageName, userId));
          FileUtils.mkdirs(BEnvironment.getDataDatabasesDir(packageName, userId));
          FileUtils.mkdirs(BEnvironment.getDeDataDir(packageName, userId));
  
  //        try {
  //            // /data/data/xx/lib -> /data/app/xx/lib
  //            FileUtils.createSymlink(BEnvironment.getAppLibDir(ps.pkg.packageName).getAbsolutePath(), BEnvironment.getDataLibDir(packageName, userId).getAbsolutePath());
  //        } catch (Exception e) {
  //            e.printStackTrace();
  //            return -1;
  //        }
          return 0;
      }
  }
  