block: Launch sdcard setting popup when sdcard is inserted after booting is done 06/150906/2
authorpr.jung <pr.jung@samsung.com>
Tue, 19 Sep 2017 05:10:00 +0000 (14:10 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Tue, 19 Sep 2017 05:39:24 +0000 (05:39 +0000)
Change-Id: Icd62e3be2d58c82d2f4afaf854590a1cf1239fed
Signed-off-by: pr.jung <pr.jung@samsung.com>
(cherry picked from commit 7ac0b06affd5668ee06c1466d44d7a0bf10dc128)

src/block/block.c

index da7443f..c973874 100644 (file)
@@ -2082,7 +2082,7 @@ out:
 }
 
 // Called by MainThread
-static int add_block_device(struct udev_device *dev, const char *devnode)
+static int add_block_device(struct udev_device *dev, const char *devnode, bool init)
 {
        struct block_data *data;
        struct block_device *bdev;
@@ -2149,18 +2149,13 @@ static int add_block_device(struct udev_device *dev, const char *devnode)
                bdev->data->primary) {
                _I("Check whether sdcard will be used as extended internal storage");
 
-               if (!bdev->data->fs_type) {
-                       _D("Storage is unformatted");
+               if (!init) {
                        snprintf(id_string, PATH_LEN, "%d", bdev->data->id);
                        ret = launch_system_app(POPUP_DEFAULT, 4, POPUP_KEY_CONTENT, "sdcardsetup", POPUP_SDCARD_ID, id_string);
                        if (ret < 0)
                                _E("Failed to launch popup");
                        return 0;
                }
-
-               //TODO Need to check for other phone
-               if (!strncmp(bdev->data->fs_type, LUKS_NAME, strlen(LUKS_NAME)))
-                       bdev->data->block_type = BLOCK_MMC_EXTENDED_INTERNAL_DEV;
        } else {
                if (!bdev->data->fs_type) {
                        _E("Unformatted Storage");
@@ -2417,7 +2412,7 @@ static int block_init_from_udev_enumerate(void)
                }
 
                _I("%s device add", devnode);
-               add_block_device(dev, devnode);
+               add_block_device(dev, devnode, true);
 
                udev_device_unref(dev);
        }
@@ -2569,7 +2564,7 @@ static void uevent_block_handler(struct udev_device *dev)
                        return;
                }
 
-               add_block_device(dev, devnode);
+               add_block_device(dev, devnode, false);
        } else if (!strncmp(action, UDEV_REMOVE, sizeof(UDEV_REMOVE)))
                remove_block_device(dev, devnode);
 }