block: Launch sdcard setting popup when sdcard is inserted after booting is done 92/150892/2
authorpr.jung <pr.jung@samsung.com>
Tue, 19 Sep 2017 05:10:00 +0000 (14:10 +0900)
committerJung <pr.jung@samsung.com>
Tue, 19 Sep 2017 05:11:10 +0000 (05:11 +0000)
Change-Id: Icd62e3be2d58c82d2f4afaf854590a1cf1239fed
Signed-off-by: pr.jung <pr.jung@samsung.com>
src/block/block.c

index 31b86ce..88dbfff 100644 (file)
@@ -2079,7 +2079,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;
@@ -2146,18 +2146,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");
@@ -2414,7 +2409,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);
        }
@@ -2566,7 +2561,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);
 }