All internal calculations are performed in the metric system; when selected
imperial system input values are converted to meters/centimeters
before the calculation, and the results back to ft/sq ft for display.
Functionalities
Entering tile dimensions, slope and parameters, with units of measurement
according to the selected system
Optional: deduction of area for chimneys and dormers (number × width ×
height for each type), subtracted from the total area before calculating the
number of tiles — the result card shows gross area, deduction and
net area to cover when deduction is greater than 0
Visualization (`RoofView`): front view for a gable roof,
plan (top) with ridge lines and the four slopes for a hipped roof
Calculation history saved locally via SQLite (`DatabaseHelper`),
displayed in the currently selected units of measurement and language
Export history as CSV(`CsvExporter`) — "Export CSV" button
in the History screen opens the system sharing dialog (email, Drive,
Files, etc.) with a generated `.csv` file containing all saved
calculations with all raw values in metric system
Full localization in 5 languages (`values`, `values-bg`, `values-fr`,
`values-de`, `values-es`)
Project structure
app/src/main/java/com/iigtechnology/rooftilecalculator/
├── MainActivity.java — main screen: input, calculation, choices
├── RoofCalculation.java — model with formulas (metric, internal)