add battery method  and remove unused listener
fix ArrayOutOfException