getDeviceSerialNumber() + Build.SERIAL  - are the same source of entropy, I mean possible value of this expression:

1. Build.SERIAL + Build.SERIAL
2. "c5b1b988-955d-45ca-acd1-b52a1017bc48"

So it is enough to leave only  getDeviceSerialNumber()

mContext.getPackageName() - does it always the same? Event after update of the application/platform?

Build.SERIAL - will it change after update OS?

If this 2 things are not constants during update application or update OS it means that you will not able to decrypt correctly after update of application or OS.