So when the app try to initial related Toast on devices SDK version 16 to 22, your app will run with an unpredictable results. So we suggest you add an "if(SDK_INT>= 23)", " @TargetApi(Build.VERSION_CODES.M)" or change your app miniSDK from 16 to 23 to fix this potential issue.
By the way, "@TargetApi(Build.VERSION_CODES.M)" will be deleted by Android compiler when releasing APKs, so it seems like a not good way to solve those issues.
We confirm a callback compatibility issue which might threaten the robustness of your app and give a detailed suggestion for you.
In ''com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity", you super the framework API "<android.app.Activity: void onRequestPermissionsResult(int,java.lang.String[],int[])>" in "onRequestPermissionsResult" method as shown in following. But actually, this API is added in level 23 (https://developer.android.google.cn/reference/android/app/Activity?hl=en#onRequestPermissionsResult(int,%20java.lang.String[],%20int[])).
So when the app try to initial related Toast on devices SDK version 16 to 22, your app will run with an unpredictable results. So we suggest you add an "if(SDK_INT>= 23)", " @TargetApi(Build.VERSION_CODES.M)" or change your app miniSDK from 16 to 23 to fix this potential issue. By the way, "@TargetApi(Build.VERSION_CODES.M)" will be deleted by Android compiler when releasing APKs, so it seems like a not good way to solve those issues.