| </component> | </component> | ||||
| <component name="ChangeListManager"> | <component name="ChangeListManager"> | ||||
| <list default="true" id="41369230-c648-4299-baf3-de5f13bcb18c" name="Changes" comment=""> | <list default="true" id="41369230-c648-4299-baf3-de5f13bcb18c" name="Changes" comment=""> | ||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/SightConfigurationViewModel.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/ArcherySetupConfigurationViewModel.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/executionHistory/executionHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/executionHistory/executionHistory.bin" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/executionHistory/executionHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/executionHistory/executionHistory.bin" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/executionHistory/executionHistory.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/executionHistory/executionHistory.lock" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/executionHistory/executionHistory.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/executionHistory/executionHistory.lock" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/fileHashes.bin" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/fileHashes.bin" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/fileHashes.lock" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/fileHashes.lock" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/resourceHashesCache.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/resourceHashesCache.bin" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/resourceHashesCache.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/7.3.3/fileHashes/resourceHashesCache.bin" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/.idea/assetWizardSettings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/assetWizardSettings.xml" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/RBSMainActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/RBSMainActivity.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightCollectionAdapter.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightCollectionAdapter.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightFragment.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/database/dao/ArcherySetupDao.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/database/dao/ArcherySetupDao.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/ArcherySetup.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/ArcherySetup.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/IArcherySetup.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/IArcherySetup.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightParametersFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightParametersFragment.java" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightParametersFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightParametersFragment.java" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightParametersViewModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightParametersViewModel.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightSightSettingFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightSightSettingFragment.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightSightSettingViewModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightSightSettingViewModel.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightTrajectoryFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightTrajectoryFragment.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightTrajectoryViewModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightTrajectoryViewModel.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightViewModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightViewModel.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/EquipmentConfigurationActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/EquipmentConfigurationActivity.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightParametersViewModel.java" beforeDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/EquipmentConfigurationActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/ArcherySetupConfigurationActivity.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationViewModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationViewModel.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/SightConfigurationActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/SightConfigurationActivity.java" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/SightConfigurationActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/SightConfigurationActivity.java" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentFragment.java" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentFragment.java" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentViewModel.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentViewModel.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/ChooseEquipmentFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/ChooseEquipmentFragment.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/EquipmentRecyclerViewAdapter.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/EquipmentRecyclerViewAdapter.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/activity_equipment_configuration.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_equipment_configuration.xml" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/activity_sight_configuration.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_sight_configuration.xml" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/activity_sight_configuration.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_sight_configuration.xml" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/fragment_equipment_add_list.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_equipment_add_list.xml" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/fragment_calcsight_parameters.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_calcsight_parameters.xml" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/res/values-de/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values-de/strings.xml" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/app/src/main/res/values-de/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values-de/strings.xml" afterDir="false" /> | ||||
| <change beforePath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterDir="false" /> | <change beforePath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterDir="false" /> | ||||
| </list> | </list> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/.gradle/caches/modules-2/files-2.1/androidx.viewpager2/viewpager2/1.0.0/3c3569044e6969f1ee5c3aa03b08e6717a2d782f/viewpager2-1.0.0-sources.jar!/androidx/viewpager2/widget/ViewPager2.java_SELECTED" value="ViewPager2" /> | <property name="android-custom-viewC:/Users/FSmilari/.gradle/caches/modules-2/files-2.1/androidx.viewpager2/viewpager2/1.0.0/3c3569044e6969f1ee5c3aa03b08e6717a2d782f/viewpager2-1.0.0-sources.jar!/androidx/viewpager2/widget/ViewPager2.java_SELECTED" value="ViewPager2" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/.gradle/caches/modules-2/files-2.1/androidx.viewpager2/viewpager2/1.0.0/3c3569044e6969f1ee5c3aa03b08e6717a2d782f/viewpager2-1.0.0-sources.jar!/androidx/viewpager2/widget/ViewPager2.java_ViewPager2_DIMENSIONS" value="1080 1920" /> | <property name="android-custom-viewC:/Users/FSmilari/.gradle/caches/modules-2/files-2.1/androidx.viewpager2/viewpager2/1.0.0/3c3569044e6969f1ee5c3aa03b08e6717a2d782f/viewpager2-1.0.0-sources.jar!/androidx/viewpager2/widget/ViewPager2.java_ViewPager2_DIMENSIONS" value="1080 1920" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-29/android/view/View.java_SELECTED" value="View" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-29/android/view/View.java_SELECTED" value="View" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-29/android/widget/AutoCompleteTextView.java_SELECTED" value="AutoCompleteTextView" /> | |||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-29/android/widget/EditText.java_SELECTED" value="EditText" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-29/android/widget/EditText.java_SELECTED" value="EditText" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-29/android/widget/TextView.java_SELECTED" value="TextView" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-29/android/widget/TextView.java_SELECTED" value="TextView" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/view/View.java_SELECTED" value="View" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/view/View.java_SELECTED" value="View" /> | ||||
| <line>54</line> | <line>54</line> | ||||
| <option name="timeStamp" value="13" /> | <option name="timeStamp" value="13" /> | ||||
| </line-breakpoint> | </line-breakpoint> | ||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | |||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentFragment.java</url> | |||||
| <line>72</line> | |||||
| <option name="timeStamp" value="26" /> | |||||
| </line-breakpoint> | |||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | ||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java</url> | <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java</url> | ||||
| <line>98</line> | <line>98</line> | ||||
| </line-breakpoint> | </line-breakpoint> | ||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | ||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java</url> | <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java</url> | ||||
| <line>171</line> | |||||
| <line>172</line> | |||||
| <option name="timeStamp" value="40" /> | <option name="timeStamp" value="40" /> | ||||
| </line-breakpoint> | </line-breakpoint> | ||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | ||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java</url> | <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java</url> | ||||
| <line>127</line> | |||||
| <line>128</line> | |||||
| <option name="timeStamp" value="42" /> | <option name="timeStamp" value="42" /> | ||||
| </line-breakpoint> | </line-breakpoint> | ||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | ||||
| <line>73</line> | <line>73</line> | ||||
| <option name="timeStamp" value="43" /> | <option name="timeStamp" value="43" /> | ||||
| </line-breakpoint> | </line-breakpoint> | ||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | |||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/ArcherySetupConfigurationViewModel.java</url> | |||||
| <line>108</line> | |||||
| <option name="timeStamp" value="46" /> | |||||
| </line-breakpoint> | |||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | |||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/ArcherySetupConfigurationActivity.java</url> | |||||
| <line>94</line> | |||||
| <option name="timeStamp" value="48" /> | |||||
| </line-breakpoint> | |||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | |||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/ArcherySetupConfigurationActivity.java</url> | |||||
| <line>88</line> | |||||
| <option name="timeStamp" value="50" /> | |||||
| </line-breakpoint> | |||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | |||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/ArcherySetupConfigurationViewModel.java</url> | |||||
| <line>115</line> | |||||
| <option name="timeStamp" value="52" /> | |||||
| </line-breakpoint> | |||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | |||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/ArcherySetupConfigurationActivity.java</url> | |||||
| <line>149</line> | |||||
| <option name="timeStamp" value="53" /> | |||||
| </line-breakpoint> | |||||
| <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> | |||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/ArcherySetupConfigurationActivity.java</url> | |||||
| <line>156</line> | |||||
| <option name="timeStamp" value="54" /> | |||||
| </line-breakpoint> | |||||
| </breakpoints> | </breakpoints> | ||||
| </breakpoint-manager> | </breakpoint-manager> | ||||
| <watches-manager> | <watches-manager> | ||||
| <configuration name="app"> | <configuration name="app"> | ||||
| <watch expression="textView.getAdapter().getCount()" language="JAVA" /> | |||||
| <watch expression="textView.getAdapter().getItem(2)" language="JAVA" /> | |||||
| <watch expression="this.riserConfigurationViewModel.getManufacturer().getValue()" language="JAVA" /> | |||||
| <watch expression="this.riserConfigurationViewModel.getVVisH().getValue()" language="JAVA" /> | |||||
| <watch expression="adapter.getCount()" language="JAVA" /> | |||||
| <watch expression="this.binding.asRiserSelectionTxt.getAdapter().getCount()" language="JAVA" /> | |||||
| <watch expression="this.binding.asSightSelectionTxt.getAdapter().getCount()" language="JAVA" /> | |||||
| <watch expression="this" /> | |||||
| <watch expression="aArcherySetup.getRiser()" language="JAVA" /> | |||||
| <watch expression="this.mArcherySetup.getValue().getRiserName()" language="JAVA" /> | |||||
| </configuration> | </configuration> | ||||
| </watches-manager> | </watches-manager> | ||||
| </component> | </component> |
| android:theme="@style/Theme.RecurveBowSight" | android:theme="@style/Theme.RecurveBowSight" | ||||
| tools:targetApi="31"> | tools:targetApi="31"> | ||||
| <activity | <activity | ||||
| android:name=".ui.configuration.EquipmentConfigurationActivity" | |||||
| android:name=".ui.configuration.ArcherySetupConfigurationActivity" | |||||
| android:exported="false" /> | android:exported="false" /> | ||||
| <activity | <activity | ||||
| android:name=".ui.configuration.SightConfigurationActivity" | android:name=".ui.configuration.SightConfigurationActivity" |
| values.put(TblRBSArcherySetup.COL_ARROWCW, entity.getArrowCw() != null ? entity.getArrowCw() : 0d); | values.put(TblRBSArcherySetup.COL_ARROWCW, entity.getArrowCw() != null ? entity.getArrowCw() : 0d); | ||||
| values.put(TblRBSArcherySetup.COL_ARROWWEIGHT, entity.getArrowWeight() != null ? entity.getArrowWeight() : 0d); | values.put(TblRBSArcherySetup.COL_ARROWWEIGHT, entity.getArrowWeight() != null ? entity.getArrowWeight() : 0d); | ||||
| values.put(TblRBSArcherySetup.COL_ARROWV0, entity.getArrowV0() != null ? entity.getArrowV0() : 0d); | values.put(TblRBSArcherySetup.COL_ARROWV0, entity.getArrowV0() != null ? entity.getArrowV0() : 0d); | ||||
| values.put(TblRBSArcherySetup.COL_ARROWCENTERHEIGHT, entity.getArrowCenterHeight() != null ? entity.getArrowCenterHeight() : 0d); | |||||
| values.put(TblRBSArcherySetup.COL_ARROWCENTERHEIGHT, entity.getTargetCenterHeight() != null ? entity.getTargetCenterHeight() : 0d); | |||||
| values.put(TblRBSArcherySetup.COL_BOWPULLOUT, entity.getBowPullout() != null ? entity.getBowPullout() : 0d); | values.put(TblRBSArcherySetup.COL_BOWPULLOUT, entity.getBowPullout() != null ? entity.getBowPullout() : 0d); | ||||
| values.put(TblRBSArcherySetup.COL_ARROWNOCKHEIGHT, entity.getArrowNockHeight() != null ? entity.getArrowNockHeight() : 0d); | values.put(TblRBSArcherySetup.COL_ARROWNOCKHEIGHT, entity.getArrowNockHeight() != null ? entity.getArrowNockHeight() : 0d); | ||||
| values.put(TblRBSArcherySetup.COL_HNA, entity.getHNA() != null ? entity.getHNA() : 0d); | values.put(TblRBSArcherySetup.COL_HNA, entity.getHNA() != null ? entity.getHNA() : 0d); |
| private Double arrowCw; | private Double arrowCw; | ||||
| private Double arrowWeight; | private Double arrowWeight; | ||||
| private Double arrowV0; | private Double arrowV0; | ||||
| private Double arrowCenterHeight; | |||||
| private Double targetCenterHeight; | |||||
| private Double bowPullout; | private Double bowPullout; | ||||
| private Double arrowNockHeight; | private Double arrowNockHeight; | ||||
| private Double hNA; | private Double hNA; | ||||
| * @param arrowCw | * @param arrowCw | ||||
| * @param arrowWeight | * @param arrowWeight | ||||
| * @param arrowV0 | * @param arrowV0 | ||||
| * @param arrowCenterHeight | |||||
| * @param targetCenterHeight | |||||
| * @param bowPullout | * @param bowPullout | ||||
| * @param arrowNockHeight | * @param arrowNockHeight | ||||
| * @param hNA | * @param hNA | ||||
| */ | */ | ||||
| public ArcherySetup(final long id, final String name, final ISight sight, final IRiser riser, | public ArcherySetup(final long id, final String name, final ISight sight, final IRiser riser, | ||||
| final Double arrowDiameter, final Double arrowCw, final Double arrowWeight, | final Double arrowDiameter, final Double arrowCw, final Double arrowWeight, | ||||
| final Double arrowV0, final Double arrowCenterHeight, final Double bowPullout, | |||||
| final Double arrowV0, final Double targetCenterHeight, final Double bowPullout, | |||||
| final Double arrowNockHeight, final Double hNA, final Double deltaTime, | final Double arrowNockHeight, final Double hNA, final Double deltaTime, | ||||
| final Double calcPrecision, final Double sightVertSkalaMiddle, | final Double calcPrecision, final Double sightVertSkalaMiddle, | ||||
| final Double sightHorSetting, final Double nockRaising, final Double braceHeight) { | final Double sightHorSetting, final Double nockRaising, final Double braceHeight) { | ||||
| this.arrowCw = arrowCw; | this.arrowCw = arrowCw; | ||||
| this.arrowWeight = arrowWeight; | this.arrowWeight = arrowWeight; | ||||
| this.arrowV0 = arrowV0; | this.arrowV0 = arrowV0; | ||||
| this.arrowCenterHeight = arrowCenterHeight; | |||||
| this.targetCenterHeight = targetCenterHeight; | |||||
| this.bowPullout = bowPullout; | this.bowPullout = bowPullout; | ||||
| this.arrowNockHeight = arrowNockHeight; | this.arrowNockHeight = arrowNockHeight; | ||||
| this.hNA = hNA; | this.hNA = hNA; | ||||
| } | } | ||||
| /** | /** | ||||
| * @return the arrowCenterHeight | |||||
| * @return the targetCenterHeight | |||||
| */ | */ | ||||
| @Override | |||||
| public Double getArrowCenterHeight() { | |||||
| return this.arrowCenterHeight; | |||||
| public Double getTargetCenterHeight() { | |||||
| return this.targetCenterHeight; | |||||
| } | } | ||||
| /** | /** | ||||
| * @param arrowCenterHeight the arrowCenterHeight to set | |||||
| * @param targetCenterHeight the targetCenterHeight to set | |||||
| */ | */ | ||||
| @Override | @Override | ||||
| public void setArrowCenterHeight(final Double arrowCenterHeight) { | |||||
| this.arrowCenterHeight = arrowCenterHeight; | |||||
| public void setTargetCenterHeight(final Double targetCenterHeight) { | |||||
| this.targetCenterHeight = targetCenterHeight; | |||||
| } | } | ||||
| /** | /** |
| void setArrowV0(Double v0); | void setArrowV0(Double v0); | ||||
| Double getArrowCenterHeight(); | |||||
| Double getTargetCenterHeight(); | |||||
| void setArrowCenterHeight(Double arrowCenterHeight); | |||||
| void setTargetCenterHeight(Double targetCenterHeight); | |||||
| Double getBowPullout(); | Double getBowPullout(); | ||||
| import android.view.ViewGroup; | import android.view.ViewGroup; | ||||
| import android.widget.ArrayAdapter; | import android.widget.ArrayAdapter; | ||||
| import android.widget.AutoCompleteTextView; | import android.widget.AutoCompleteTextView; | ||||
| import android.widget.TextView; | |||||
| import androidx.annotation.NonNull; | import androidx.annotation.NonNull; | ||||
| import androidx.fragment.app.Fragment; | import androidx.fragment.app.Fragment; | ||||
| import androidx.lifecycle.ViewModelProvider; | |||||
| import ch.spherIC.recurvebowsight.R; | import ch.spherIC.recurvebowsight.R; | ||||
| import ch.spherIC.recurvebowsight.databinding.FragmentCalcsightParametersBinding; | import ch.spherIC.recurvebowsight.databinding.FragmentCalcsightParametersBinding; | ||||
| private FragmentCalcsightParametersBinding binding; | private FragmentCalcsightParametersBinding binding; | ||||
| public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { | public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { | ||||
| CalculateSightParametersViewModel calculateSightParametersViewModel = new ViewModelProvider(this).get(CalculateSightParametersViewModel.class); | |||||
| binding = FragmentCalcsightParametersBinding.inflate(inflater, container, false); | binding = FragmentCalcsightParametersBinding.inflate(inflater, container, false); | ||||
| View root = binding.getRoot(); | View root = binding.getRoot(); | ||||
| loadCalculationAccuracies(root); | loadCalculationAccuracies(root); | ||||
| loadCalculationTimeIntervals(root); | loadCalculationTimeIntervals(root); | ||||
| final TextView textView = binding.textCalcsightParams; | |||||
| calculateSightParametersViewModel.getText().observe(getViewLifecycleOwner(), textView::setText); | |||||
| return root; | return root; | ||||
| } | } | ||||
| /** | |||||
| * Copyright (C) 2022 - Florindo Smilari (spherIC) | |||||
| */ | |||||
| package ch.spherIC.recurvebowsight.ui.calcsight; | |||||
| import androidx.lifecycle.LiveData; | |||||
| import androidx.lifecycle.MutableLiveData; | |||||
| import androidx.lifecycle.ViewModel; | |||||
| public class CalculateSightParametersViewModel extends ViewModel { | |||||
| private final MutableLiveData<String> mText; | |||||
| public CalculateSightParametersViewModel() { | |||||
| mText = new MutableLiveData<>(); | |||||
| mText.setValue("This is the \"Calculate Sight Params\" fragment"); | |||||
| } | |||||
| public LiveData<String> getText() { | |||||
| return mText; | |||||
| } | |||||
| } |
| /** | |||||
| * Copyright (C) 2022 - Florindo Smilari (spherIC) | |||||
| */ | |||||
| package ch.spherIC.recurvebowsight.ui.configuration; | |||||
| import android.os.Bundle; | |||||
| import android.view.MenuItem; | |||||
| import android.widget.ArrayAdapter; | |||||
| import android.widget.AutoCompleteTextView; | |||||
| import android.widget.Button; | |||||
| import java.text.DecimalFormat; | |||||
| import java.util.List; | |||||
| import androidx.annotation.NonNull; | |||||
| import androidx.appcompat.app.AppCompatActivity; | |||||
| import androidx.lifecycle.ViewModelProvider; | |||||
| import ch.spherIC.recurvebowsight.R; | |||||
| import ch.spherIC.recurvebowsight.database.dao.ArcherySetupDao; | |||||
| import ch.spherIC.recurvebowsight.database.dao.RiserDao; | |||||
| import ch.spherIC.recurvebowsight.database.dao.SightDao; | |||||
| import ch.spherIC.recurvebowsight.databinding.ActivityEquipmentConfigurationBinding; | |||||
| import ch.spherIC.recurvebowsight.model.IArcherySetup; | |||||
| import ch.spherIC.recurvebowsight.model.IRiser; | |||||
| import ch.spherIC.recurvebowsight.model.ISight; | |||||
| import ch.spherIC.recurvebowsight.utilities.PlatformUtils; | |||||
| public class ArcherySetupConfigurationActivity extends AppCompatActivity { | |||||
| private ActivityEquipmentConfigurationBinding binding; | |||||
| private ArcherySetupConfigurationViewModel archerySetupConfigurationViewModel; | |||||
| @Override | |||||
| protected void onCreate(Bundle savedInstanceState) { | |||||
| super.onCreate(savedInstanceState); | |||||
| setContentView(R.layout.activity_equipment_configuration); | |||||
| getSupportActionBar().setDisplayHomeAsUpEnabled(true); | |||||
| getSupportActionBar().setTitle(R.string.title_activity_archery_setup_configuration); | |||||
| this.archerySetupConfigurationViewModel = new ViewModelProvider(this).get(ArcherySetupConfigurationViewModel.class); | |||||
| this.binding = ActivityEquipmentConfigurationBinding.bind(findViewById(R.id.activity_equipment_configuration)); | |||||
| addObservers(); | |||||
| addSpinnerListeners(); | |||||
| addButtonListeners(); | |||||
| loadSightsAndRisers(); | |||||
| loadArcherySetups(); | |||||
| } | |||||
| @Override | |||||
| public boolean onOptionsItemSelected(@NonNull MenuItem item) { | |||||
| switch (item.getItemId()) { | |||||
| case android.R.id.home: | |||||
| this.finish(); | |||||
| return true; | |||||
| } | |||||
| return super.onOptionsItemSelected(item); | |||||
| } | |||||
| private void addObservers() { | |||||
| DecimalFormat dF = new DecimalFormat("#.#"); | |||||
| DecimalFormat dF2 = new DecimalFormat("#.##"); | |||||
| DecimalFormat dF3 = new DecimalFormat("#.###"); | |||||
| this.archerySetupConfigurationViewModel.getName().observe(this, name -> this.binding.asLabelTxt.setText(name)); | |||||
| this.archerySetupConfigurationViewModel.getSight().observe(this, sight -> this.binding.asSightSelectionTxt.setText(sight != null ? sight.toString() : "")); | |||||
| this.archerySetupConfigurationViewModel.getRiser().observe(this, riser -> this.binding.asRiserSelectionTxt.setText(riser != null ? riser.toString() : "")); | |||||
| this.archerySetupConfigurationViewModel.getArrowDiameter().observe(this, arwDiam -> this.binding.asArrowDiameterTxt.setText(arwDiam != null ? dF.format(arwDiam) : "")); | |||||
| this.archerySetupConfigurationViewModel.getArrowCw().observe(this, arwCw -> this.binding.asArrowCWTxt.setText(arwCw != null ? dF.format(arwCw) : "")); | |||||
| this.archerySetupConfigurationViewModel.getArrowWeight().observe(this, arwWeight -> this.binding.asArrowWeightTxt.setText(arwWeight != null ? dF.format(arwWeight) : "")); | |||||
| this.archerySetupConfigurationViewModel.getArrowV0().observe(this, aV0 -> this.binding.asArrowV0Txt.setText(aV0 != null ? dF.format(aV0) : "")); | |||||
| this.archerySetupConfigurationViewModel.getArrowNockHeight().observe(this, arwNH -> this.binding.asArrowNockHeightTxt.setText(arwNH != null ? dF2.format(arwNH) : "")); | |||||
| this.archerySetupConfigurationViewModel.getTargetCenterHeight().observe(this, arwCH -> this.binding.asTargetCenterHeightTxt.setText(arwCH != null ? dF.format(arwCH) : "")); | |||||
| this.archerySetupConfigurationViewModel.getBowPullout().observe(this, bowPlOut -> this.binding.asBowPulloutTxt.setText(bowPlOut != null ? dF.format(bowPlOut) : "")); | |||||
| this.archerySetupConfigurationViewModel.getHNA().observe(this, ahNA -> this.binding.asHNATxt.setText(ahNA != null ? dF.format(ahNA) : "")); | |||||
| this.archerySetupConfigurationViewModel.getNockRaising().observe(this, nockRsg -> this.binding.asNockRaisingTxt.setText(nockRsg != null ? dF.format(nockRsg) : "")); | |||||
| this.archerySetupConfigurationViewModel.getBraceHeight().observe(this, brH -> this.binding.asBraceHeightTxt.setText(brH != null ? dF.format(brH) : "")); | |||||
| this.archerySetupConfigurationViewModel.getDeltaTime().observe(this, deltaTm -> this.binding.asDeltaTimeTxt.setText(deltaTm != null ? dF3.format(deltaTm) : "")); | |||||
| this.archerySetupConfigurationViewModel.getCalcPrecision().observe(this, calcPrec -> this.binding.asCalcPrecisionTxt.setText(calcPrec != null ? dF.format(calcPrec) : "")); | |||||
| this.archerySetupConfigurationViewModel.getSightVertSkalaMiddle().observe(this, vScaleMdl -> this.binding.asSightVertScaleMiddleTxt.setText(vScaleMdl != null ? dF.format(vScaleMdl) : "")); | |||||
| this.archerySetupConfigurationViewModel.getSightHorzSetting().observe(this, hrzSetting -> this.binding.asSightHorzSettingTxt.setText(hrzSetting != null ? dF.format(hrzSetting) : "")); | |||||
| } | |||||
| private void addSpinnerListeners() { | |||||
| AutoCompleteTextView textViewAS = findViewById(R.id.asArcherySetupSelectionTxt); | |||||
| textViewAS.setOnItemClickListener((parent, view, position, id) -> { | |||||
| IArcherySetup selectedArcherySetup = (IArcherySetup) textViewAS.getAdapter().getItem(position); | |||||
| if (selectedArcherySetup != null) { | |||||
| archerySetupConfigurationViewModel.setEquipment(selectedArcherySetup); | |||||
| } | |||||
| }); | |||||
| /* AutoCompleteTextView textViewSight = findViewById(R.id.asSightSelectionTxt); | |||||
| textViewAS.setOnItemClickListener((parent, view, position, id) -> { | |||||
| ISight selectedSight = (ISight) textViewSight.getAdapter().getItem(position); | |||||
| archerySetupConfigurationViewModel.setSight(selectedSight); | |||||
| }); | |||||
| AutoCompleteTextView textViewRiser = findViewById(R.id.asRiserSelectionTxt); | |||||
| textViewAS.setOnItemClickListener((parent, view, position, id) -> { | |||||
| IRiser selectedRiser = (IRiser) textViewRiser.getAdapter().getItem(position); | |||||
| if (selectedRiser != null) { | |||||
| // sightConfigurationViewModel.setSight(selectedRiser); | |||||
| } | |||||
| });*/ | |||||
| } | |||||
| private void addButtonListeners() { | |||||
| Button newButton = findViewById(R.id.archerystpcfg_button_new); | |||||
| newButton.setOnClickListener(v -> addNewSight()); | |||||
| Button deleteButton = findViewById(R.id.archerystpcfg_button_delete); | |||||
| deleteButton.setOnClickListener(v -> deleteSight()); | |||||
| Button saveButton = findViewById(R.id.archerystpcfg_button_save); | |||||
| saveButton.setOnClickListener(v -> saveSightConfiguration()); | |||||
| } | |||||
| private void loadSightsAndRisers() { | |||||
| List<ISight> sights = SightDao.getInstance().loadAll(); | |||||
| this.archerySetupConfigurationViewModel.setAllSights(sights); | |||||
| ArrayAdapter<ISight> sightsAdapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, sights); | |||||
| AutoCompleteTextView textViewSights = this.binding.asSightSelectionTxt; | |||||
| textViewSights.setAdapter(sightsAdapter); | |||||
| textViewSights.invalidate(); | |||||
| List<IRiser> risers = RiserDao.getInstance().loadAll(); | |||||
| this.archerySetupConfigurationViewModel.setAllRisers(risers); | |||||
| ArrayAdapter<IRiser> riserAdapter = new ArrayAdapter<IRiser>(this, android.R.layout.simple_dropdown_item_1line, risers); | |||||
| AutoCompleteTextView textViewRisers = binding.asRiserSelectionTxt; | |||||
| textViewRisers.setAdapter(riserAdapter); | |||||
| textViewRisers.invalidate(); | |||||
| } | |||||
| private void loadArcherySetups() { | |||||
| List<IArcherySetup> archerySetups = ArcherySetupDao.getInstance().loadAll(); | |||||
| ArrayAdapter<IArcherySetup> archerySetupsAdapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, archerySetups); | |||||
| AutoCompleteTextView textViewASs = this.binding.asArcherySetupSelectionTxt; | |||||
| textViewASs.setAdapter(archerySetupsAdapter); | |||||
| textViewASs.invalidate(); | |||||
| } | |||||
| private void addNewSight() { | |||||
| } | |||||
| private void deleteSight() { | |||||
| } | |||||
| private void saveSightConfiguration() { | |||||
| if (!validateInputs()) { | |||||
| return; | |||||
| } | |||||
| this.archerySetupConfigurationViewModel.setName(this.binding.asLabelTxt.getText().toString()); | |||||
| this.archerySetupConfigurationViewModel.setSight(this.archerySetupConfigurationViewModel.findSightByName(this.binding.asSightSelectionTxt.getText().toString())); | |||||
| this.archerySetupConfigurationViewModel.setRiser(this.archerySetupConfigurationViewModel.findRiserByName(this.binding.asRiserSelectionTxt.getText().toString())); | |||||
| IArcherySetup lArcherySetup = this.archerySetupConfigurationViewModel.getArcherySetup().getValue(); | |||||
| if (lArcherySetup.getId() > 0) { | |||||
| ArcherySetupDao.getInstance().update(lArcherySetup); | |||||
| //TODO: SHOW UPDATE INFO TOAST | |||||
| } else { | |||||
| lArcherySetup = ArcherySetupDao.getInstance().insert(lArcherySetup); | |||||
| loadArcherySetups(); | |||||
| AutoCompleteTextView textView = this.binding.asArcherySetupSelectionTxt; | |||||
| final int position = ((ArrayAdapter<IArcherySetup>) textView.getAdapter()).getPosition(lArcherySetup); | |||||
| textView.setListSelection(position); | |||||
| textView.setText(lArcherySetup.toString()); | |||||
| ((ArrayAdapter<IArcherySetup>) textView.getAdapter()).getFilter().filter(null); | |||||
| PlatformUtils.toast(ArcherySetupConfigurationActivity.this, String.format(getString(R.string.caption_Cfg_SaveSuccessful), lArcherySetup)).show(); | |||||
| } | |||||
| } | |||||
| private boolean validateInputs() { | |||||
| int invalidFields = 0; | |||||
| if (this.binding.asLabelTxt.getText().toString().isEmpty() || this.binding.asLabelTxt.getText().toString().equals("*")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asSightSelectionTxt.getText().toString().isEmpty() || this.binding.asSightSelectionTxt.getText().toString().equals("*")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asRiserSelectionTxt.getText() == null || this.binding.asRiserSelectionTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asArrowDiameterTxt.getText() == null || this.binding.asArrowDiameterTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asArrowWeightTxt.getText() == null || this.binding.asArrowWeightTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asArrowWeightTxt.getText() == null || this.binding.asArrowWeightTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asArrowV0Txt.getText() == null || this.binding.asArrowV0Txt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asArrowNockHeightTxt.getText() == null || this.binding.asArrowNockHeightTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asTargetCenterHeightTxt.getText() == null || this.binding.asTargetCenterHeightTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asBowPulloutTxt.getText() == null || this.binding.asBowPulloutTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asHNATxt.getText() == null || this.binding.asHNATxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asNockRaisingTxt.getText() == null || this.binding.asNockRaisingTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asBraceHeightTxt.getText() == null || this.binding.asBraceHeightTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asDeltaTimeTxt.getText() == null || this.binding.asDeltaTimeTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asCalcPrecisionTxt.getText() == null || this.binding.asCalcPrecisionTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asSightVertScaleMiddleTxt.getText() == null || this.binding.asSightVertScaleMiddleTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.asSightHorzSettingTxt.getText() == null || this.binding.asSightHorzSettingTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (invalidFields > 0) { | |||||
| PlatformUtils.toast(this, getResources().getString(R.string.caption_Cfg_FillAllMandatoryFields)).show(); | |||||
| return false; | |||||
| } | |||||
| return true; | |||||
| } | |||||
| } |
| /** | |||||
| * Copyright (C) 2022 - Florindo Smilari (spherIC) | |||||
| */ | |||||
| package ch.spherIC.recurvebowsight.ui.configuration; | |||||
| import java.util.List; | |||||
| import androidx.lifecycle.LiveData; | |||||
| import androidx.lifecycle.MutableLiveData; | |||||
| import androidx.lifecycle.ViewModel; | |||||
| import ch.spherIC.recurvebowsight.model.IArcherySetup; | |||||
| import ch.spherIC.recurvebowsight.model.IRiser; | |||||
| import ch.spherIC.recurvebowsight.model.ISight; | |||||
| public class ArcherySetupConfigurationViewModel extends ViewModel { | |||||
| private List<ISight> allSights; | |||||
| private List<IRiser> allRisers; | |||||
| private final MutableLiveData<IArcherySetup> mArcherySetup; | |||||
| private final MutableLiveData<String> mName; | |||||
| private final MutableLiveData<ISight> mSight; | |||||
| private final MutableLiveData<IRiser> mRiser; | |||||
| private final MutableLiveData<Double> mArrowDiameter; | |||||
| private final MutableLiveData<Double> mArrowCw; | |||||
| private final MutableLiveData<Double> mArrowWeight; | |||||
| private final MutableLiveData<Double> mArrowV0; | |||||
| private final MutableLiveData<Double> mTargetCenterHeight; | |||||
| private final MutableLiveData<Double> mArrowNockHeight; | |||||
| private final MutableLiveData<Double> mBowPullout; | |||||
| private final MutableLiveData<Double> mHNA; | |||||
| private final MutableLiveData<Double> mDeltaTime; | |||||
| private final MutableLiveData<Double> mCalcPrecision; | |||||
| private final MutableLiveData<Double> mSightVertSkalaMiddle; | |||||
| private final MutableLiveData<Double> mSightHorzSetting; | |||||
| private final MutableLiveData<Double> mNockRaising; | |||||
| private final MutableLiveData<Double> mBraceHeight; | |||||
| public ArcherySetupConfigurationViewModel() { | |||||
| this.mArcherySetup = new MutableLiveData<>(); | |||||
| this.mName = new MutableLiveData<>(); | |||||
| this.mSight = new MutableLiveData<>(); | |||||
| this.mRiser = new MutableLiveData<>(); | |||||
| this.mArrowDiameter = new MutableLiveData<>(); | |||||
| this.mArrowCw = new MutableLiveData<>(); | |||||
| this.mArrowWeight = new MutableLiveData<>(); | |||||
| this.mArrowV0 = new MutableLiveData<>(); | |||||
| this.mTargetCenterHeight = new MutableLiveData<>(); | |||||
| this.mArrowNockHeight = new MutableLiveData<>(); | |||||
| this.mBowPullout = new MutableLiveData<>(); | |||||
| this.mHNA = new MutableLiveData<>(); | |||||
| this.mDeltaTime = new MutableLiveData<>(); | |||||
| this.mCalcPrecision = new MutableLiveData<>(); | |||||
| this.mSightVertSkalaMiddle = new MutableLiveData<>(); | |||||
| this.mSightHorzSetting = new MutableLiveData<>(); | |||||
| this.mNockRaising = new MutableLiveData<>(); | |||||
| this.mBraceHeight = new MutableLiveData<>(); | |||||
| this.mArcherySetup.setValue(null); | |||||
| this.mName.setValue(""); | |||||
| this.mSight.setValue(null); | |||||
| this.mRiser.setValue(null); | |||||
| this.mArrowDiameter.setValue(null); | |||||
| this.mArrowCw.setValue(null); | |||||
| this.mArrowWeight.setValue(null); | |||||
| this.mArrowV0.setValue(null); | |||||
| this.mTargetCenterHeight.setValue(null); | |||||
| this.mArrowNockHeight.setValue(null); | |||||
| this.mBowPullout.setValue(null); | |||||
| this.mHNA.setValue(null); | |||||
| this.mDeltaTime.setValue(null); | |||||
| this.mCalcPrecision.setValue(null); | |||||
| this.mSightVertSkalaMiddle.setValue(null); | |||||
| this.mSightHorzSetting.setValue(null); | |||||
| this.mNockRaising.setValue(null); | |||||
| this.mBraceHeight.setValue(null); | |||||
| } | |||||
| public void setEquipment(IArcherySetup aArcherySetup) { | |||||
| this.mArcherySetup.setValue(aArcherySetup); | |||||
| this.mName.setValue(aArcherySetup != null ? aArcherySetup.getName() : ""); | |||||
| this.mSight.setValue(aArcherySetup != null ? aArcherySetup.getSight() : null); | |||||
| this.mRiser.setValue(aArcherySetup != null ? aArcherySetup.getRiser() : null); | |||||
| this.mArrowDiameter.setValue(aArcherySetup != null ? aArcherySetup.getArrowDiameter() : null); | |||||
| this.mArrowCw.setValue(aArcherySetup != null ? aArcherySetup.getArrowCw() : null); | |||||
| this.mArrowWeight.setValue(aArcherySetup != null ? aArcherySetup.getArrowWeight() : null); | |||||
| this.mArrowV0.setValue(aArcherySetup != null ? aArcherySetup.getArrowV0() : null); | |||||
| this.mTargetCenterHeight.setValue(aArcherySetup != null ? aArcherySetup.getTargetCenterHeight() : null); | |||||
| this.mArrowNockHeight.setValue(aArcherySetup != null ? aArcherySetup.getArrowNockHeight() : null); | |||||
| this.mBowPullout.setValue(aArcherySetup != null ? aArcherySetup.getBowPullout() : null); | |||||
| this.mHNA.setValue(aArcherySetup != null ? aArcherySetup.getHNA() : null); | |||||
| this.mDeltaTime.setValue(aArcherySetup != null ? aArcherySetup.getDeltaTime() : null); | |||||
| this.mCalcPrecision.setValue(aArcherySetup != null ? aArcherySetup.getCalcPrecision() : null); | |||||
| this.mSightVertSkalaMiddle.setValue(aArcherySetup != null ? aArcherySetup.getSightVertSkalaMiddle() : null); | |||||
| this.mSightHorzSetting.setValue(aArcherySetup != null ? aArcherySetup.getSightHorzSetting() : null); | |||||
| this.mNockRaising.setValue(aArcherySetup != null ? aArcherySetup.getNockRaising() : null); | |||||
| this.mBraceHeight.setValue(aArcherySetup != null ? aArcherySetup.getBraceHeight() : null); | |||||
| } | |||||
| public void setName(String nameText) { | |||||
| if (this.mName.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setName(nameText); | |||||
| } | |||||
| this.mName.setValue(nameText); | |||||
| } | |||||
| public void setSight(ISight aSight) { | |||||
| if (this.mSight.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setSight(aSight); | |||||
| } | |||||
| this.mSight.setValue(aSight); | |||||
| } | |||||
| public void setRiser(IRiser aRiser) { | |||||
| if (this.mRiser.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setRiser(aRiser); | |||||
| } | |||||
| this.mRiser.setValue(aRiser); | |||||
| } | |||||
| public void setArrowDiameter(Double mArrowDiameter) { | |||||
| if (this.mArrowDiameter.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setArrowDiameter(mArrowDiameter); | |||||
| } | |||||
| this.mArrowDiameter.setValue(mArrowDiameter); | |||||
| } | |||||
| public void setArrowCw(Double mArrowCw) { | |||||
| if (this.mArrowCw.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setArrowCw(mArrowCw); | |||||
| } | |||||
| this.mArrowCw.setValue(mArrowCw); | |||||
| } | |||||
| public void setArrowWeight(Double mArrowWeight) { | |||||
| if (this.mArrowWeight.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setArrowWeight(mArrowWeight); | |||||
| } | |||||
| this.mArrowWeight.setValue(mArrowWeight); | |||||
| } | |||||
| public void setArrowV0(Double mArrowV0) { | |||||
| if (this.mArrowV0.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setArrowV0(mArrowV0); | |||||
| } | |||||
| this.mArrowV0.setValue(mArrowV0); | |||||
| } | |||||
| public void setTargetCenterHeight(Double mTargetCenterHeight) { | |||||
| if (this.mTargetCenterHeight.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setTargetCenterHeight(mTargetCenterHeight); | |||||
| } | |||||
| this.mTargetCenterHeight.setValue(mTargetCenterHeight); | |||||
| } | |||||
| public void setArrowNockHeight(Double mArrowNockHeight) { | |||||
| if (this.mArrowNockHeight.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setArrowNockHeight(mArrowNockHeight); | |||||
| } | |||||
| this.mArrowNockHeight.setValue(mArrowNockHeight); | |||||
| } | |||||
| public void setBowPullout(Double mBowPullout) { | |||||
| if (this.mBowPullout.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setBowPullout(mBowPullout); | |||||
| } | |||||
| this.mBowPullout.setValue(mBowPullout); | |||||
| } | |||||
| public void setHNA(Double mHNA) { | |||||
| if (this.mHNA.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setHNA(mHNA); | |||||
| } | |||||
| this.mHNA.setValue(mHNA); | |||||
| } | |||||
| public void setDeltaTime(Double mDeltaTime) { | |||||
| if (this.mDeltaTime.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setDeltaTime(mDeltaTime); | |||||
| } | |||||
| this.mDeltaTime.setValue(mDeltaTime); | |||||
| } | |||||
| public void setCalcPrecision(Double mCalcPrecision) { | |||||
| if (this.mCalcPrecision.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setCalcPrecision(mCalcPrecision); | |||||
| } | |||||
| this.mCalcPrecision.setValue(mCalcPrecision); | |||||
| } | |||||
| public void setSightVertSkalaMiddle(Double mSightVertSkalaMiddle) { | |||||
| if (this.mSightVertSkalaMiddle.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setSightVertSkalaMiddle(mSightVertSkalaMiddle); | |||||
| } | |||||
| this.mSightVertSkalaMiddle.setValue(mSightVertSkalaMiddle); | |||||
| } | |||||
| public void setSightHorzSetting(Double mSightHorzSetting) { | |||||
| if (this.mSightHorzSetting.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setSightHorzSetting(mSightHorzSetting); | |||||
| } | |||||
| this.mSightHorzSetting.setValue(mSightHorzSetting); | |||||
| } | |||||
| public void setNockRaising(Double mNockRaising) { | |||||
| if (this.mNockRaising.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setNockRaising(mNockRaising); | |||||
| } | |||||
| this.mNockRaising.setValue(mNockRaising); | |||||
| } | |||||
| public void setBraceHeight(Double mBraceHeight) { | |||||
| if (this.mBraceHeight.getValue() != null) { | |||||
| this.mArcherySetup.getValue().setBraceHeight(mBraceHeight); | |||||
| } | |||||
| this.mBraceHeight.setValue(mBraceHeight); | |||||
| } | |||||
| public LiveData<IArcherySetup> getArcherySetup() { | |||||
| return mArcherySetup; | |||||
| } | |||||
| public LiveData<String> getName() { | |||||
| return mName; | |||||
| } | |||||
| public LiveData<ISight> getSight() { | |||||
| return mSight; | |||||
| } | |||||
| public LiveData<IRiser> getRiser() { | |||||
| return mRiser; | |||||
| } | |||||
| public LiveData<Double> getArrowDiameter() { | |||||
| return mArrowDiameter; | |||||
| } | |||||
| public LiveData<Double> getArrowCw() { | |||||
| return mArrowCw; | |||||
| } | |||||
| public LiveData<Double> getArrowWeight() { | |||||
| return mArrowWeight; | |||||
| } | |||||
| public LiveData<Double> getArrowV0() { | |||||
| return mArrowV0; | |||||
| } | |||||
| public LiveData<Double> getArrowNockHeight() { | |||||
| return mArrowNockHeight; | |||||
| } | |||||
| public LiveData<Double> getTargetCenterHeight() { | |||||
| return mTargetCenterHeight; | |||||
| } | |||||
| public List<ISight> getAllSights() { | |||||
| return allSights; | |||||
| } | |||||
| public void setAllSights(List<ISight> allSights) { | |||||
| this.allSights = allSights; | |||||
| } | |||||
| public List<IRiser> getAllRisers() { | |||||
| return allRisers; | |||||
| } | |||||
| public void setAllRisers(List<IRiser> allRisers) { | |||||
| this.allRisers = allRisers; | |||||
| } | |||||
| public IRiser findRiserByName(String name) { | |||||
| for (IRiser riser : this.allRisers) { | |||||
| if (riser.toString().equals(name)) { | |||||
| return riser; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| public ISight findSightByName(String name) { | |||||
| for (ISight sight : this.allSights) { | |||||
| if (sight.toString().equals(name)) { | |||||
| return sight; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| public LiveData<Double> getBowPullout() { | |||||
| return mBowPullout; | |||||
| } | |||||
| public LiveData<Double> getHNA() { | |||||
| return mHNA; | |||||
| } | |||||
| public LiveData<Double> getDeltaTime() { | |||||
| return mDeltaTime; | |||||
| } | |||||
| public LiveData<Double> getCalcPrecision() { | |||||
| return mCalcPrecision; | |||||
| } | |||||
| public LiveData<Double> getSightVertSkalaMiddle() { | |||||
| return mSightVertSkalaMiddle; | |||||
| } | |||||
| public LiveData<Double> getSightHorzSetting() { | |||||
| return mSightHorzSetting; | |||||
| } | |||||
| public LiveData<Double> getNockRaising() { | |||||
| return mNockRaising; | |||||
| } | |||||
| public LiveData<Double> getBraceHeight() { | |||||
| return mBraceHeight; | |||||
| } | |||||
| } |
| /** | |||||
| * Copyright (C) 2022 - Florindo Smilari (spherIC) | |||||
| */ | |||||
| package ch.spherIC.recurvebowsight.ui.configuration; | |||||
| import android.os.Bundle; | |||||
| import android.view.MenuItem; | |||||
| import androidx.annotation.NonNull; | |||||
| import androidx.appcompat.app.AppCompatActivity; | |||||
| import ch.spherIC.recurvebowsight.R; | |||||
| public class EquipmentConfigurationActivity extends AppCompatActivity { | |||||
| @Override | |||||
| protected void onCreate(Bundle savedInstanceState) { | |||||
| super.onCreate(savedInstanceState); | |||||
| setContentView(R.layout.activity_equipment_configuration); | |||||
| getSupportActionBar().setDisplayHomeAsUpEnabled(true); | |||||
| getSupportActionBar().setTitle(R.string.title_activity_archery_setup_configuration); | |||||
| } | |||||
| @Override | |||||
| public boolean onOptionsItemSelected(@NonNull MenuItem item) { | |||||
| switch (item.getItemId()) { | |||||
| case android.R.id.home: | |||||
| this.finish(); | |||||
| return true; | |||||
| } | |||||
| return super.onOptionsItemSelected(item); | |||||
| } | |||||
| } |
| IRiser lRiser = this.riserConfigurationViewModel.getRiser().getValue(); | IRiser lRiser = this.riserConfigurationViewModel.getRiser().getValue(); | ||||
| if (lRiser.getId() > 0) { | if (lRiser.getId() > 0) { | ||||
| RiserDao.getInstance().update(lRiser); | RiserDao.getInstance().update(lRiser); | ||||
| //TODO: SHOW UPDATE INFO TOAST | |||||
| } else { | } else { | ||||
| lRiser = RiserDao.getInstance().insert(lRiser); | lRiser = RiserDao.getInstance().insert(lRiser); | ||||
| loadRisers(); | loadRisers(); |
| ISight lSight = this.sightConfigurationViewModel.getRiser().getValue(); | ISight lSight = this.sightConfigurationViewModel.getRiser().getValue(); | ||||
| if (lSight.getId() > 0) { | if (lSight.getId() > 0) { | ||||
| SightDao.getInstance().update(lSight); | SightDao.getInstance().update(lSight); | ||||
| //TODO: SHOW UPDATE INFO TOAST | |||||
| } else { | } else { | ||||
| lSight = SightDao.getInstance().insert(lSight); | lSight = SightDao.getInstance().insert(lSight); | ||||
| loadSights(); | loadSights(); |
| import androidx.fragment.app.Fragment; | import androidx.fragment.app.Fragment; | ||||
| import ch.spherIC.recurvebowsight.R; | import ch.spherIC.recurvebowsight.R; | ||||
| import ch.spherIC.recurvebowsight.databinding.FragmentEquipmentAddListBinding; | import ch.spherIC.recurvebowsight.databinding.FragmentEquipmentAddListBinding; | ||||
| import ch.spherIC.recurvebowsight.ui.configuration.EquipmentConfigurationActivity; | |||||
| import ch.spherIC.recurvebowsight.ui.configuration.ArcherySetupConfigurationActivity; | |||||
| import ch.spherIC.recurvebowsight.ui.configuration.RiserConfigurationActivity; | import ch.spherIC.recurvebowsight.ui.configuration.RiserConfigurationActivity; | ||||
| import ch.spherIC.recurvebowsight.ui.configuration.SightConfigurationActivity; | import ch.spherIC.recurvebowsight.ui.configuration.SightConfigurationActivity; | ||||
| Intent sightConfigurationIntent = new Intent(v.getContext(), SightConfigurationActivity.class); | Intent sightConfigurationIntent = new Intent(v.getContext(), SightConfigurationActivity.class); | ||||
| startActivity(sightConfigurationIntent); | startActivity(sightConfigurationIntent); | ||||
| } else if (v.getId() == R.id.card_view_equipment_border) { | } else if (v.getId() == R.id.card_view_equipment_border) { | ||||
| Intent equipmentConfigurationIntent = new Intent(v.getContext(), EquipmentConfigurationActivity.class); | |||||
| Intent equipmentConfigurationIntent = new Intent(v.getContext(), ArcherySetupConfigurationActivity.class); | |||||
| startActivity(equipmentConfigurationIntent); | startActivity(equipmentConfigurationIntent); | ||||
| } | } | ||||
| } | } |
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||
| <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
| xmlns:tools="http://schemas.android.com/tools" | xmlns:tools="http://schemas.android.com/tools" | ||||
| xmlns:app="http://schemas.android.com/apk/res-auto" | |||||
| android:id="@+id/activity_equipment_configuration" | android:id="@+id/activity_equipment_configuration" | ||||
| android:layout_width="match_parent" | android:layout_width="match_parent" | ||||
| android:layout_height="match_parent" | android:layout_height="match_parent" | ||||
| tools:context=".ui.configuration.EquipmentConfigurationActivity"> | |||||
| tools:context=".ui.configuration.ArcherySetupConfigurationActivity"> | |||||
| <ScrollView | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="match_parent" | |||||
| app:layout_constraintBottom_toBottomOf="parent" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toTopOf="parent"> | |||||
| <androidx.constraintlayout.widget.ConstraintLayout | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content"> | |||||
| <TextView | |||||
| android:id="@+id/configArcherySetupLbl" | |||||
| style="@style/Widget.AppCompat.TextView" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="16dp" | |||||
| android:background="@color/purple_700" | |||||
| android:padding="4dp" | |||||
| android:text="@string/asTitleArcherySetupConfig" | |||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | |||||
| android:textColor="@color/white" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintHorizontal_bias="1.0" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toTopOf="parent" /> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" | |||||
| android:id="@+id/asArcherySetupSelectionLayout" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/configArcherySetupLbl"> | |||||
| <AutoCompleteTextView | |||||
| android:id="@+id/asArcherySetupSelectionTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/asArcherySetupLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asLabelLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asArcherySetupSelectionLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asLabelTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/asLabel" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" | |||||
| android:id="@+id/asRiserSelectionLayout" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asLabelLayout"> | |||||
| <AutoCompleteTextView | |||||
| android:id="@+id/asRiserSelectionTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/rcRiserLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" | |||||
| android:id="@+id/asSightSelectionLayout" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asRiserSelectionLayout"> | |||||
| <AutoCompleteTextView | |||||
| android:id="@+id/asSightSelectionTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/rcSightLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asArrowDiameterLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asSightSelectionLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asArrowDiameterTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/arrowDiameterLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asArrowCWLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asArrowDiameterLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asArrowCWTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/arrowCwLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asArrowWeightLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asArrowCWLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asArrowWeightTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/arrowWeightLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asArrowV0Layout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asArrowWeightLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asArrowV0Txt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/arrowV0Lbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asBowPulloutLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asArrowV0Layout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asBowPulloutTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/bowPulloutLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asArrowNockHeightLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asBowPulloutLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asArrowNockHeightTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/arrowNockHeightLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asHNALayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asArrowNockHeightLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asHNATxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/bowParamhNALbl" | |||||
| android:nextFocusDown="@id/nockRaisingTxt" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asNockRaisingLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asHNALayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asNockRaisingTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/bowParamNockRaisingLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asBraceHeightLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asNockRaisingLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asBraceHeightTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/bowParamBraceHeightLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asTargetCenterHeightLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asBraceHeightLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asTargetCenterHeightTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/targetCenterHeightLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asDeltaTimeLayoutLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asTargetCenterHeightLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asDeltaTimeTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/deltaTimeLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asCalcPrecisionLayoutLayout" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asDeltaTimeLayoutLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asCalcPrecisionTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/calcPrecisionLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asSightVertScaleMiddle" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asCalcPrecisionLayoutLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asSightVertScaleMiddleTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/scVertSkalaMiddleLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/asSightHorzSetting" | |||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="8dp" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asSightVertScaleMiddle"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/asSightHorzSettingTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/scHeVSLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <LinearLayout | |||||
| android:layout_width="fill_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginTop="24dp" | |||||
| android:orientation="horizontal" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/asSightHorzSetting"> | |||||
| <Button | |||||
| android:id="@+id/archerystpcfg_button_new" | |||||
| android:layout_width="fill_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginHorizontal="8dp" | |||||
| android:layout_weight="1" | |||||
| android:text="@string/caption_New" | |||||
| app:icon="@drawable/ic_icon_add" | |||||
| app:iconPadding="-8dp" /> | |||||
| <Button | |||||
| android:id="@+id/archerystpcfg_button_delete" | |||||
| android:layout_width="fill_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginHorizontal="8dp" | |||||
| android:layout_weight="1" | |||||
| android:paddingLeft="4dp" | |||||
| android:paddingRight="4dp" | |||||
| android:text="@string/caption_Delete" | |||||
| app:icon="@drawable/ic_icon_delete" | |||||
| app:iconPadding="-8dp" /> | |||||
| <Button | |||||
| android:id="@+id/archerystpcfg_button_save" | |||||
| android:layout_width="fill_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginHorizontal="8dp" | |||||
| android:layout_weight="1" | |||||
| android:paddingLeft="4dp" | |||||
| android:paddingRight="4dp" | |||||
| android:text="@string/caption_Save" | |||||
| app:icon="@drawable/ic_icon_save" | |||||
| app:iconPadding="0dp" /> | |||||
| </LinearLayout> | |||||
| </androidx.constraintlayout.widget.ConstraintLayout> | |||||
| </ScrollView> | |||||
| </androidx.constraintlayout.widget.ConstraintLayout> | </androidx.constraintlayout.widget.ConstraintLayout> |
| tools:context=".ui.configuration.SightConfigurationActivity"> | tools:context=".ui.configuration.SightConfigurationActivity"> | ||||
| <ScrollView | <ScrollView | ||||
| android:layout_width="0dp" | |||||
| android:layout_height="0dp" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="match_parent" | |||||
| app:layout_constraintBottom_toBottomOf="parent" | app:layout_constraintBottom_toBottomOf="parent" | ||||
| app:layout_constraintEnd_toEndOf="parent" | app:layout_constraintEnd_toEndOf="parent" | ||||
| app:layout_constraintStart_toStartOf="parent" | app:layout_constraintStart_toStartOf="parent" | ||||
| </LinearLayout> | </LinearLayout> | ||||
| </androidx.constraintlayout.widget.ConstraintLayout> | </androidx.constraintlayout.widget.ConstraintLayout> | ||||
| </ScrollView> | </ScrollView> | ||||
| android:layout_height="0dp" | android:layout_height="0dp" | ||||
| app:layout_constraintBottom_toBottomOf="parent" | app:layout_constraintBottom_toBottomOf="parent" | ||||
| app:layout_constraintEnd_toEndOf="parent" | app:layout_constraintEnd_toEndOf="parent" | ||||
| app:layout_constraintHorizontal_bias="0.0" | |||||
| app:layout_constraintStart_toStartOf="parent" | app:layout_constraintStart_toStartOf="parent" | ||||
| app:layout_constraintTop_toTopOf="parent"> | |||||
| app:layout_constraintTop_toTopOf="parent" | |||||
| app:layout_constraintVertical_bias="0.0"> | |||||
| <androidx.constraintlayout.widget.ConstraintLayout | <androidx.constraintlayout.widget.ConstraintLayout | ||||
| android:layout_width="match_parent" | android:layout_width="match_parent" | ||||
| <TextView | <TextView | ||||
| android:id="@+id/text_calcsight_params" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="0dp" | |||||
| android:id="@+id/bowAndArrowParams" | |||||
| style="@style/Widget.AppCompat.TextView" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | android:layout_marginEnd="8dp" | ||||
| android:layout_marginStart="8dp" | android:layout_marginStart="8dp" | ||||
| android:layout_marginTop="8dp" | |||||
| android:textAlignment="viewStart" | |||||
| android:textSize="20sp" | |||||
| android:layout_marginTop="16dp" | |||||
| android:background="@color/purple_700" | |||||
| android:padding="4dp" | |||||
| android:text="@string/titleBowAndArrowParams" | |||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | |||||
| android:textColor="@color/white" | |||||
| app:layout_constraintEnd_toEndOf="parent" | app:layout_constraintEnd_toEndOf="parent" | ||||
| app:layout_constraintHorizontal_bias="1.0" | app:layout_constraintHorizontal_bias="1.0" | ||||
| app:layout_constraintStart_toStartOf="parent" | app:layout_constraintStart_toStartOf="parent" | ||||
| app:layout_constraintTop_toTopOf="parent" /> | app:layout_constraintTop_toTopOf="parent" /> | ||||
| <TextView | <TextView | ||||
| android:id="@+id/bowAndArrowParams" | |||||
| android:id="@+id/atmosphericalParams" | |||||
| style="@style/Widget.AppCompat.TextView" | style="@style/Widget.AppCompat.TextView" | ||||
| android:layout_width="0dp" | android:layout_width="0dp" | ||||
| android:layout_height="wrap_content" | android:layout_height="wrap_content" | ||||
| android:layout_marginEnd="8dp" | android:layout_marginEnd="8dp" | ||||
| android:layout_marginStart="8dp" | android:layout_marginStart="8dp" | ||||
| android:layout_marginTop="8dp" | |||||
| android:layout_marginTop="16dp" | |||||
| android:background="@color/purple_700" | android:background="@color/purple_700" | ||||
| android:padding="4dp" | android:padding="4dp" | ||||
| android:text="@string/titleBowAndArrowParams" | |||||
| android:text="@string/titleAtmosphericalParams" | |||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
| android:textColor="@color/white" | android:textColor="@color/white" | ||||
| app:layout_constraintEnd_toEndOf="parent" | app:layout_constraintEnd_toEndOf="parent" | ||||
| app:layout_constraintHorizontal_bias="1.0" | app:layout_constraintHorizontal_bias="1.0" | ||||
| app:layout_constraintStart_toStartOf="parent" | app:layout_constraintStart_toStartOf="parent" | ||||
| app:layout_constraintTop_toBottomOf="@+id/text_calcsight_params" /> | |||||
| app:layout_constraintTop_toBottomOf="@+id/bowParamsFlow" /> | |||||
| <TextView | <TextView | ||||
| android:id="@+id/atmosphericalParams" | |||||
| android:id="@+id/shootingParams" | |||||
| style="@style/Widget.AppCompat.TextView" | style="@style/Widget.AppCompat.TextView" | ||||
| android:layout_width="0dp" | android:layout_width="0dp" | ||||
| android:layout_height="wrap_content" | android:layout_height="wrap_content" | ||||
| android:layout_marginTop="16dp" | android:layout_marginTop="16dp" | ||||
| android:background="@color/purple_700" | android:background="@color/purple_700" | ||||
| android:padding="4dp" | android:padding="4dp" | ||||
| android:text="@string/titleAtmosphericalParams" | |||||
| android:text="@string/titleShootingParams" | |||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
| android:textColor="@color/white" | android:textColor="@color/white" | ||||
| app:layout_constraintEnd_toEndOf="parent" | app:layout_constraintEnd_toEndOf="parent" | ||||
| app:layout_constraintHorizontal_bias="1.0" | app:layout_constraintHorizontal_bias="1.0" | ||||
| app:layout_constraintStart_toStartOf="parent" | app:layout_constraintStart_toStartOf="parent" | ||||
| app:layout_constraintTop_toBottomOf="@+id/bowParamsFlow" /> | |||||
| app:layout_constraintTop_toBottomOf="@+id/airRelativeHumidityLayout" /> | |||||
| <TextView | |||||
| android:id="@+id/calculationParams" | |||||
| style="@style/Widget.AppCompat.TextView" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="16dp" | |||||
| android:background="@color/purple_700" | |||||
| android:padding="4dp" | |||||
| android:text="@string/titleCalculationParams" | |||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | |||||
| android:textColor="@color/white" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintHorizontal_bias="1.0" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/targetCenterHeightLayout" /> | |||||
| <androidx.constraintlayout.helper.widget.Flow | <androidx.constraintlayout.helper.widget.Flow | ||||
| android:id="@+id/bowParamsFlow" | android:id="@+id/bowParamsFlow" | ||||
| android:singleLine="true" /> | android:singleLine="true" /> | ||||
| </com.google.android.material.textfield.TextInputLayout> | </com.google.android.material.textfield.TextInputLayout> | ||||
| <TextView | |||||
| android:id="@+id/shootingParams" | |||||
| style="@style/Widget.AppCompat.TextView" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="16dp" | |||||
| android:background="@color/purple_700" | |||||
| android:padding="4dp" | |||||
| android:text="@string/titleShootingParams" | |||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | |||||
| android:textColor="@color/white" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintHorizontal_bias="1.0" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/airRelativeHumidityLayout" /> | |||||
| <com.google.android.material.textfield.TextInputLayout | <com.google.android.material.textfield.TextInputLayout | ||||
| android:id="@+id/shootingDistanzLayout" | android:id="@+id/shootingDistanzLayout" | ||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | ||||
| android:singleLine="true" /> | android:singleLine="true" /> | ||||
| </com.google.android.material.textfield.TextInputLayout> | </com.google.android.material.textfield.TextInputLayout> | ||||
| <TextView | |||||
| android:id="@+id/calculationParams" | |||||
| style="@style/Widget.AppCompat.TextView" | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="wrap_content" | |||||
| android:layout_marginEnd="8dp" | |||||
| android:layout_marginStart="8dp" | |||||
| android:layout_marginTop="16dp" | |||||
| android:background="@color/purple_700" | |||||
| android:padding="4dp" | |||||
| android:text="@string/titleCalculationParams" | |||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | |||||
| android:textColor="@color/white" | |||||
| app:layout_constraintEnd_toEndOf="parent" | |||||
| app:layout_constraintHorizontal_bias="1.0" | |||||
| app:layout_constraintStart_toStartOf="parent" | |||||
| app:layout_constraintTop_toBottomOf="@+id/targetCenterHeightLayout" /> | |||||
| <com.google.android.material.textfield.TextInputLayout | <com.google.android.material.textfield.TextInputLayout | ||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" | |||||
| android:id="@+id/deltaTimeLayout" | android:id="@+id/deltaTimeLayout" | ||||
| style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" | |||||
| android:layout_width="0dp" | android:layout_width="0dp" | ||||
| android:layout_height="wrap_content" | android:layout_height="wrap_content" | ||||
| android:layout_marginEnd="8dp" | android:layout_marginEnd="8dp" |
| <string name="scVertSkalaMiddleLbl">Mittelstellung M vert. Skala [mm]</string> | <string name="scVertSkalaMiddleLbl">Mittelstellung M vert. Skala [mm]</string> | ||||
| <string name="scPointerOffsetLbl">Versatz Skalenzeiger [mm]</string> | <string name="scPointerOffsetLbl">Versatz Skalenzeiger [mm]</string> | ||||
| <string name="scEvSLbl">EvS [mm]</string> | <string name="scEvSLbl">EvS [mm]</string> | ||||
| <string name="asTitleArcherySetupConfig">Konfiguration Ausrüstung</string> | |||||
| <string name="asArcherySetupLbl">Ausrüstung</string> | |||||
| <string name="asLabel">Label</string> | |||||
| <string name="ashNA">hNA [mm]</string> | |||||
| <string name="asNockRaising">Nockpunktüberhöhung [mm]</string> | |||||
| <string name="asBraceHeight">Standhöhe [mm]</string> | |||||
| <string name="caption_Ok">OK</string> | <string name="caption_Ok">OK</string> |
| <string name="scVertSkalaMiddleLbl">Vert. Scale Middle Setting M [mm]</string> | <string name="scVertSkalaMiddleLbl">Vert. Scale Middle Setting M [mm]</string> | ||||
| <string name="scPointerOffsetLbl">Scale Pointer Offset [mm]</string> | <string name="scPointerOffsetLbl">Scale Pointer Offset [mm]</string> | ||||
| <string name="scEvSLbl">EvS [mm]</string> | <string name="scEvSLbl">EvS [mm]</string> | ||||
| <string name="asTitleArcherySetupConfig">Archery Setup Configuration</string> | |||||
| <string name="asArcherySetupLbl">Archery Setup</string> | |||||
| <string name="asLabel">Label</string> | |||||
| <string name="ashNA">hNA [mm]</string> | |||||
| <string name="asNockRaising">Nock Raising [mm]</string> | |||||
| <string name="asBraceHeight">Brace Height [mm]</string> | |||||
| <string name="caption_Ok">OK</string> | <string name="caption_Ok">OK</string> |