@Nullable
    @RequiresApi(23)
    private static Uri getUri(@NonNull Icon icon) {
        if (Build.VERSION.SDK_INT >= 28) {
            return icon.getUri();
        }
        try {
            return (Uri) icon.getClass().getMethod("getUri").invoke(icon);
        } catch (IllegalAccessException e) {
            Log.e(TAG, "Unable to get icon uri", e);
            return null;
        } catch (InvocationTargetException e) {
            Log.e(TAG, "Unable to get icon uri", e);
            return null;
        } catch (NoSuchMethodException e) {
            Log.e(TAG, "Unable to get icon uri", e);
            return null;
        }
    }
Gets the uri used to create this icon.
<p>
Only valid for icons of type TYPE_URI.
Note: This uri may not be available in the future, and it is
up to the caller to ensure safety if this uri is re-used and/or persisted.
Returns {@code null} if the uri cannot be gotten.
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/compat/IconCompat.java