From 96af84a4094c2018d35c792e33813c07344f553c Mon Sep 17 00:00:00 2001 From: Ethan Yonker Date: Mon, 5 Jan 2015 14:58:36 -0600 Subject: Allow flashing of images via the GUI - Use the Images... button in the lower right of the zip install page - Unify image flashing functions between restore and image flash - boot and recovery partitions are flashable by default - use fstab flag flashimg=1 or 0 to override defaults - file system partitions are currently not flashable Change-Id: I822dc446030543c55d2153e219d67a1292374ffc --- partitions.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'partitions.hpp') diff --git a/partitions.hpp b/partitions.hpp index 43f553547..f26d8e5d8 100644 --- a/partitions.hpp +++ b/partitions.hpp @@ -68,6 +68,7 @@ public: void Check_FS_Type(); // Checks the fs type using blkid, does not do anything on MTD / yaffs2 because this crashes on some devices bool Update_Size(bool Display_Error); // Updates size information void Recreate_Media_Folder(); // Recreates the /data/media folder + bool Flash_Image(string Filename); // Flashes an image to the partition public: string Current_File_System; // Current file system @@ -108,14 +109,15 @@ private: bool Backup_Dump_Image(string backup_folder); // Backs up using dump_image for MTD memory types string Get_Restore_File_System(string restore_folder); // Returns the file system that was in place at the time of the backup bool Restore_Tar(string restore_folder, string Restore_File_System, const unsigned long long *total_restore_size, unsigned long long *already_restored_size); // Restore using tar for file systems - bool Restore_DD(string restore_folder, const unsigned long long *total_restore_size, unsigned long long *already_restored_size); // Restore using dd for emmc memory types - bool Restore_Flash_Image(string restore_folder, const unsigned long long *total_restore_size, unsigned long long *already_restored_size); // Restore using flash_image for MTD memory types + bool Restore_Image(string restore_folder, const unsigned long long *total_restore_size, unsigned long long *already_restored_size, string Restore_File_System); // Restore using dd for images bool Get_Size_Via_statfs(bool Display_Error); // Get Partition size, used, and free space using statfs bool Get_Size_Via_df(bool Display_Error); // Get Partition size, used, and free space using df command bool Make_Dir(string Path, bool Display_Error); // Creates a directory if it doesn't already exist bool Find_MTD_Block_Device(string MTD_Name); // Finds the mtd block device based on the name from the fstab void Recreate_AndSec_Folder(void); // Recreates the .android_secure folder void Mount_Storage_Retry(void); // Tries multiple times with a half second delay to mount a device in case storage is slow to mount + bool Flash_Image_DD(string Filename); // Flashes an image to the partition using dd + bool Flash_Image_FI(string Filename); // Flashes an image to the partition using flash_image for mtd nand private: bool Can_Be_Mounted; // Indicates that the partition can be mounted @@ -163,6 +165,7 @@ private: int Format_Block_Size; // Block size for formatting bool Ignore_Blkid; // Ignore blkid results due to superblocks lying to us on certain devices / partitions bool Retain_Layout_Version; // Retains the .layout_version file during a wipe (needed on devices like Sony Xperia T where /data and /data/media are separate partitions) + bool Can_Flash_Img; // Indicates if this partition can have images flashed to it via the GUI friend class TWPartitionManager; friend class DataManager; @@ -219,6 +222,7 @@ public: bool Add_MTP_Storage(unsigned int Storage_ID); // Adds or removes an MTP Storage partition bool Remove_MTP_Storage(string Mount_Point); // Adds or removes an MTP Storage partition bool Remove_MTP_Storage(unsigned int Storage_ID); // Adds or removes an MTP Storage partition + bool Flash_Image(string Filename); // Flashes an image to a selected partition from the partition list private: void Setup_Settings_Storage_Partition(TWPartition* Part); // Sets up settings storage -- cgit v1.2.3