class StripeNetworkUtils {

    @SuppressWarnings("HardwareIds")
    static void addUidParams(
            @Nullable UidProvider provider,
            @NonNull Context context,
            @NonNull Map<String, Object> params) {
        String guid =
                provider == null
                ? Settings.Secure.getString(context.getContentResolver(),
                        Settings.Secure.ANDROID_ID)
                : provider.getUid();

        if (StripeTextUtils.isBlank(guid)) {
            return;
        }

        String hashGuid = StripeTextUtils.shaHashInput(guid);
        String muid =
                provider == null
                        ? context.getApplicationContext().getPackageName() + guid
                        : provider.getPackageName() + guid;
        String hashMuid = StripeTextUtils.shaHashInput(muid);

        if (!StripeTextUtils.isBlank(hashGuid)) {
            params.put(GUID, hashGuid);
        }

        if (!StripeTextUtils.isBlank(hashMuid)) {
            params.put(MUID, hashMuid);
        }
    }

}