mirror of
https://github.com/Myzel394/NumberHub.git
synced 2025-06-18 16:25:27 +02:00
Update UnitsRepository
- Refactor Unit classes - Add grain - Add pace units closes #143 #144 squashed commit
This commit is contained in:
parent
95b12cf1f8
commit
839954ce85
@ -92,10 +92,12 @@ Used in this dialog window. Should be short -->
|
|||||||
<string name="settings_amoled_dark">AMOLED Dark</string>
|
<string name="settings_amoled_dark">AMOLED Dark</string>
|
||||||
<string name="settings_amoled_dark_support">Use black background for dark themes</string>
|
<string name="settings_amoled_dark_support">Use black background for dark themes</string>
|
||||||
<string name="settings_auto">Auto</string>
|
<string name="settings_auto">Auto</string>
|
||||||
|
|
||||||
|
<!-- Option in menu. Here it is used as a verb (action) - "back up", don't confuse with "backup".
|
||||||
|
Alternatively you can use "Export" -->
|
||||||
|
<string name="settings_back_up">Back up</string>
|
||||||
<string name="settings_calculator_support">History view</string>
|
<string name="settings_calculator_support">History view</string>
|
||||||
<string name="settings_clear_cache">Clear cache</string>
|
<string name="settings_clear_cache">Clear cache</string>
|
||||||
<string name="settings_clear_input">Clear input</string>
|
|
||||||
<string name="settings_clear_input_support">Start new expression when clicking \"=\" and any button</string>
|
|
||||||
<string name="settings_color_scheme">Color scheme</string>
|
<string name="settings_color_scheme">Color scheme</string>
|
||||||
<string name="settings_color_theme">Color theme</string>
|
<string name="settings_color_theme">Color theme</string>
|
||||||
<string name="settings_color_theme_support">Pick a theming mode</string>
|
<string name="settings_color_theme_support">Pick a theming mode</string>
|
||||||
@ -138,6 +140,9 @@ Maybe this can be labeled better? Let me know. It should be something that can d
|
|||||||
<string name="settings_privacy_policy">Privacy Policy</string>
|
<string name="settings_privacy_policy">Privacy Policy</string>
|
||||||
<string name="settings_rate_this_app">Rate this app</string>
|
<string name="settings_rate_this_app">Rate this app</string>
|
||||||
<string name="settings_reorder_unit_group_description">Reorder unit group</string>
|
<string name="settings_reorder_unit_group_description">Reorder unit group</string>
|
||||||
|
|
||||||
|
<!-- Option in menu. Verb (action). Alternatively you can use "Import" -->
|
||||||
|
<string name="settings_restore">Restore</string>
|
||||||
<string name="settings_selected_color">Selected color</string>
|
<string name="settings_selected_color">Selected color</string>
|
||||||
<string name="settings_selected_style">Selected style</string>
|
<string name="settings_selected_style">Selected style</string>
|
||||||
<string name="settings_separator">Separator</string>
|
<string name="settings_separator">Separator</string>
|
||||||
@ -828,6 +833,10 @@ Maybe this can be labeled better? Let me know. It should be something that can d
|
|||||||
<string name="unit_gigaton_short">Gt</string>
|
<string name="unit_gigaton_short">Gt</string>
|
||||||
<string name="unit_gigaweber">Gigaweber</string>
|
<string name="unit_gigaweber">Gigaweber</string>
|
||||||
<string name="unit_gigaweber_short">GWb</string>
|
<string name="unit_gigaweber_short">GWb</string>
|
||||||
|
|
||||||
|
<!-- Unit of mass -->
|
||||||
|
<string name="unit_grain">Grain</string>
|
||||||
|
<string name="unit_grain_short">gr</string>
|
||||||
<string name="unit_gram">Gram</string>
|
<string name="unit_gram">Gram</string>
|
||||||
<string name="unit_gram_force">Gram-force</string>
|
<string name="unit_gram_force">Gram-force</string>
|
||||||
<string name="unit_gram_force_centimeter">Gram-force centimeter</string>
|
<string name="unit_gram_force_centimeter">Gram-force centimeter</string>
|
||||||
@ -875,6 +884,10 @@ Maybe this can be labeled better? Let me know. It should be something that can d
|
|||||||
<string name="unit_horse_power_mechanical">Horsepower</string>
|
<string name="unit_horse_power_mechanical">Horsepower</string>
|
||||||
<string name="unit_horse_power_mechanical_short">hp</string>
|
<string name="unit_horse_power_mechanical_short">hp</string>
|
||||||
<string name="unit_hour">Hour</string>
|
<string name="unit_hour">Hour</string>
|
||||||
|
<string name="unit_hour_per_kilometer">Hour/kilometer</string>
|
||||||
|
<string name="unit_hour_per_kilometer_short">h/km</string>
|
||||||
|
<string name="unit_hour_per_mile">Hour/mile</string>
|
||||||
|
<string name="unit_hour_per_mile_short">h/mi</string>
|
||||||
<string name="unit_hour_short">h</string>
|
<string name="unit_hour_short">h</string>
|
||||||
<string name="unit_imperial_cup">Imperial cup</string>
|
<string name="unit_imperial_cup">Imperial cup</string>
|
||||||
<string name="unit_imperial_cup_short">cup</string>
|
<string name="unit_imperial_cup_short">cup</string>
|
||||||
@ -1133,6 +1146,10 @@ Maybe this can be labeled better? Let me know. It should be something that can d
|
|||||||
<string name="unit_milliweber">Milliweber</string>
|
<string name="unit_milliweber">Milliweber</string>
|
||||||
<string name="unit_milliweber_short">mWb</string>
|
<string name="unit_milliweber_short">mWb</string>
|
||||||
<string name="unit_minute">Minute</string>
|
<string name="unit_minute">Minute</string>
|
||||||
|
<string name="unit_minute_per_kilometer">Minute/kilometer</string>
|
||||||
|
<string name="unit_minute_per_kilometer_short">m/km</string>
|
||||||
|
<string name="unit_minute_per_mile">Minute/mile</string>
|
||||||
|
<string name="unit_minute_per_mile_short">m/mi</string>
|
||||||
<string name="unit_minute_short">m</string>
|
<string name="unit_minute_short">m</string>
|
||||||
<string name="unit_month_short">m</string>
|
<string name="unit_month_short">m</string>
|
||||||
<string name="unit_nanofarad">Nanofarad</string>
|
<string name="unit_nanofarad">Nanofarad</string>
|
||||||
|
@ -57,6 +57,7 @@ object MyUnitIDS {
|
|||||||
const val atomic_mass_unit = "atomic_mass_unit"
|
const val atomic_mass_unit = "atomic_mass_unit"
|
||||||
const val microgram = "microgram"
|
const val microgram = "microgram"
|
||||||
const val milligram = "milligram"
|
const val milligram = "milligram"
|
||||||
|
const val grain = "grain"
|
||||||
const val gram = "gram"
|
const val gram = "gram"
|
||||||
const val kilogram = "kilogram"
|
const val kilogram = "kilogram"
|
||||||
const val metric_ton = "metric_ton"
|
const val metric_ton = "metric_ton"
|
||||||
@ -101,6 +102,10 @@ object MyUnitIDS {
|
|||||||
const val mile_per_hour = "mile_per_hour"
|
const val mile_per_hour = "mile_per_hour"
|
||||||
const val mile_per_minute = "mile_per_minute"
|
const val mile_per_minute = "mile_per_minute"
|
||||||
const val mile_per_second = "mile_per_second"
|
const val mile_per_second = "mile_per_second"
|
||||||
|
const val minute_per_kilometer = "minute_per_kilometer"
|
||||||
|
const val minute_per_mile = "minute_per_mile"
|
||||||
|
const val hour_per_kilometer = "hour_per_kilometer"
|
||||||
|
const val hour_per_mile = "hour_per_mile"
|
||||||
const val knot = "knot"
|
const val knot = "knot"
|
||||||
const val velocity_of_light_in_vacuum = "velocity_of_light_in_vacuum"
|
const val velocity_of_light_in_vacuum = "velocity_of_light_in_vacuum"
|
||||||
const val cosmic_velocity_first = "cosmic_velocity_first"
|
const val cosmic_velocity_first = "cosmic_velocity_first"
|
||||||
|
@ -19,24 +19,24 @@
|
|||||||
package com.sadellie.unitto.data.converter.collections
|
package com.sadellie.unitto.data.converter.collections
|
||||||
|
|
||||||
import com.sadellie.unitto.core.base.R
|
import com.sadellie.unitto.core.base.R
|
||||||
|
import com.sadellie.unitto.data.converter.MyUnitIDS
|
||||||
import com.sadellie.unitto.data.model.UnitGroup
|
import com.sadellie.unitto.data.model.UnitGroup
|
||||||
import com.sadellie.unitto.data.model.unit.AbstractUnit
|
import com.sadellie.unitto.data.model.unit.AbstractUnit
|
||||||
import com.sadellie.unitto.data.model.unit.FuelBackward
|
import com.sadellie.unitto.data.model.unit.BackwardUnit
|
||||||
import com.sadellie.unitto.data.model.unit.FuelForward
|
import com.sadellie.unitto.data.model.unit.NormalUnit
|
||||||
import com.sadellie.unitto.data.converter.MyUnitIDS
|
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
|
|
||||||
val fuelConsumptionCollection: List<AbstractUnit> by lazy {
|
val fuelConsumptionCollection: List<AbstractUnit> by lazy {
|
||||||
listOf(
|
listOf(
|
||||||
FuelForward(MyUnitIDS.kilometer_per_liter, BigDecimal.valueOf(1), UnitGroup.FUEL_CONSUMPTION, R.string.unit_km_per_l, R.string.unit_km_per_l_short),
|
NormalUnit( MyUnitIDS.kilometer_per_liter, BigDecimal.valueOf(1), UnitGroup.FUEL_CONSUMPTION, R.string.unit_km_per_l, R.string.unit_km_per_l_short),
|
||||||
FuelBackward(MyUnitIDS.liter_per_kilometer, BigDecimal.valueOf(1), UnitGroup.FUEL_CONSUMPTION, R.string.unit_l_per_km, R.string.unit_l_per_km_short),
|
BackwardUnit(MyUnitIDS.liter_per_kilometer, BigDecimal.valueOf(1), UnitGroup.FUEL_CONSUMPTION, R.string.unit_l_per_km, R.string.unit_l_per_km_short),
|
||||||
FuelBackward(MyUnitIDS.liter_per_100_kilometer, BigDecimal.valueOf(100), UnitGroup.FUEL_CONSUMPTION, R.string.unit_l_per_100_km, R.string.unit_l_per_100_km_short),
|
BackwardUnit(MyUnitIDS.liter_per_100_kilometer, BigDecimal.valueOf(100), UnitGroup.FUEL_CONSUMPTION, R.string.unit_l_per_100_km, R.string.unit_l_per_100_km_short),
|
||||||
FuelForward(MyUnitIDS.mile_per_gallon_uk, BigDecimal.valueOf(0.35400619), UnitGroup.FUEL_CONSUMPTION, R.string.unit_mi_per_gallon_uk, R.string.unit_mi_per_gallon_uk_short),
|
NormalUnit( MyUnitIDS.mile_per_gallon_uk, BigDecimal.valueOf(0.35400619), UnitGroup.FUEL_CONSUMPTION, R.string.unit_mi_per_gallon_uk, R.string.unit_mi_per_gallon_uk_short),
|
||||||
FuelForward(MyUnitIDS.mile_per_gallon_us, BigDecimal.valueOf(0.4251437075), UnitGroup.FUEL_CONSUMPTION, R.string.unit_mi_per_gallon_us, R.string.unit_mi_per_gallon_us_short),
|
NormalUnit( MyUnitIDS.mile_per_gallon_us, BigDecimal.valueOf(0.4251437075), UnitGroup.FUEL_CONSUMPTION, R.string.unit_mi_per_gallon_us, R.string.unit_mi_per_gallon_us_short),
|
||||||
FuelForward(MyUnitIDS.mile_us_per_liter, BigDecimal.valueOf(1.609344), UnitGroup.FUEL_CONSUMPTION, R.string.unit_mi_us_per_l, R.string.unit_mi_us_per_l_short),
|
NormalUnit( MyUnitIDS.mile_us_per_liter, BigDecimal.valueOf(1.609344), UnitGroup.FUEL_CONSUMPTION, R.string.unit_mi_us_per_l, R.string.unit_mi_us_per_l_short),
|
||||||
FuelBackward(MyUnitIDS.gallon_us_per_mile, BigDecimal.valueOf(0.4251437075), UnitGroup.FUEL_CONSUMPTION, R.string.unit_gallon_us_per_mile, R.string.unit_gallon_us_per_mile_short),
|
BackwardUnit(MyUnitIDS.gallon_us_per_mile, BigDecimal.valueOf(0.4251437075), UnitGroup.FUEL_CONSUMPTION, R.string.unit_gallon_us_per_mile, R.string.unit_gallon_us_per_mile_short),
|
||||||
FuelBackward(MyUnitIDS.gallon_uk_per_mile, BigDecimal.valueOf(0.35400619), UnitGroup.FUEL_CONSUMPTION, R.string.unit_gallon_uk_per_mile, R.string.unit_gallon_uk_per_mile_short),
|
BackwardUnit(MyUnitIDS.gallon_uk_per_mile, BigDecimal.valueOf(0.35400619), UnitGroup.FUEL_CONSUMPTION, R.string.unit_gallon_uk_per_mile, R.string.unit_gallon_uk_per_mile_short),
|
||||||
FuelBackward(MyUnitIDS.gallon_us_per_100_mile, BigDecimal.valueOf(42.51437075), UnitGroup.FUEL_CONSUMPTION, R.string.unit_gallon_us_per_100_mile, R.string.unit_gallon_us_per_100_mile_short),
|
BackwardUnit(MyUnitIDS.gallon_us_per_100_mile, BigDecimal.valueOf(42.51437075), UnitGroup.FUEL_CONSUMPTION, R.string.unit_gallon_us_per_100_mile, R.string.unit_gallon_us_per_100_mile_short),
|
||||||
FuelBackward(MyUnitIDS.gallon_uk_per_100_mile, BigDecimal.valueOf(35.400618996), UnitGroup.FUEL_CONSUMPTION, R.string.unit_gallon_uk_per_100_mile, R.string.unit_gallon_uk_per_100_mile_short),
|
BackwardUnit(MyUnitIDS.gallon_uk_per_100_mile, BigDecimal.valueOf(35.400618996), UnitGroup.FUEL_CONSUMPTION, R.string.unit_gallon_uk_per_100_mile, R.string.unit_gallon_uk_per_100_mile_short),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,10 @@
|
|||||||
package com.sadellie.unitto.data.converter.collections
|
package com.sadellie.unitto.data.converter.collections
|
||||||
|
|
||||||
import com.sadellie.unitto.core.base.R
|
import com.sadellie.unitto.core.base.R
|
||||||
|
import com.sadellie.unitto.data.converter.MyUnitIDS
|
||||||
import com.sadellie.unitto.data.model.UnitGroup
|
import com.sadellie.unitto.data.model.UnitGroup
|
||||||
import com.sadellie.unitto.data.model.unit.AbstractUnit
|
import com.sadellie.unitto.data.model.unit.AbstractUnit
|
||||||
import com.sadellie.unitto.data.model.unit.NormalUnit
|
import com.sadellie.unitto.data.model.unit.NormalUnit
|
||||||
import com.sadellie.unitto.data.converter.MyUnitIDS
|
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
|
|
||||||
internal val massCollection: List<AbstractUnit> by lazy {
|
internal val massCollection: List<AbstractUnit> by lazy {
|
||||||
@ -31,6 +31,7 @@ internal val massCollection: List<AbstractUnit> by lazy {
|
|||||||
NormalUnit(MyUnitIDS.atomic_mass_unit, BigDecimal.valueOf(1.6605402E-24), UnitGroup.MASS, R.string.unit_atomic_mass_unit, R.string.unit_atomic_mass_unit_short),
|
NormalUnit(MyUnitIDS.atomic_mass_unit, BigDecimal.valueOf(1.6605402E-24), UnitGroup.MASS, R.string.unit_atomic_mass_unit, R.string.unit_atomic_mass_unit_short),
|
||||||
NormalUnit(MyUnitIDS.microgram, BigDecimal(1E-6), UnitGroup.MASS, R.string.unit_microgram, R.string.unit_microgram_short),
|
NormalUnit(MyUnitIDS.microgram, BigDecimal(1E-6), UnitGroup.MASS, R.string.unit_microgram, R.string.unit_microgram_short),
|
||||||
NormalUnit(MyUnitIDS.milligram, BigDecimal.valueOf(1E-3), UnitGroup.MASS, R.string.unit_milligram, R.string.unit_milligram_short),
|
NormalUnit(MyUnitIDS.milligram, BigDecimal.valueOf(1E-3), UnitGroup.MASS, R.string.unit_milligram, R.string.unit_milligram_short),
|
||||||
|
NormalUnit(MyUnitIDS.grain, BigDecimal.valueOf(0.06479891), UnitGroup.MASS, R.string.unit_grain, R.string.unit_grain_short),
|
||||||
NormalUnit(MyUnitIDS.gram, BigDecimal.valueOf(1), UnitGroup.MASS, R.string.unit_gram, R.string.unit_gram_short),
|
NormalUnit(MyUnitIDS.gram, BigDecimal.valueOf(1), UnitGroup.MASS, R.string.unit_gram, R.string.unit_gram_short),
|
||||||
NormalUnit(MyUnitIDS.kilogram, BigDecimal.valueOf(1E+3), UnitGroup.MASS, R.string.unit_kilogram, R.string.unit_kilogram_short),
|
NormalUnit(MyUnitIDS.kilogram, BigDecimal.valueOf(1E+3), UnitGroup.MASS, R.string.unit_kilogram, R.string.unit_kilogram_short),
|
||||||
NormalUnit(MyUnitIDS.metric_ton, BigDecimal.valueOf(1E+6), UnitGroup.MASS, R.string.unit_metric_ton, R.string.unit_metric_ton_short),
|
NormalUnit(MyUnitIDS.metric_ton, BigDecimal.valueOf(1E+6), UnitGroup.MASS, R.string.unit_metric_ton, R.string.unit_metric_ton_short),
|
||||||
|
@ -19,42 +19,47 @@
|
|||||||
package com.sadellie.unitto.data.converter.collections
|
package com.sadellie.unitto.data.converter.collections
|
||||||
|
|
||||||
import com.sadellie.unitto.core.base.R
|
import com.sadellie.unitto.core.base.R
|
||||||
|
import com.sadellie.unitto.data.converter.MyUnitIDS
|
||||||
import com.sadellie.unitto.data.model.UnitGroup
|
import com.sadellie.unitto.data.model.UnitGroup
|
||||||
import com.sadellie.unitto.data.model.unit.AbstractUnit
|
import com.sadellie.unitto.data.model.unit.AbstractUnit
|
||||||
|
import com.sadellie.unitto.data.model.unit.BackwardUnit
|
||||||
import com.sadellie.unitto.data.model.unit.NormalUnit
|
import com.sadellie.unitto.data.model.unit.NormalUnit
|
||||||
import com.sadellie.unitto.data.converter.MyUnitIDS
|
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
|
|
||||||
internal val speedCollection: List<AbstractUnit> by lazy {
|
internal val speedCollection: List<AbstractUnit> by lazy {
|
||||||
listOf(
|
listOf(
|
||||||
NormalUnit(MyUnitIDS.millimeter_per_hour, BigDecimal.valueOf(1), UnitGroup.SPEED, R.string.unit_millimeter_per_hour, R.string.unit_millimeter_per_hour_short),
|
NormalUnit( MyUnitIDS.millimeter_per_hour, BigDecimal.valueOf(1), UnitGroup.SPEED, R.string.unit_millimeter_per_hour, R.string.unit_millimeter_per_hour_short),
|
||||||
NormalUnit(MyUnitIDS.millimeter_per_minute, BigDecimal.valueOf(60), UnitGroup.SPEED, R.string.unit_millimeter_per_minute, R.string.unit_millimeter_per_minute_short),
|
NormalUnit( MyUnitIDS.millimeter_per_minute, BigDecimal.valueOf(60), UnitGroup.SPEED, R.string.unit_millimeter_per_minute, R.string.unit_millimeter_per_minute_short),
|
||||||
NormalUnit(MyUnitIDS.millimeter_per_second, BigDecimal.valueOf(3_600), UnitGroup.SPEED, R.string.unit_millimeter_per_second, R.string.unit_millimeter_per_second_short),
|
NormalUnit( MyUnitIDS.millimeter_per_second, BigDecimal.valueOf(3_600), UnitGroup.SPEED, R.string.unit_millimeter_per_second, R.string.unit_millimeter_per_second_short),
|
||||||
NormalUnit(MyUnitIDS.centimeter_per_hour, BigDecimal.valueOf(10), UnitGroup.SPEED, R.string.unit_centimeter_per_hour, R.string.unit_centimeter_per_hour_short),
|
NormalUnit( MyUnitIDS.centimeter_per_hour, BigDecimal.valueOf(10), UnitGroup.SPEED, R.string.unit_centimeter_per_hour, R.string.unit_centimeter_per_hour_short),
|
||||||
NormalUnit(MyUnitIDS.centimeter_per_minute, BigDecimal.valueOf(600), UnitGroup.SPEED, R.string.unit_centimeter_per_minute, R.string.unit_centimeter_per_minute_short),
|
NormalUnit( MyUnitIDS.centimeter_per_minute, BigDecimal.valueOf(600), UnitGroup.SPEED, R.string.unit_centimeter_per_minute, R.string.unit_centimeter_per_minute_short),
|
||||||
NormalUnit(MyUnitIDS.centimeter_per_second, BigDecimal.valueOf(36_000), UnitGroup.SPEED, R.string.unit_centimeter_per_second, R.string.unit_centimeter_per_second_short),
|
NormalUnit( MyUnitIDS.centimeter_per_second, BigDecimal.valueOf(36_000), UnitGroup.SPEED, R.string.unit_centimeter_per_second, R.string.unit_centimeter_per_second_short),
|
||||||
NormalUnit(MyUnitIDS.meter_per_hour, BigDecimal.valueOf(1_000), UnitGroup.SPEED, R.string.unit_meter_per_hour, R.string.unit_meter_per_hour_short),
|
NormalUnit( MyUnitIDS.meter_per_hour, BigDecimal.valueOf(1_000), UnitGroup.SPEED, R.string.unit_meter_per_hour, R.string.unit_meter_per_hour_short),
|
||||||
NormalUnit(MyUnitIDS.meter_per_minute, BigDecimal.valueOf(60_000), UnitGroup.SPEED, R.string.unit_meter_per_minute, R.string.unit_meter_per_minute_short),
|
NormalUnit( MyUnitIDS.meter_per_minute, BigDecimal.valueOf(60_000), UnitGroup.SPEED, R.string.unit_meter_per_minute, R.string.unit_meter_per_minute_short),
|
||||||
NormalUnit(MyUnitIDS.meter_per_second, BigDecimal.valueOf(3_600_000), UnitGroup.SPEED, R.string.unit_meter_per_second, R.string.unit_meter_per_second_short),
|
NormalUnit( MyUnitIDS.meter_per_second, BigDecimal.valueOf(3_600_000), UnitGroup.SPEED, R.string.unit_meter_per_second, R.string.unit_meter_per_second_short),
|
||||||
NormalUnit(MyUnitIDS.kilometer_per_hour, BigDecimal.valueOf(1_000_000), UnitGroup.SPEED, R.string.unit_kilometer_per_hour, R.string.unit_kilometer_per_hour_short),
|
NormalUnit( MyUnitIDS.kilometer_per_hour, BigDecimal.valueOf(1_000_000), UnitGroup.SPEED, R.string.unit_kilometer_per_hour, R.string.unit_kilometer_per_hour_short),
|
||||||
NormalUnit(MyUnitIDS.kilometer_per_minute, BigDecimal.valueOf(60_000_000), UnitGroup.SPEED, R.string.unit_kilometer_per_minute, R.string.unit_kilometer_per_minute_short),
|
NormalUnit( MyUnitIDS.kilometer_per_minute, BigDecimal.valueOf(60_000_000), UnitGroup.SPEED, R.string.unit_kilometer_per_minute, R.string.unit_kilometer_per_minute_short),
|
||||||
NormalUnit(MyUnitIDS.kilometer_per_second, BigDecimal.valueOf(3_600_000_000), UnitGroup.SPEED, R.string.unit_kilometer_per_second, R.string.unit_kilometer_per_second_short),
|
NormalUnit( MyUnitIDS.kilometer_per_second, BigDecimal.valueOf(3_600_000_000), UnitGroup.SPEED, R.string.unit_kilometer_per_second, R.string.unit_kilometer_per_second_short),
|
||||||
NormalUnit(MyUnitIDS.foot_per_hour, BigDecimal.valueOf(304.8), UnitGroup.SPEED, R.string.unit_foot_per_hour, R.string.unit_foot_per_hour_short),
|
NormalUnit( MyUnitIDS.foot_per_hour, BigDecimal.valueOf(304.8), UnitGroup.SPEED, R.string.unit_foot_per_hour, R.string.unit_foot_per_hour_short),
|
||||||
NormalUnit(MyUnitIDS.foot_per_minute, BigDecimal.valueOf(18_288), UnitGroup.SPEED, R.string.unit_foot_per_minute, R.string.unit_foot_per_minute_short),
|
NormalUnit( MyUnitIDS.foot_per_minute, BigDecimal.valueOf(18_288), UnitGroup.SPEED, R.string.unit_foot_per_minute, R.string.unit_foot_per_minute_short),
|
||||||
NormalUnit(MyUnitIDS.foot_per_second, BigDecimal.valueOf(1_097_280), UnitGroup.SPEED, R.string.unit_foot_per_second, R.string.unit_foot_per_second_short),
|
NormalUnit( MyUnitIDS.foot_per_second, BigDecimal.valueOf(1_097_280), UnitGroup.SPEED, R.string.unit_foot_per_second, R.string.unit_foot_per_second_short),
|
||||||
NormalUnit(MyUnitIDS.yard_per_hour, BigDecimal.valueOf(914.4), UnitGroup.SPEED, R.string.unit_yard_per_hour, R.string.unit_yard_per_hour_short),
|
NormalUnit( MyUnitIDS.yard_per_hour, BigDecimal.valueOf(914.4), UnitGroup.SPEED, R.string.unit_yard_per_hour, R.string.unit_yard_per_hour_short),
|
||||||
NormalUnit(MyUnitIDS.yard_per_minute, BigDecimal.valueOf(54_864), UnitGroup.SPEED, R.string.unit_yard_per_minute, R.string.unit_yard_per_minute_short),
|
NormalUnit( MyUnitIDS.yard_per_minute, BigDecimal.valueOf(54_864), UnitGroup.SPEED, R.string.unit_yard_per_minute, R.string.unit_yard_per_minute_short),
|
||||||
NormalUnit(MyUnitIDS.yard_per_second, BigDecimal.valueOf(3_291_840), UnitGroup.SPEED, R.string.unit_yard_per_second, R.string.unit_yard_per_second_short),
|
NormalUnit( MyUnitIDS.yard_per_second, BigDecimal.valueOf(3_291_840), UnitGroup.SPEED, R.string.unit_yard_per_second, R.string.unit_yard_per_second_short),
|
||||||
NormalUnit(MyUnitIDS.mile_per_hour, BigDecimal.valueOf(1_609_344), UnitGroup.SPEED, R.string.unit_mile_per_hour, R.string.unit_mile_per_hour_short),
|
NormalUnit( MyUnitIDS.mile_per_hour, BigDecimal.valueOf(1_609_344), UnitGroup.SPEED, R.string.unit_mile_per_hour, R.string.unit_mile_per_hour_short),
|
||||||
NormalUnit(MyUnitIDS.mile_per_minute, BigDecimal.valueOf(96_560_640), UnitGroup.SPEED, R.string.unit_mile_per_minute, R.string.unit_mile_per_minute_short),
|
NormalUnit( MyUnitIDS.mile_per_minute, BigDecimal.valueOf(96_560_640), UnitGroup.SPEED, R.string.unit_mile_per_minute, R.string.unit_mile_per_minute_short),
|
||||||
NormalUnit(MyUnitIDS.mile_per_second, BigDecimal.valueOf(5_793_638_400), UnitGroup.SPEED, R.string.unit_mile_per_second, R.string.unit_mile_per_second_short),
|
NormalUnit( MyUnitIDS.mile_per_second, BigDecimal.valueOf(5_793_638_400), UnitGroup.SPEED, R.string.unit_mile_per_second, R.string.unit_mile_per_second_short),
|
||||||
NormalUnit(MyUnitIDS.knot, BigDecimal.valueOf(1_852_000), UnitGroup.SPEED, R.string.unit_knot, R.string.unit_knot_short),
|
BackwardUnit(MyUnitIDS.minute_per_kilometer, BigDecimal.valueOf(60_000_000), UnitGroup.SPEED, R.string.unit_minute_per_kilometer, R.string.unit_minute_per_kilometer_short),
|
||||||
NormalUnit(MyUnitIDS.velocity_of_light_in_vacuum, BigDecimal.valueOf(1_079_252_848_799_998), UnitGroup.SPEED, R.string.unit_velocity_of_light_in_vacuum, R.string.unit_velocity_of_light_in_vacuum_short),
|
BackwardUnit(MyUnitIDS.minute_per_mile, BigDecimal.valueOf(96_560_640), UnitGroup.SPEED, R.string.unit_minute_per_mile, R.string.unit_minute_per_mile_short),
|
||||||
NormalUnit(MyUnitIDS.cosmic_velocity_first, BigDecimal.valueOf(28_440_000_000), UnitGroup.SPEED, R.string.unit_cosmic_velocity_first, R.string.unit_cosmic_velocity_first_short),
|
BackwardUnit(MyUnitIDS.hour_per_kilometer, BigDecimal.valueOf(1_000_000), UnitGroup.SPEED, R.string.unit_hour_per_kilometer, R.string.unit_hour_per_kilometer_short),
|
||||||
NormalUnit(MyUnitIDS.cosmic_velocity_second, BigDecimal.valueOf(40_320_000_000), UnitGroup.SPEED, R.string.unit_cosmic_velocity_second, R.string.unit_cosmic_velocity_second_short),
|
BackwardUnit(MyUnitIDS.hour_per_mile, BigDecimal.valueOf(1_609_344), UnitGroup.SPEED, R.string.unit_hour_per_mile, R.string.unit_hour_per_mile_short),
|
||||||
NormalUnit(MyUnitIDS.cosmic_velocity_third, BigDecimal.valueOf(60_012_000_000), UnitGroup.SPEED, R.string.unit_cosmic_velocity_third, R.string.unit_cosmic_velocity_third_short),
|
NormalUnit( MyUnitIDS.knot, BigDecimal.valueOf(1_852_000), UnitGroup.SPEED, R.string.unit_knot, R.string.unit_knot_short),
|
||||||
NormalUnit(MyUnitIDS.earths_orbital_speed, BigDecimal.valueOf(107_154_000_000), UnitGroup.SPEED, R.string.unit_earths_orbital_speed, R.string.unit_earths_orbital_speed_short),
|
NormalUnit( MyUnitIDS.velocity_of_light_in_vacuum, BigDecimal.valueOf(1_079_252_848_799_998), UnitGroup.SPEED, R.string.unit_velocity_of_light_in_vacuum, R.string.unit_velocity_of_light_in_vacuum_short),
|
||||||
NormalUnit(MyUnitIDS.mach, BigDecimal.valueOf(1_236_960_000), UnitGroup.SPEED, R.string.unit_mach, R.string.unit_mach_short),
|
NormalUnit( MyUnitIDS.cosmic_velocity_first, BigDecimal.valueOf(28_440_000_000), UnitGroup.SPEED, R.string.unit_cosmic_velocity_first, R.string.unit_cosmic_velocity_first_short),
|
||||||
NormalUnit(MyUnitIDS.mach_si_standard, BigDecimal.valueOf(1_062_167_040), UnitGroup.SPEED, R.string.unit_mach_si_standard, R.string.unit_mach_si_standard_short),
|
NormalUnit( MyUnitIDS.cosmic_velocity_second, BigDecimal.valueOf(40_320_000_000), UnitGroup.SPEED, R.string.unit_cosmic_velocity_second, R.string.unit_cosmic_velocity_second_short),
|
||||||
|
NormalUnit( MyUnitIDS.cosmic_velocity_third, BigDecimal.valueOf(60_012_000_000), UnitGroup.SPEED, R.string.unit_cosmic_velocity_third, R.string.unit_cosmic_velocity_third_short),
|
||||||
|
NormalUnit( MyUnitIDS.earths_orbital_speed, BigDecimal.valueOf(107_154_000_000), UnitGroup.SPEED, R.string.unit_earths_orbital_speed, R.string.unit_earths_orbital_speed_short),
|
||||||
|
NormalUnit( MyUnitIDS.mach, BigDecimal.valueOf(1_236_960_000), UnitGroup.SPEED, R.string.unit_mach, R.string.unit_mach_short),
|
||||||
|
NormalUnit( MyUnitIDS.mach_si_standard, BigDecimal.valueOf(1_062_167_040), UnitGroup.SPEED, R.string.unit_mach_si_standard, R.string.unit_mach_si_standard_short),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -235,6 +235,7 @@ class AllUnitsTest {
|
|||||||
fun testMass() = testWithUnits {
|
fun testMass() = testWithUnits {
|
||||||
electron_mass_rest.checkWith(milligram, "1500000000000000000", "0.000001")
|
electron_mass_rest.checkWith(milligram, "1500000000000000000", "0.000001")
|
||||||
atomic_mass_unit.checkWith(electron_mass_rest, "150", "273433.27951")
|
atomic_mass_unit.checkWith(electron_mass_rest, "150", "273433.27951")
|
||||||
|
grain.checkWith(milligram, "1500", "97198.365")
|
||||||
microgram.checkWith(gram, "1500", "0.0015")
|
microgram.checkWith(gram, "1500", "0.0015")
|
||||||
milligram.checkWith(ounce, "1500", "0.05291")
|
milligram.checkWith(ounce, "1500", "0.05291")
|
||||||
gram.checkWith(ounce, "1500", "52.91094")
|
gram.checkWith(ounce, "1500", "52.91094")
|
||||||
@ -321,6 +322,10 @@ class AllUnitsTest {
|
|||||||
mile_per_hour.checkWith(foot_per_hour, "396", "2090880")
|
mile_per_hour.checkWith(foot_per_hour, "396", "2090880")
|
||||||
mile_per_minute.checkWith(foot_per_hour, "396", "125452800")
|
mile_per_minute.checkWith(foot_per_hour, "396", "125452800")
|
||||||
mile_per_second.checkWith(foot_per_hour, "396", "7527168000")
|
mile_per_second.checkWith(foot_per_hour, "396", "7527168000")
|
||||||
|
minute_per_kilometer.checkWith(kilometer_per_minute, "396", "0.00253")
|
||||||
|
minute_per_mile.checkWith(mile_per_minute, "396", "0.00253")
|
||||||
|
hour_per_kilometer.checkWith(kilometer_per_hour, "396", "0.00253")
|
||||||
|
hour_per_mile.checkWith(mile_per_hour, "396", "0.00253")
|
||||||
knot.checkWith(meter_per_hour, "396", "733392")
|
knot.checkWith(meter_per_hour, "396", "733392")
|
||||||
velocity_of_light_in_vacuum.checkWith(meter_per_second, "1", "299792458")
|
velocity_of_light_in_vacuum.checkWith(meter_per_second, "1", "299792458")
|
||||||
cosmic_velocity_first.checkWith(meter_per_second, "1", "7900")
|
cosmic_velocity_first.checkWith(meter_per_second, "1", "7900")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Unitto is a unit converter for Android
|
* Unitto is a unit converter for Android
|
||||||
* Copyright (c) 2023 Elshan Agaev
|
* Copyright (c) 2024 Elshan Agaev
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -24,7 +24,7 @@ import com.sadellie.unitto.data.model.UnitGroup
|
|||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
import java.math.RoundingMode
|
import java.math.RoundingMode
|
||||||
|
|
||||||
data class FuelBackward(
|
data class BackwardUnit(
|
||||||
override val id: String,
|
override val id: String,
|
||||||
override val basicUnit: BigDecimal,
|
override val basicUnit: BigDecimal,
|
||||||
override val group: UnitGroup,
|
override val group: UnitGroup,
|
||||||
@ -39,17 +39,17 @@ data class FuelBackward(
|
|||||||
if (unitTo.basicUnit.isEqualTo(BigDecimal.ZERO)) return BigDecimal.ZERO
|
if (unitTo.basicUnit.isEqualTo(BigDecimal.ZERO)) return BigDecimal.ZERO
|
||||||
|
|
||||||
return when (unitTo) {
|
return when (unitTo) {
|
||||||
is FuelForward -> this
|
is NormalUnit -> this
|
||||||
.basicUnit
|
.basicUnit
|
||||||
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
||||||
.div(unitTo.basicUnit)
|
.div(unitTo.basicUnit)
|
||||||
.div(value)
|
.div(value)
|
||||||
|
|
||||||
is FuelBackward -> unitTo
|
is BackwardUnit -> unitTo
|
||||||
.basicUnit
|
.basicUnit
|
||||||
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
||||||
.div(this.basicUnit)
|
|
||||||
.multiply(value)
|
.multiply(value)
|
||||||
|
.div(this.basicUnit)
|
||||||
|
|
||||||
else -> BigDecimal.ZERO
|
else -> BigDecimal.ZERO
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@ data class FuelBackward(
|
|||||||
isFavorite: Boolean,
|
isFavorite: Boolean,
|
||||||
pairId: String?,
|
pairId: String?,
|
||||||
counter: Int,
|
counter: Int,
|
||||||
): FuelBackward = copy(
|
): BackwardUnit = copy(
|
||||||
id = id,
|
id = id,
|
||||||
basicUnit = basicUnit,
|
basicUnit = basicUnit,
|
||||||
group = group,
|
group = group,
|
@ -1,76 +0,0 @@
|
|||||||
/*
|
|
||||||
* Unitto is a unit converter for Android
|
|
||||||
* Copyright (c) 2023 Elshan Agaev
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.sadellie.unitto.data.model.unit
|
|
||||||
|
|
||||||
import com.sadellie.unitto.core.base.MAX_PRECISION
|
|
||||||
import com.sadellie.unitto.data.common.isEqualTo
|
|
||||||
import com.sadellie.unitto.data.model.UnitGroup
|
|
||||||
import java.math.BigDecimal
|
|
||||||
import java.math.RoundingMode
|
|
||||||
|
|
||||||
data class FuelForward(
|
|
||||||
override val id: String,
|
|
||||||
override val basicUnit: BigDecimal,
|
|
||||||
override val group: UnitGroup,
|
|
||||||
override val displayName: Int,
|
|
||||||
override val shortName: Int,
|
|
||||||
override val isFavorite: Boolean = false,
|
|
||||||
override val pairId: String? = null,
|
|
||||||
override val counter: Int = 0,
|
|
||||||
) : DefaultUnit {
|
|
||||||
override fun convert(unitTo: DefaultUnit, value: BigDecimal): BigDecimal {
|
|
||||||
// Avoid division by zero
|
|
||||||
if (unitTo.basicUnit.isEqualTo(BigDecimal.ZERO)) return BigDecimal.ZERO
|
|
||||||
|
|
||||||
return when (unitTo) {
|
|
||||||
is FuelForward -> this
|
|
||||||
.basicUnit
|
|
||||||
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
|
||||||
.div(unitTo.basicUnit).multiply(value)
|
|
||||||
|
|
||||||
is FuelBackward -> unitTo
|
|
||||||
.basicUnit
|
|
||||||
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
|
||||||
.div(this.basicUnit)
|
|
||||||
.div(value)
|
|
||||||
|
|
||||||
else -> BigDecimal.ZERO
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun clone(
|
|
||||||
id: String,
|
|
||||||
basicUnit: BigDecimal,
|
|
||||||
group: UnitGroup,
|
|
||||||
displayName: Int,
|
|
||||||
shortName: Int,
|
|
||||||
isFavorite: Boolean,
|
|
||||||
pairId: String?,
|
|
||||||
counter: Int,
|
|
||||||
): FuelForward = copy(
|
|
||||||
id = id,
|
|
||||||
basicUnit = basicUnit,
|
|
||||||
group = group,
|
|
||||||
displayName = displayName,
|
|
||||||
shortName = shortName,
|
|
||||||
isFavorite = isFavorite,
|
|
||||||
pairId = pairId,
|
|
||||||
counter = counter,
|
|
||||||
)
|
|
||||||
}
|
|
@ -38,11 +38,21 @@ data class NormalUnit(
|
|||||||
// Avoid division by zero
|
// Avoid division by zero
|
||||||
if (unitTo.basicUnit.isEqualTo(BigDecimal.ZERO)) return BigDecimal.ZERO
|
if (unitTo.basicUnit.isEqualTo(BigDecimal.ZERO)) return BigDecimal.ZERO
|
||||||
|
|
||||||
return this
|
return when (unitTo) {
|
||||||
.basicUnit
|
is NormalUnit -> this
|
||||||
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
.basicUnit
|
||||||
.multiply(value)
|
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
||||||
.div(unitTo.basicUnit)
|
.multiply(value)
|
||||||
|
.div(unitTo.basicUnit)
|
||||||
|
|
||||||
|
is BackwardUnit -> unitTo
|
||||||
|
.basicUnit
|
||||||
|
.setScale(MAX_PRECISION, RoundingMode.HALF_EVEN)
|
||||||
|
.div(this.basicUnit)
|
||||||
|
.div(value)
|
||||||
|
|
||||||
|
else -> BigDecimal.ZERO
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun clone(
|
override fun clone(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user