update: DeviceInfoFragment adapter now use ViewHolder