getprop("ro.build.platform") == "helios" || abort("E3004: This package is for \"helios\" platform devices; this is a \"" + getprop("ro.build.platform") + "\".");
ui_print("==== Android 13 Factory Reset V2 ====");
getprop("ro.build.version.release") == "13" || abort("E3004: This package is not supported for this OS.");
show_progress(0.400000, 10);
ui_print("Formatting data partition...");
format("ext4", "EMMC", "/dev/block/bootdevice/by-name/userdata", "0", "/data");
ui_print("done.");
show_progress(0.250000, 5);

if is_mounted("/odm") ==  "" then
 ui_print("Mounting odm .......");
 mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/factory", "/odm");
endif;

if getprop(ro.boot.cc_supported) == "1" then 
  if is_file_exist("/odm/osu_cc.ini") == "1" then
    if file_getprop("/odm/osu_cc.ini","ro.boot.cc_state") == "1" then 
      write_value("temp.device.cc_state=true","/tmp/cc_device");
    else
      write_value("temp.device.cc_state=false","/tmp/cc_device");
    endif;
  else
    ui_print("/odm/osu_cc.ini does not exists");
    write_value("temp.device.cc_state=false","/tmp/cc_device");
  endif;
else
  write_value("temp.device.cc_state=false","/tmp/cc_device");
endif;

ui_print("Unmounting /odm .....");
unmount("/odm");

if file_getprop("/tmp/cc_device","temp.device.cc_state") == "false" then 
  ui_print("NON CC Device");

  if is_mounted("/enterprise") !=  "" then
    ui_print("unmount enterprise partition...");
    unmount("/enterprise");
  endif;

  ui_print("format enterprise partition...");
  format("ext4", "EMMC", "/dev/block/bootdevice/by-name/enterprise", "0", "/enterprise");
  ui_print("format enterprise partition done...");
  ui_print("create enterprise partition...");
  mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/enterprise", "/enterprise");
  package_extract_dir("enterprise", "/enterprise");
  set_metadata("/enterprise", "uid", 1000, "gid", 1000, "dmode", 0771, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/usr", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/usr/persist", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/usr/persist/wifi", "uid", 1000, "gid", 1010, "dmode", 0755, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/airbeam", "uid", 1000, "gid", 1000, "dmode", 0771, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/keypad", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/screensaver", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/datawedge", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/datawedge/autoimport", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/datawedge/enterprisereset", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/wifi", "uid", 1000, "gid", 1000, "dmode", 0755, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/ptt", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/mdm", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/mdm/autoimport", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/scanner", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/license", "uid", 1000, "gid", 1000, "dmode", 0775, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/license/private", "uid", 1000, "gid", 1000, "dmode", 0775, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/batterymanager", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/cradleupdate", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/cartdetect", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/device/settings/nfc", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/symbolrc", "uid", 1000, "gid", 1000, "dmode", 0777, "selabel", "u:object_r:media_rw_data_file:s0");
  set_metadata("/enterprise/recovery", "uid", 1000, "gid", 1000, "dmode", 0771, "selabel", "u:object_r:media_rw_data_file:s0");
  ui_print("create enterprise done.");
else
  ui_print("CC enabled device skipping enterprise format.");
endif;
show_progress(0.200000, 5);
if getprop("ro.boot.baseband") == "msm" then 
  ui_print("Formatting modemst1...");
  format("ext4", "EMMC", "/dev/block/bootdevice/by-name/modemst1", "0", "/modemst1");
  ui_print("done.");
  ui_print("Formatting modemst2...");
  format("ext4", "EMMC", "/dev/block/bootdevice/by-name/modemst2", "0", "/modemst2");
  ui_print("done.");
else
  ui_print("done.");
endif;
set_progress(1.000000);
