This app was mentioned in 5 comments, with an average of 1.40 upvotes
Few links for your future post:
http://androidgamepadgames.com/
Quite a lot of games, but ads and poor navigation. Still seems to be active.
https://www.slant.co/topics/1988/~hid-human-interface-device-gamepad-supported-android-games
Slant list is just 'the 20 best', not 'all of them', so you have probably already played these 20. Still solid recommendations.
https://play.google.com/store/apps/details?id=com.nvidia.tegrazone
TegraZone lists which games have gamepad support, but the top charts are as bad as on Google Play.
https://sites.google.com/site/localmultiplayergamepadgames/
Small list of games playable with two gamepads, you'll also need at least one IRL friend to fully enjoy them. List not updated since ages.
https://developer.android.com/training/game-controllers/index.html
Documentation for game developers about adding gamepad support, this one is for Java / Android Studio. Unity has it's own manual for this.
From my side I can add that it's always a good idea to add a keycode remapping dialog, at least half of gamepads I've tested won't send KEYCODE_BUTTON_A / KEYCODE_BUTTON_B, as Android documentation says, but something like KEYCODE_BUTTON_12 instead.
D-Pad can send either KEYCODE_DPAD_UP / DOWN etc KeyEvent, or AXIS_HAT_X / Y MotionEvent, so your code should handle both types of events.
And some gamepads straight up emulate keyboard, so don't rely on MotionEvent.getSources() returning SOURCE_GAMEPAD, because it won't.
Android will support most USB gamepads, and they will work the same exact way as Bluetooth gamepads, so if you are a developer on a budget, you can buy USB OTG cable and the cheapest USB gamepad for like $15 total. Many cheap gamepads have an extra button that will switch the gamepad from 'PC' keyboard emulation mode to 'analog' mode, you'll need to press it to make analog sticks work as intended.