From 7ac0b06affd5668ee06c1466d44d7a0bf10dc128 Mon Sep 17 00:00:00 2001 From: "pr.jung" Date: Tue, 19 Sep 2017 14:10:00 +0900 Subject: [PATCH] block: Launch sdcard setting popup when sdcard is inserted after booting is done Change-Id: Icd62e3be2d58c82d2f4afaf854590a1cf1239fed Signed-off-by: pr.jung --- src/block/block.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/block/block.c b/src/block/block.c index 31b86ce..88dbfff 100644 --- a/src/block/block.c +++ b/src/block/block.c @@ -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); } -- 2.7.4