So far I am on the second version of the project. The first version did not work because I was trying to drive the LEDs in series with a boost converter, and the boost converter IC did not behave as I had expected it to. The second version works better but there are still some problems with it; there is nothing that tells the mircocontroller that the USB is plugged in so if the flashlight has not been run into its low battery state the LEDs will still be on while it is charging. This is a problem because the LEDs draw quite a bit of current from the battery. There is also a problem when the battery is done charging and the flashlight enters its done charging state, the LEDs start blinking in there done charging pattern. When this is happening the LEDs are still powered by the battery which means that after a little while the battery starts being charged again with the LEDs on.