āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ˛āĻžā§āĻš āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻļā§€āĻ˛ UI āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻšāĻ¤ā§‡ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĻā§āĻƒāĻ–āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ°āĻžāĻ—āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻŦā§‹āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ—ā§āĻ°āĻžāĻšāĻ•ā§‡āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻ˛ā§āĻŖā§āĻ āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻšāĻžāĻ°āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¤āĻŋāĻ¨āĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡āĻ‡ā§ˇ

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŦāĻžāĻ° āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯ā§‡ Dodo Pizza āĻ…ā§āĻ¯āĻžāĻĒāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻšāĻ¤ā§‡ āĻ—āĻĄāĻŧā§‡ 3 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ "āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻžāĻ¨āĻĻā§‡āĻ°" āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ 15-20 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤

āĻ•āĻžāĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ–ā§€ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ—āĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡, āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ˛āĻŋāĻ•, āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ°āĻ•ā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŸā§‡āĻ¨ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡
āĻĒā§āĻ°āĻŦāĻ¨ā§āĻ§ āĻ˛ā§‡āĻ–āĻ•: āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸āĻŋāĻŽ āĻ•āĻžāĻšāĻŋāĻ¨āĻ•āĻŋāĻ¨ — āĻĄā§‹āĻĄā§‹ āĻĒāĻŋāĻœā§āĻœāĻžāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĨ¤

āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻžāĻ¨ āĻ†āĻ‡āĻ•āĻ¨ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°āĻžāĻ° āĻ¤āĻŋāĻ¨ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸāĻŋāĻ­āĻŋāĻŸāĻŋāĻ° āĻ…āĻ¨āĻ°āĻŋāĻœā§āĻŽ() āĻ‡āĻ¨āĻĢāĻŋāĻ¨āĻŋāĻŸāĻŋāĨ¤ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒ āĻ¸āĻŽāĻ¯āĻŧ 15-20 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻĒā§ŒāĻāĻ›ā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻ­āĻŦ?

āĻ¯āĻžāĻĻā§‡āĻ° āĻĒāĻĄāĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ
āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ°āĻžāĻœā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ…āĻŦāĻŋāĻ°āĻžāĻŽ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻœāĻŽāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻŦāĻ‚ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸā§‡ āĻāĻ¸ā§‡āĻ›ā§‡ - āĻāĻŸāĻŋ 1 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻ•āĻŽ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻ° āĻŦāĻžāĻĄāĻŧā§‡āĻ¨āĻŋāĨ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĨ¤

āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ

āĻ†āĻœ, āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĻā§āĻ°ā§āĻ¤ āĻ˛āĻžā§āĻš āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻļā§€āĻ˛ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻž āĻļā§āĻ§ā§ āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻĒā§‡āĻ° āĻ•āĻĨāĻž āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻāĻ•āĻŸāĻŋ āĻœāĻŸāĻŋāĻ˛ āĻœāĻŋāĻ¨āĻŋāĻ¸āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋāĻ° āĻ—āĻ¤āĻŋ āĻšāĻ˛ āĻĒāĻŋā§ŽāĻœāĻž āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ…āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸ā§‚āĻšāĻ•āĨ¤ āĻ¯āĻĻāĻŋ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒāĻŋāĻœā§āĻœāĻž āĻ—āĻ°āĻŽ āĻšāĻŦā§‡, āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ—ā§āĻ°āĻžāĻšāĻ• āĻāĻ–āĻ¨ āĻ–ā§‡āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§‡āĻļāĻŋāĻ•ā§āĻˇāĻŖ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻĻā§āĻ°ā§āĻ¤ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ…āĻ¨ā§āĻ­ā§‚āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ, āĻ•āĻžāĻ°āĻŖ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻšāĻ¤ā§‡ āĻ¯āĻĻāĻŋ āĻŽāĻžāĻ¤ā§āĻ° 20 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—ā§‡, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻŋāĻœā§āĻœāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¤āĻ•ā§āĻˇāĻŖ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡?

āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻāĻ‡ āĻ¸āĻ¤ā§āĻ¯āĻŸāĻŋāĻ° āĻŽā§āĻ–ā§‹āĻŽā§āĻ–āĻŋ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻšāĻ¤ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻšāĻ•āĻ°ā§āĻŽā§€āĻĻā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻ— āĻļā§āĻ¨āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ•āĻ¤ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋāĨ¤

āĻāĻŸāĻž āĻ•āĻ¤āĻ•ā§āĻˇāĻŖ? āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ—ā§āĻ—āĻ˛ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨, āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ āĻžāĻ¨ā§āĻĄāĻž āĻļā§āĻ°ā§āĻ¤ā§‡ 5 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻ•āĻŽ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋāĻ•ā§‡ "āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡" āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ Dodo Pizza Android āĻ…ā§āĻ¯āĻžāĻĒ āĻšāĻžāĻ˛ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (Firebase āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ _āĻ…ā§āĻ¯āĻžāĻĒ_āĻļā§āĻ°ā§) āĻ āĻ āĻžāĻ¨ā§āĻĄāĻž āĻļā§āĻ°ā§ āĻ—āĻĄāĻŧā§‡ 3 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ - "āĻŽāĻšāĻžāĻ¨ āĻ¨āĻ¯āĻŧ, āĻ­āĻ¯āĻŧāĻžāĻ¨āĻ• āĻ¨āĻ¯āĻŧ," āĻ¯ā§‡āĻŽāĻ¨ āĻ¤āĻžāĻ°āĻž āĻŦāĻ˛ā§‡āĨ¤

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻ— āĻ†āĻ¸āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻšāĻ¤ā§‡ āĻ–ā§āĻŦ, āĻ–ā§āĻŦ, āĻ–ā§āĻŦ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛ā§‡āĻ—ā§‡āĻ›ā§‡! āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž "āĻ–ā§āĻŦ, āĻ–ā§āĻŦ, āĻ–ā§āĻŦ āĻĻā§€āĻ°ā§āĻ˜" āĻ•ā§€ āĻ¤āĻž āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻŦā§‡āĻ¸ āĻŸā§āĻ°ā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§ āĻŸā§āĻ°ā§‡āĻ¸.

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻāĻ‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŸā§āĻ°ā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ–ā§‹āĻ˛āĻžāĻ° āĻŽā§āĻšā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĨāĻŽ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒā§‡āĻ° onResume() āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°ā§‡āĨ¤ Firebase āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻāĻ‡ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•āĻŸāĻŋāĻ•ā§‡ _app_start āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻž āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻ¯ā§‡:

  • 95 āĻ¤āĻŽ āĻĒāĻžāĻ°ā§āĻ¸ā§‡āĻ¨ā§āĻŸāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒ āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 20 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ (āĻ•āĻŋāĻ›ā§ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ), āĻ¯āĻĻāĻŋāĻ“ āĻŽāĻžāĻāĻžāĻ°āĻŋ āĻ•ā§‹āĻ˛ā§āĻĄ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒ āĻ¸āĻŽāĻ¯āĻŧ 5 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻ•āĻŽāĨ¤
  • āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻŽāĻžāĻ¨ āĻ¨āĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻĢā§‹āĻāĻŸāĻž āĻ†āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨āĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻ¸ā§āĻ•ā§‡āĻ˛ 90 āĻĻāĻŋāĻ¨ā§‡ āĻŦāĻžāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻĻā§āĻŸāĻŋ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻŽāĻžāĻĨāĻžāĻ¯āĻŧ āĻāĻ˛:

  1. āĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ• āĻšāĻšā§āĻ›ā§‡.
  2. āĻāĻ‡ "āĻ•āĻŋāĻ›ā§" āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻĒāĻ°ā§‡ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻŦāĻžāĻ° āĻ˛āĻŋāĻ• āĻšāĻ¯āĻŧāĨ¤

"āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§," āĻ†āĻŽāĻ°āĻž āĻ­ā§‡āĻŦā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ āĻŋāĻ• āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻŽāĻ°āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĻ•ā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ; āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§ āĻšāĻ˛ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ˛ā§‹āĻĄ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋ āĻ­ā§āĻ˛

āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœā§€āĻŦāĻ¨ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¸ā§āĻŸā§‡āĻĨā§‹ āĻ…āĻĨāĻŦāĻž āĻ†āĻ°āĻ“ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ–ā§‹āĻ˛āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ¸ā§āĻŸā§āĻĄāĻŋāĻ“. ADB āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§‡āĻ–āĻ¤ā§‡, Realm āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°ā§āĻ¨:

adb exec-out run-as ${PACKAGE_NAME} cat files/${DB_NAME}

āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§‡āĻ–ā§‡ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ§āĻ°āĻŖā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦāĻžāĻĄāĻŧāĻ›ā§‡āĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡
āĻ›āĻŦāĻŋāĻŸāĻŋ āĻĻā§āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ¸ā§āĻŸā§āĻĄāĻŋāĻ“āĻ° āĻāĻ•āĻŸāĻŋ āĻ–āĻŖā§āĻĄ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ: āĻŦāĻžāĻŽāĻĻāĻŋāĻ•ā§‡ - āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦā§‡āĻ¸, āĻĄāĻžāĻ¨āĻĻāĻŋāĻ•ā§‡ - āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻĒāĻ°ā§‡āĨ¤ āĻāĻ¤ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧ ImageEntity и MoneyType āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ§āĻ°āĻŖā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ)āĨ¤

āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•

āĻ…āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ–ā§āĻŦāĻ‡ āĻ–āĻžāĻ°āĻžāĻĒāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡? ActivityManager āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻž āĻŦā§‡āĻļ āĻ¸āĻšāĻœāĨ¤ Android 4.4 āĻĨā§‡āĻ•ā§‡, logcat āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻš āĻ˛āĻ— āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻžāĻ¨āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ āĻĨā§‡āĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸāĻŋāĻ­āĻŋāĻŸāĻŋ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚ āĻļā§‡āĻˇ āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻžāĻ¨āĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ˜āĻŸāĻ¨āĻž āĻ˜āĻŸā§‡:

  • āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨āĨ¤
  • āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸ā§‚āĻšāĻ¨āĻž.
  • āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽā§‡āĻ° āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ“ āĻ¸ā§‚āĻšāĻ¨āĻžāĨ¤
  • āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ†āĻ‰āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤
  • āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ -S āĻāĻŦāĻ‚ -W āĻĒāĻ¤āĻžāĻ•āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ ADB āĻšāĻžāĻ˛āĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

adb shell am start -S -W ru.dodopizza.app/.MainActivity -c android.intent.category.LAUNCHER -a android.intent.action.MAIN

āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ§āĻ°āĻ˛ā§‡ grep -i WaitTime āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ• āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĻā§ƒāĻļā§āĻ¯āĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨. āĻ¨ā§€āĻšā§‡āĻ° āĻ—ā§āĻ°āĻžāĻĢāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻļā§āĻ°ā§āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĻ° āĻāĻ•āĻ‡ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻŋ āĻ›āĻŋāĻ˛, āĻ¯āĻž 4 MB āĻĨā§‡āĻ•ā§‡ 15 MB āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ (āĻ āĻžāĻ¨ā§āĻĄāĻž āĻļā§āĻ°ā§āĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻ¸āĻžāĻĨā§‡), āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ˛āĻžā§āĻšā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšāĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻž āĻšāĻžāĻ‡āĻĒā§‹āĻĨāĻŋāĻ¸āĻŋāĻ¸ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ–āĻ¨ āĻ¯āĻž āĻŦāĻžāĻ•āĻŋ āĻ›āĻŋāĻ˛ āĻ¤āĻž āĻ›āĻŋāĻ˛ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻ°āĻž "āĻ˛āĻŋāĻ•" āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ˛āĻžā§āĻšā§‡āĻ° āĻ—āĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻŦā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻ…āĻ¨ā§āĻ¤āĻšā§€āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻ•āĻžāĻ°āĻŖ

"āĻ˛āĻŋāĻ•" āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻ¤āĻžāĻ°āĻž āĻ•ā§‡āĻ¨ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¤āĻž āĻŦā§‹āĻāĻžāĻ° āĻŽāĻ¤ā§‹āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ¸ā§āĻ¨ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŋ āĻ°āĻžāĻœā§āĻ¯ āĻ•āĻŋāĨ¤

āĻ°āĻŋāĻ˛ā§āĻŽ āĻāĻ•āĻŸāĻŋ āĻ…-āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻšā§€āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ Android-āĻ āĻ•āĻ¤āĻ—ā§āĻ˛āĻŋ ORM āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻŦāĻ‚ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻĄāĻŋāĻ¸ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ, āĻ¯āĻž āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻļāĻ•ā§āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ•ā§‡āĻ¨ āĻāĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

(āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡, āĻāĻ‡ āĻŦāĻŋāĻŦāĻ°āĻŖāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻļāĻžāĻ¨ā§āĻ¤ āĻ…āĻžā§āĻšāĻ˛ā§‡ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŦāĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻžāĻĄā§‡āĻŽāĻŋ).

āĻ…āĻ¨ā§‡āĻ• āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¸ā§āĻ¤ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻšā§āĻĄā§‡āĻ° āĻ¨āĻŋāĻšā§‡ SQL āĻ¸āĻš ORM āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸)āĨ¤ āĻāĻŦāĻ‚ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻŽāĻ¤ā§‹ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ°āĻžāĻœā§āĻ¯ā§‡ āĻ¨āĻ¯āĻŧāĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻĒā§āĻ¨āĻ°ā§āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž и āĻ…āĻ¨ā§āĻ¯, āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤, āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻļāĻŋāĻ—āĻ—āĻŋāĻ°āĻ‡ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻž āĻ­āĻžāĻŦ āĻ›āĻŋāĻ˛āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ‡ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻāĻŦāĻ‚ āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻ˛āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ā§‡ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ‡ āĻ•āĻžāĻœā§‡ āĻŦā§‡āĻļ āĻĒā§āĻ°āĻžāĻŖāĻŦāĻ¨ā§āĻ¤ āĻāĻŦāĻ‚ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ›āĻŋāĻ˛ā§‡āĻ¨ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻŸāĻžāĻ¨, āĻ¯āĻž āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻ¸ā§āĻĨāĻ—āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĄā§‡āĻŸāĻž āĻ˛āĻŋāĻ•

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦāĻšā§€āĻ¨ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°āĻ˛ā§‡ āĻ āĻŋāĻ• āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĄā§‡āĻŸāĻž āĻĢāĻžāĻāĻ¸ āĻšāĻ¯āĻŧ? āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ Realm āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨ā§‡āĻ¸ā§āĻŸ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ (āĻĒā§āĻ°āĻžāĻ¯āĻŧ) āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ†āĻ›ā§‡ CartItemEntity:

@RealmClass
class CartItemEntity(
 @PrimaryKey
 override var id: String? = null,
 ...
 var name: String = "",
 var description: String = "",
 var image: ImageEntity? = null,
 var category: String = MENU_CATEGORY_UNKNOWN_ID,
 var customizationEntity: CustomizationEntity? = null,
 var cartComboProducts: RealmList<CartProductEntity> = RealmList(),
 ...
) : RealmObject()

āĻ•āĻžāĻ°ā§āĻŸā§‡ āĻĨāĻžāĻ•āĻž āĻĒāĻŖā§āĻ¯āĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ›āĻŦāĻŋ āĻ¸āĻš āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ ImageEntity, āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœāĻĄ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ CustomizationEntity. āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ•āĻžāĻ°ā§āĻŸā§‡ āĻĨāĻžāĻ•āĻž āĻĒāĻŖā§āĻ¯āĻŸāĻŋ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻ¸ā§‡āĻŸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻŦā§‹ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ RealmList (CartProductEntity). āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻšāĻ˛ Realm āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻ‡ āĻ†āĻ‡āĻĄāĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ (copyToRealm() / copyToRealmOrUpdate()) āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻŸ āĻšāĻŦā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻŦāĻ¸ā§āĻ¤ā§ (āĻ›āĻŦāĻŋ, āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻāĻ¨ā§āĻŸāĻŋāĻŸāĻŋ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻŸāĻ•āĻŽā§āĻŦā§‹ āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•ā§āĻŸāĻ¸) āĻĒāĻŋāĻ¤āĻžāĻŽāĻžāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻšāĻžāĻ°āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ—āĻŸāĻŋ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ†āĻ° āĻĒāĻĄāĻŧāĻŋ āĻ¨āĻž āĻŦāĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻŋ āĻ¨āĻž (āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻŋ āĻŦāĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ "āĻŸā§‡āĻŦāĻŋāĻ˛" āĻ¸āĻžāĻĢ āĻ•āĻ°āĻŋ āĻ¨āĻž)āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ "āĻŽā§‡āĻŽāĻ°āĻŋ āĻ˛āĻŋāĻ•" āĻŦāĻ˛ā§‡ āĻĨāĻžāĻ•āĻŋāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋ, āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ†āĻ—ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ‡ āĻŽāĻ¤:

val entity = realm.where(CartItemEntity::class.java).equalTo("id", id).findFirst()
if (first != null) {
 deleteFromRealm(first.image)
 deleteFromRealm(first.customizationEntity)
 for(cartProductEntity in first.cartComboProducts) {
   deleteFromRealm(cartProductEntity)
 }
 first.deleteFromRealm()
}
// и ĐŋĐžŅ‚ĐžĐŧ ŅƒĐļĐĩ ŅĐžŅ…Ņ€Đ°ĐŊŅĐĩĐŧ

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¯ā§‡āĻŽāĻ¨ āĻ‰āĻšāĻŋāĻ¤ āĻ¤ā§‡āĻŽāĻ¨ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨āĻŋāĻ‡ āĻ¯ā§‡ āĻ‡āĻŽā§‡āĻœ, āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻāĻ¨ā§āĻŸāĻŋāĻŸāĻŋ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻŸāĻ•āĻŽā§āĻŦā§‹ āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•ā§āĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨āĻ“ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨ā§‡āĻ‡, āĻ¤āĻžāĻ‡ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨āĻ“ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ˛ā§āĻĒ āĻāĻŦāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ¨ā§‡āĻ‡āĨ¤

āĻĻā§āĻ°ā§āĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨

āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¤āĻž āĻšāĻ˛ āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻŽ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ¸āĻ˛ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨ā§ˇ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸ā§āĻŦāĻœā§āĻžāĻžāĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻĨāĻž: āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ•ā§‡ āĻ¤āĻžāĻ° āĻ¸āĻ¨ā§āĻ¤āĻžāĻ¨āĻĻā§‡āĻ° āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻž āĻ¤āĻžāĻ° āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡:

interface NestedEntityAware {
 fun getNestedEntities(): Collection<RealmObject?>
}

āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ°āĻžāĻœā§āĻ¯ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ:

@RealmClass
class DataPizzeriaEntity(
 @PrimaryKey
 var id: String? = null,
 var name: String? = null,
 var coordinates: CoordinatesEntity? = null,
 var deliverySchedule: ScheduleEntity? = null,
 var restaurantSchedule: ScheduleEntity? = null,
 ...
) : RealmObject(), NestedEntityAware {

 override fun getNestedEntities(): Collection<RealmObject?> {
   return listOf(
       coordinates,
       deliverySchedule,
       restaurantSchedule
   )
 }
}

В getNestedEntities āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¤āĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻŦ āĻļāĻŋāĻļā§āĻĻā§‡āĻ° āĻĢā§‡āĻ°āĻ¤. āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻšāĻžāĻ‡āĻ˛ā§āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ NestedEntityAware āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ“ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŸāĻŋ āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ ScheduleEntity:

@RealmClass
class ScheduleEntity(
 var monday: DayOfWeekEntity? = null,
 var tuesday: DayOfWeekEntity? = null,
 var wednesday: DayOfWeekEntity? = null,
 var thursday: DayOfWeekEntity? = null,
 var friday: DayOfWeekEntity? = null,
 var saturday: DayOfWeekEntity? = null,
 var sunday: DayOfWeekEntity? = null
) : RealmObject(), NestedEntityAware {

 override fun getNestedEntities(): Collection<RealmObject?> {
   return listOf(
       monday, tuesday, wednesday, thursday, friday, saturday, sunday
   )
 }
}

āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡, āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŦāĻžāĻ¸āĻž āĻŦāĻžāĻāĻ§āĻž āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ˛āĻŋāĻ–āĻŋ āĻ¯āĻž āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (āĻāĻ•āĻŸāĻŋ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ) deleteAllNestedEntities āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻļā§€āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻŦāĻ‚ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒāĻžāĻ¯āĻŧ deleteNestedRecursively NestedEntityAware āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧ:

fun <T> Realm.deleteAllNestedEntities(entities: Collection<T>,
 entityClass: Class<out RealmObject>,
 idMapper: (T) -> String,
 idFieldName : String = "id"
 ) {

 val existedObjects = where(entityClass)
     .`in`(idFieldName, entities.map(idMapper).toTypedArray())
     .findAll()

 deleteNestedRecursively(existedObjects)
}

private fun Realm.deleteNestedRecursively(entities: Collection<RealmObject?>) {
 for(entity in entities) {
   entity?.let { realmObject ->
     if (realmObject is NestedEntityAware) {
       deleteNestedRecursively((realmObject as NestedEntityAware).getNestedEntities())
     }
     realmObject.deleteFromRealm()
   }
 }
}

āĻ†āĻŽāĻ°āĻž āĻĻā§āĻ°ā§āĻ¤ āĻŦāĻ°ā§āĻ§āĻ¨āĻļā§€āĻ˛ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻŸāĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ•ā§€ āĻ˜āĻŸā§‡āĻ›ā§‡ āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĻā§āĻ°āĻŦāĻŖ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ†āĻŦā§ƒāĻ¤ āĻ¯ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻāĻŦāĻ‚ āĻŦā§‡āĻ¸ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ§ā§€āĻ°, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĨāĻžāĻŽā§‡āĻ¨āĻŋ.

"āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•" āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨

āĻ¯āĻĻāĻŋāĻ“ āĻŦā§‡āĻ¸āĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡ āĻŦāĻžāĻĄāĻŧāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛, āĻ¤āĻŦā§āĻ“ āĻāĻŸāĻŋ āĻŦāĻžāĻĄāĻŧāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻ°āĻ“ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ˛āĻžāĻŽāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡ āĻĄā§‡āĻŸāĻž āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ–ā§āĻŦ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ˛ā§‡āĻ–āĻž āĻļā§āĻ°āĻŽ-āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧ, āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻā§āĻāĻ•āĻŋ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ, āĻ•āĻžāĻ°āĻŖ āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻ†āĻŽāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĻ¨āĻŋ, āĻ¤āĻŦā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻœā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ•āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻœā§‡ āĻĨā§‡āĻ•ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡, āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĢāĻŋāĻ˛ā§āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻŦāĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

RealmModel::class.java.isAssignableFrom(field.type)

RealmList::class.java.isAssignableFrom(field.type)

āĻ¯āĻĻāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ RealmModel āĻŦāĻž RealmList āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŸāĻŋ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻāĻ•āĻ‡ āĻ°āĻ•āĻŽ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‡ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ–ā§āĻŦ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ‡āĻ°āĻ•āĻŽ:

fun <T : Any> Realm.cascadeDelete(entities: Collection<T?>) {
 if(entities.isEmpty()) {
   return
 }

 entities.filterNotNull().let { notNullEntities ->
   notNullEntities
       .filterRealmObject()
       .flatMap { realmObject -> getNestedRealmObjects(realmObject) }
       .also { realmObjects -> cascadeDelete(realmObjects) }

   notNullEntities
       .forEach { entity ->
         if((entity is RealmObject) && entity.isValid) {
           entity.deleteFromRealm()
         }
       }
 }
}

āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ filterRealmObject āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ†āĻ‰āĻŸ āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° Realm āĻŦāĻ¸ā§āĻ¤ā§ āĻĒāĻžāĻ¸. āĻĒāĻĻā§āĻ§āĻ¤āĻŋ getNestedRealmObjects āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ°ā§ˆāĻ–āĻŋāĻ• āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ°āĻžāĻ–ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸ recursively āĻ¨āĻž. āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§ˆāĻ§āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ isValid, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻ­āĻŋāĻ­āĻžāĻŦāĻ• āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻĄāĻŧāĻžāĻ¨ā§‹ āĻ­āĻžāĻ˛ āĻāĻŦāĻ‚ āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻ‡āĻĄāĻŋāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ-āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ­āĻžāĻ˛āĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

getNestedRealmObjects āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨

private fun getNestedRealmObjects(realmObject: RealmObject) : List<RealmObject> {
 val nestedObjects = mutableListOf<RealmObject>()
 val fields = realmObject.javaClass.superclass.declaredFields

// ПŅ€ĐžĐ˛ĐĩŅ€ŅĐĩĐŧ ĐēĐ°ĐļĐ´ĐžĐĩ ĐŋĐžĐģĐĩ, ĐŊĐĩ ŅĐ˛ĐģŅĐĩŅ‚ŅŅ Đģи ĐžĐŊĐž RealmModel иĐģи ŅĐŋиŅĐēĐžĐŧ RealmList
 fields.forEach { field ->
   when {
     RealmModel::class.java.isAssignableFrom(field.type) -> {
       try {
         val child = getChildObjectByField(realmObject, field)
         child?.let {
           if (isInstanceOfRealmObject(it)) {
             nestedObjects.add(child as RealmObject)
           }
         }
       } catch (e: Exception) { ... }
     }

     RealmList::class.java.isAssignableFrom(field.type) -> {
       try {
         val childList = getChildObjectByField(realmObject, field)
         childList?.let { list ->
           (list as RealmList<*>).forEach {
             if (isInstanceOfRealmObject(it)) {
               nestedObjects.add(it as RealmObject)
             }
           }
         }
       } catch (e: Exception) { ... }
     }
   }
 }

 return nestedObjects
}

private fun getChildObjectByField(realmObject: RealmObject, field: Field): Any? {
 val methodName = "get${field.name.capitalize()}"
 val method = realmObject.javaClass.getMethod(methodName)
 return method.invoke(realmObject)
}

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ•ā§‹āĻĄā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ "āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻĄāĻŋāĻ˛āĻŋāĻŸ" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

override fun <T : Entity> insert(
 entityInformation: EntityInformation,
 entities: Collection<T>): Collection<T> = entities.apply {
 realmInstance.cascadeDelete(getManagedEntities(entityInformation, this))
 realmInstance.copyFromRealm(
     realmInstance
         .copyToRealmOrUpdate(this.map { entity -> entity as RealmModel }
 ))
}

āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ getManagedEntities āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ cascadeDelete āĻ¨āĻ¤ā§āĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ†āĻ—ā§‡ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻ¸āĻ‚āĻ—ā§ƒāĻšā§€āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻœā§āĻĄāĻŧā§‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§‡āĻˇ. āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ˛āĻŋāĻ• āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻšāĻ˛ā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ•ā§‹āĻ˛ā§āĻĄ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ°āĻžāĻ°āĻŽā§āĻ­ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ° āĻāĻ•āĻ‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻĢāĻ˛āĻžāĻĢāĻ˛āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋāĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻ¸āĻŦā§āĻœ āĻ˛āĻžāĻ‡āĻ¨ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ āĻžāĻ¨ā§āĻĄāĻž āĻļā§āĻ°ā§āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤

āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ–ā§āĻŦ āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻ°āĻŖ āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ "āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻĄāĻŋāĻ˛āĻŋāĻŸ" āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž _app_start āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ“ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻŋāĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž 90 āĻĻāĻŋāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧāĻ•āĻžāĻ˛ āĻ¨āĻŋāĻ‡ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻŋ: āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ˛āĻžā§āĻšā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŽāĻ§ā§āĻ¯āĻŽāĻž āĻāĻŦāĻ‚ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° 95 āĻ¤āĻŽ āĻļāĻ¤āĻžāĻ‚āĻļā§‡āĻ° āĻ‰āĻĒāĻ° āĻĒāĻĄāĻŧā§‡, āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ•āĻŽāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻ° āĻŦāĻžāĻĄāĻŧā§‡ āĻ¨āĻžāĨ¤

āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ˛āĻžā§āĻšā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄāĻŋāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻŋāĻ¤ā§‡āĻ›ā§‡

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻžāĻ¤ āĻĻāĻŋāĻ¨ā§‡āĻ° āĻšāĻžāĻ°ā§āĻŸāĻŸāĻŋ āĻĻā§‡āĻ–ā§‡āĻ¨, _app_start āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻāĻŦāĻ‚ 1 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻ•āĻŽ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧāĨ¤

āĻāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ“ āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ āĻ¯ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, _app_start-āĻāĻ° āĻŽāĻ§ā§āĻ¯āĻŽ āĻŽāĻžāĻ¨ 5 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŦā§‡āĻļāĻŋ āĻšāĻ˛ā§‡ Firebase āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ, āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻŸāĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ, āĻŦāĻ°āĻ‚ āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤

Realm āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻšāĻ˛ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…-āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ¸āĻšāĻœāĻ¤āĻž, ORM āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ˛āĻŋāĻ™ā§āĻ•āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĻā§ƒāĻļā§āĻ¯ āĻĨāĻžāĻ•āĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§‡āĻ“, āĻāĻŸāĻŋāĻ¤ā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ¨ā§‡āĻ‡āĨ¤

āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻœāĻŽā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻŦāĻ‚ "āĻ›āĻŋāĻĻā§āĻ° āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤" āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻŦā§‡, āĻ¯āĻž āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ§ā§€āĻ°āĻ—āĻ¤āĻŋ āĻŦāĻž āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ†āĻŽāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛āĻŽā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯āĻž āĻāĻ–āĻ¨āĻ“ āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻĻā§€āĻ°ā§āĻ˜āĻĻāĻŋāĻ¨ āĻ§āĻ°ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻž āĻšāĻšā§āĻ›ā§‡ āĻŦāĻ˛ā§āĻ¨ и āĻŦāĻ˛ā§āĻ¨. āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ—āĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ†āĻ¸āĻ¨ā§āĻ¨ āĻšā§‡āĻšāĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§‡āĻ“, Realm āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§āĻ¯āĻžāĻ¸āĻ•ā§‡āĻĄ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻ›ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ¨āĨ¤ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ Realm āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨