Mini-Generator Could Power Smartphones for Days