| 1210 | } |
| 1211 | |
| 1212 | public static boolean isCallingFromMethod(@NonNull String methodName, int maxDepth) { |
| 1213 | if (TextUtils.isEmpty(methodName)) { |
| 1214 | throw new IllegalArgumentException("methodName is empty"); |
| 1215 | } |
| 1216 | if (maxDepth < 0) { |
| 1217 | throw new IllegalArgumentException("maxDepth must >= 0"); |
| 1218 | } |
| 1219 | StackTraceElement[] ste = new Throwable().getStackTrace(); |
| 1220 | int i = 1; |
| 1221 | while (i < ste.length && (i <= maxDepth || maxDepth == 0)) { |
| 1222 | if (ste[i].getMethodName().equals(methodName)) { |
| 1223 | return true; |
| 1224 | } |
| 1225 | i++; |
| 1226 | } |
| 1227 | return false; |
| 1228 | } |
| 1229 | |
| 1230 | } |