| <PersistentState> | <PersistentState> | ||||
| <option name="values"> | <option name="values"> | ||||
| <map> | <map> | ||||
| <entry key="url" value="file:/$USER_HOME$/AppData/Local/Android/Sdk/icons/material/materialiconsoutlined/thumb_up/outline_thumb_up_24.xml" /> | |||||
| <entry key="url" value="file:/$USER_HOME$/AppData/Local/Android/Sdk/icons/material/materialiconsoutlined/save/outline_save_24.xml" /> | |||||
| </map> | </map> | ||||
| </option> | </option> | ||||
| </PersistentState> | </PersistentState> | ||||
| </option> | </option> | ||||
| <option name="values"> | <option name="values"> | ||||
| <map> | <map> | ||||
| <entry key="outputName" value="ic_outline_thumb_up_24" /> | |||||
| <entry key="outputName" value="ic_icon_save" /> | |||||
| <entry key="sourceFile" value="Z:\Work\Java Projects\Android\RecurveBowSight\archery_equipment_choose.svg" /> | <entry key="sourceFile" value="Z:\Work\Java Projects\Android\RecurveBowSight\archery_equipment_choose.svg" /> | ||||
| </map> | </map> | ||||
| </option> | </option> |
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/drawable/ic_outline_handshake_24.xml" value="0.2675" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/drawable/ic_outline_handshake_24.xml" value="0.2675" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/drawable/ic_outline_thumb_up_24.xml" value="0.2675" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/drawable/ic_outline_thumb_up_24.xml" value="0.2675" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/drawable/side_nav_bar.xml" value="0.285" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/drawable/side_nav_bar.xml" value="0.285" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/activity_equipment_configuration.xml" value="0.1994535519125683" /> | |||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/activity_main.xml" value="0.28072916666666664" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/activity_main.xml" value="0.28072916666666664" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/activity_riser_configuration.xml" value="0.25" /> | |||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/activity_sight_configuration.xml" value="0.1994535519125683" /> | |||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/app_bar_main.xml" value="0.1480978260869565" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/app_bar_main.xml" value="0.1480978260869565" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/content_main.xml" value="0.3625" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/content_main.xml" value="0.3625" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_about.xml" value="0.15812841530054644" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_about.xml" value="0.15812841530054644" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_calcsight_trajectory.xml" value="0.1840846994535519" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_calcsight_trajectory.xml" value="0.1840846994535519" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment.xml" value="0.12361111111111112" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment.xml" value="0.12361111111111112" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_add.xml" value="0.15812841530054644" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_add.xml" value="0.15812841530054644" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_add_list.xml" value="0.25" /> | |||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_add_list.xml" value="0.33" /> | |||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_choose.xml" value="0.33" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_choose.xml" value="0.33" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_choose_list.xml" value="0.25" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_equipment_choose_list.xml" value="0.25" /> | ||||
| <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_gallery.xml" value="0.1480978260869565" /> | <entry key="..\:/Work/Java Projects/Android/RecurveBowSight/V2/app/src/main/res/layout/fragment_gallery.xml" value="0.1480978260869565" /> |
| </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/calcsight/CalculateSightSightSettingFragment.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightSightSettingViewModel.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightTrajectoryFragment.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/calcsight/CalculateSightTrajectoryViewModel.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/ic_cfg_riser.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_calcsight_sightsetting.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_calcsight_trajectory.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/values/string_arrays.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration" afterDir="true" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/EquipmentConfigurationActivity.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationViewModel.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/SightConfigurationActivity.java" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/ic_icon_add.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/ic_icon_delete.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/ic_icon_save.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_equipment_configuration.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_riser_configuration.xml" afterDir="false" /> | |||||
| <change afterPath="$PROJECT_DIR$/app/src/main/res/layout/activity_sight_configuration.xml" 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$/.idea/assetWizardSettings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/assetWizardSettings.xml" 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/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/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/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/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/DAO.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/database/dao/DAO.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/Riser.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/Riser.java" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/Sight.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/model/Sight.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/EquipmentFragment.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/drawable/ic_menu_calcsight.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/drawable/ic_menu_calcsight.xml" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/res/layout/fragment_calcsight.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_calcsight.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/layout/fragment_equipment_add.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_equipment_choose_list.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_equipment_choose_list.xml" afterDir="false" /> | |||||
| <change beforePath="$PROJECT_DIR$/app/src/main/res/navigation/mobile_navigation.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/navigation/mobile_navigation.xml" 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/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/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/dimens.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/dimens.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> | ||||
| <option name="SHOW_DIALOG" value="false" /> | <option name="SHOW_DIALOG" value="false" /> | ||||
| </list> | </list> | ||||
| </option> | </option> | ||||
| </component> | </component> | ||||
| <component name="GitSEFilterConfiguration"> | |||||
| <file-type-list> | |||||
| <filtered-out-file-type name="LOCAL_BRANCH" /> | |||||
| <filtered-out-file-type name="REMOTE_BRANCH" /> | |||||
| <filtered-out-file-type name="TAG" /> | |||||
| <filtered-out-file-type name="COMMIT_BY_MESSAGE" /> | |||||
| </file-type-list> | |||||
| </component> | |||||
| <component name="ProjectId" id="2CtkRh68cCgVducVNKsBVO29cSE" /> | <component name="ProjectId" id="2CtkRh68cCgVducVNKsBVO29cSE" /> | ||||
| <component name="ProjectViewState"> | <component name="ProjectViewState"> | ||||
| <option name="hideEmptyMiddlePackages" value="true" /> | <option name="hideEmptyMiddlePackages" value="true" /> | ||||
| <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/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-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" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/view/View.java_View_DIMENSIONS" value="1080 1920" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/view/View.java_View_DIMENSIONS" value="1080 1920" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/view/ViewGroup.java_SELECTED" value="ViewGroup" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/view/ViewGroup.java_SELECTED" value="ViewGroup" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/view/ViewGroup.java_ViewGroup_DIMENSIONS" value="1080 1920" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/view/ViewGroup.java_ViewGroup_DIMENSIONS" value="1080 1920" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/widget/AutoCompleteTextView.java_AutoCompleteTextView_DIMENSIONS" value="1080 1920" /> | |||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/widget/AutoCompleteTextView.java_SELECTED" value="AutoCompleteTextView" /> | |||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/widget/EditText.java_EditText_DIMENSIONS" value="1080 1920" /> | |||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/widget/EditText.java_SELECTED" value="EditText" /> | |||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/widget/TextView.java_SELECTED" value="TextView" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/widget/TextView.java_SELECTED" value="TextView" /> | ||||
| <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/widget/TextView.java_TextView_DIMENSIONS" value="1080 1920" /> | <property name="android-custom-viewC:/Users/FSmilari/AppData/Local/Android/Sdk/sources/android-32/android/widget/TextView.java_TextView_DIMENSIONS" value="1080 1920" /> | ||||
| <property name="cidr.known.project.marker" value="true" /> | <property name="cidr.known.project.marker" value="true" /> | ||||
| <property name="settings.editor.selected.configurable" value="preferences.keymap" /> | <property name="settings.editor.selected.configurable" value="preferences.keymap" /> | ||||
| </component> | </component> | ||||
| <component name="RecentsManager"> | <component name="RecentsManager"> | ||||
| <key name="android.template.-1377507120"> | |||||
| <recent name="ch.spherIC.recurvebowsight.ui.configuration" /> | |||||
| </key> | |||||
| <key name="CopyFile.RECENT_KEYS"> | <key name="CopyFile.RECENT_KEYS"> | ||||
| <recent name="Z:\Work\Java Projects\Android\RecurveBowSight\V2\app\src\main\java\ch\spherIC\recurvebowsight\ui\calcsight" /> | <recent name="Z:\Work\Java Projects\Android\RecurveBowSight\V2\app\src\main\java\ch\spherIC\recurvebowsight\ui\calcsight" /> | ||||
| <recent name="Z:\Work\Java Projects\Android\RecurveBowSight\V2\app\src\main\res\layout" /> | <recent name="Z:\Work\Java Projects\Android\RecurveBowSight\V2\app\src\main\res\layout" /> | ||||
| <key name="android.template.1093395407"> | <key name="android.template.1093395407"> | ||||
| <recent name="ch.spherIC.recurvebowsight" /> | <recent name="ch.spherIC.recurvebowsight" /> | ||||
| </key> | </key> | ||||
| <key name="android.template.1734690915"> | |||||
| <recent name="ch.spherIC.recurvebowsight.ui.configuration" /> | |||||
| </key> | |||||
| <key name="android.template.170908341"> | <key name="android.template.170908341"> | ||||
| <recent name="ch.spherIC.recurvebowsight" /> | <recent name="ch.spherIC.recurvebowsight" /> | ||||
| </key> | </key> | ||||
| <key name="android.template.-1136685790"> | |||||
| <recent name="ch.spherIC.recurvebowsight.ui.configuration" /> | |||||
| <recent name="ch.spherIC.recurvebowsight" /> | |||||
| </key> | |||||
| <key name="CopyClassDialog.RECENTS_KEY"> | <key name="CopyClassDialog.RECENTS_KEY"> | ||||
| <recent name="ch.spherIC.recurvebowsight.ui.configuration" /> | |||||
| <recent name="ch.spherIC.recurvebowsight.ui.calcsight" /> | <recent name="ch.spherIC.recurvebowsight.ui.calcsight" /> | ||||
| <recent name="ch.spherIC.recurvebowsight.ui.equipment" /> | <recent name="ch.spherIC.recurvebowsight.ui.equipment" /> | ||||
| </key> | </key> | ||||
| <line>48</line> | <line>48</line> | ||||
| <option name="timeStamp" value="10" /> | <option name="timeStamp" value="10" /> | ||||
| </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/EquipmentRecyclerViewAdapter.java</url> | |||||
| <line>51</line> | |||||
| <option name="timeStamp" value="13" /> | |||||
| </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/equipment/AddEquipmentFragment.java</url> | <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentFragment.java</url> | ||||
| <line>26</line> | |||||
| <option name="timeStamp" value="11" /> | |||||
| <line>75</line> | |||||
| <option name="timeStamp" value="25" /> | |||||
| </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/equipment/AddEquipmentFragment.java</url> | <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/equipment/AddEquipmentFragment.java</url> | ||||
| <line>30</line> | |||||
| <option name="timeStamp" value="12" /> | |||||
| <line>80</line> | |||||
| <option name="timeStamp" value="26" /> | |||||
| </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/equipment/EquipmentRecyclerViewAdapter.java</url> | |||||
| <line>51</line> | |||||
| <option name="timeStamp" value="13" /> | |||||
| <url>file://$PROJECT_DIR$/app/src/main/java/ch/spherIC/recurvebowsight/ui/configuration/RiserConfigurationActivity.java</url> | |||||
| <line>95</line> | |||||
| <option name="timeStamp" value="37" /> | |||||
| </line-breakpoint> | |||||
| <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> | |||||
| <line>168</line> | |||||
| <option name="timeStamp" value="40" /> | |||||
| </line-breakpoint> | |||||
| <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> | |||||
| <line>124</line> | |||||
| <option name="timeStamp" value="42" /> | |||||
| </line-breakpoint> | </line-breakpoint> | ||||
| </breakpoints> | </breakpoints> | ||||
| </breakpoint-manager> | </breakpoint-manager> | ||||
| <watches-manager> | <watches-manager> | ||||
| <configuration name="app"> | <configuration name="app"> | ||||
| <watch expression="getArguments()" /> | |||||
| <watch expression="this.selectedArcherySetup.getName()" language="JAVA" /> | |||||
| <watch expression="tab.getPosition()" language="JAVA" /> | |||||
| <watch expression="v.findViewById(R.id.card_view_riser_setup)" language="JAVA" /> | |||||
| <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" /> | |||||
| </configuration> | </configuration> | ||||
| </watches-manager> | </watches-manager> | ||||
| </component> | </component> |
| android:supportsRtl="true" | android:supportsRtl="true" | ||||
| android:theme="@style/Theme.RecurveBowSight" | android:theme="@style/Theme.RecurveBowSight" | ||||
| tools:targetApi="31"> | tools:targetApi="31"> | ||||
| <activity | |||||
| android:name=".ui.configuration.EquipmentConfigurationActivity" | |||||
| android:exported="false" /> | |||||
| <activity | |||||
| android:name=".ui.configuration.SightConfigurationActivity" | |||||
| android:exported="false" /> | |||||
| <activity | |||||
| android:name=".ui.configuration.RiserConfigurationActivity" | |||||
| android:exported="false" /> | |||||
| <activity | <activity | ||||
| android:name=".RBSMainActivity" | android:name=".RBSMainActivity" | ||||
| android:exported="true" | android:exported="true" |
| } | } | ||||
| /** | /** | ||||
| * F�gt eine Entit�t in die DB ein. | |||||
| * Fügt eine Entität in die DB ein. | |||||
| * | * | ||||
| * @param entity | * @param entity | ||||
| * @return | * @return |
| import android.os.Parcel; | import android.os.Parcel; | ||||
| import java.util.Objects; | |||||
| /** | /** | ||||
| * @author F. Smilari | * @author F. Smilari | ||||
| */ | */ | ||||
| @Override | @Override | ||||
| public void writeToParcel(Parcel dest, int flags) { | public void writeToParcel(Parcel dest, int flags) { | ||||
| } | } | ||||
| @Override | |||||
| public boolean equals(Object o) { | |||||
| if (this == o) return true; | |||||
| if (o == null || getClass() != o.getClass()) return false; | |||||
| ArcherySetup that = (ArcherySetup) o; | |||||
| return id == that.id && name.equals(that.name); | |||||
| } | |||||
| @Override | |||||
| public int hashCode() { | |||||
| return Objects.hash(id, name); | |||||
| } | |||||
| } | } |
| package ch.spherIC.recurvebowsight.model; | package ch.spherIC.recurvebowsight.model; | ||||
| import java.text.DecimalFormat; | import java.text.DecimalFormat; | ||||
| import java.util.Objects; | |||||
| /** | /** | ||||
| return getManufacturer() + " " + getModel() + " " + DF.format(getSize()) + "\""; | return getManufacturer() + " " + getModel() + " " + DF.format(getSize()) + "\""; | ||||
| } | } | ||||
| //TODO: equals and hashCode | |||||
| @Override | |||||
| public boolean equals(Object o) { | |||||
| if (this == o) return true; | |||||
| if (o == null || getClass() != o.getClass()) return false; | |||||
| Riser riser = (Riser) o; | |||||
| return id == riser.id && manufacturer.equals(riser.manufacturer) && model.equals(riser.model); | |||||
| } | |||||
| @Override | |||||
| public int hashCode() { | |||||
| return Objects.hash(id, manufacturer, model); | |||||
| } | |||||
| } | } |
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Objects; | |||||
| import java.util.StringTokenizer; | import java.util.StringTokenizer; | ||||
| return getManufacturer() + " " + getModel(); | return getManufacturer() + " " + getModel(); | ||||
| } | } | ||||
| @Override | |||||
| public boolean equals(Object o) { | |||||
| if (this == o) return true; | |||||
| if (o == null || getClass() != o.getClass()) return false; | |||||
| Sight sight = (Sight) o; | |||||
| return id == sight.id && manufacturer.equals(sight.manufacturer) && model.equals(sight.model); | |||||
| } | |||||
| @Override | |||||
| public int hashCode() { | |||||
| return Objects.hash(id, manufacturer, model); | |||||
| } | |||||
| } | } |
| 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); | |||||
| } | |||||
| } |
| package ch.spherIC.recurvebowsight.ui.configuration; | |||||
| import android.app.AlertDialog; | |||||
| import android.content.DialogInterface; | |||||
| 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.RiserDao; | |||||
| import ch.spherIC.recurvebowsight.databinding.ActivityRiserConfigurationBinding; | |||||
| import ch.spherIC.recurvebowsight.model.IRiser; | |||||
| import ch.spherIC.recurvebowsight.model.Riser; | |||||
| import ch.spherIC.recurvebowsight.utilities.PlatformUtils; | |||||
| public class RiserConfigurationActivity extends AppCompatActivity { | |||||
| private ActivityRiserConfigurationBinding binding; | |||||
| private RiserConfigurationViewModel riserConfigurationViewModel; | |||||
| @Override | |||||
| protected void onCreate(Bundle savedInstanceState) { | |||||
| super.onCreate(savedInstanceState); | |||||
| setContentView(R.layout.activity_riser_configuration); | |||||
| getSupportActionBar().setDisplayHomeAsUpEnabled(true); | |||||
| getSupportActionBar().setTitle(R.string.title_activity_riser_configuration); | |||||
| this.riserConfigurationViewModel = new ViewModelProvider(this).get(RiserConfigurationViewModel.class); | |||||
| this.binding = ActivityRiserConfigurationBinding.bind(findViewById(R.id.activity_riser_configuration)); | |||||
| addObservers(); | |||||
| addRiserSpinnerListener(); | |||||
| addButtonListeners(); | |||||
| loadRisers(); | |||||
| } | |||||
| @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("#.#"); | |||||
| this.riserConfigurationViewModel.getManufacturer().observe(this, manufacturer -> this.binding.rcManufacturerTxt.setText(manufacturer)); | |||||
| this.riserConfigurationViewModel.getModel().observe(this, model -> this.binding.rcModelTxt.setText(model)); | |||||
| this.riserConfigurationViewModel.getSize().observe(this, size -> this.binding.rcSizeTxt.setText(size != null ? dF.format(size) : "")); | |||||
| this.riserConfigurationViewModel.getVVisH().observe(this, vVisH -> this.binding.rcVvisHTxt.setText(vVisH != null ? dF.format(vVisH) : "")); | |||||
| this.riserConfigurationViewModel.getVVisV().observe(this, vVisV -> this.binding.rcVvisVTxt.setText(vVisV != null ? dF.format(vVisV) : "")); | |||||
| } | |||||
| private void addRiserSpinnerListener() { | |||||
| AutoCompleteTextView textView = findViewById(R.id.riserSelectionTxt); | |||||
| textView.setOnItemClickListener((parent, view, position, id) -> { | |||||
| IRiser selectedRiser = (IRiser) textView.getAdapter().getItem(position); | |||||
| if (selectedRiser != null) { | |||||
| riserConfigurationViewModel.setRiser(selectedRiser); | |||||
| } | |||||
| }); | |||||
| } | |||||
| private void addButtonListeners() { | |||||
| Button newButton = findViewById(R.id.risercfg_button_new); | |||||
| newButton.setOnClickListener(v -> addNewRiser()); | |||||
| Button deleteButton = findViewById(R.id.risercfg_button_delete); | |||||
| deleteButton.setOnClickListener(v -> deleteRiser()); | |||||
| Button saveButton = findViewById(R.id.risercfg_button_save); | |||||
| saveButton.setOnClickListener(v -> saveRiserConfiguration()); | |||||
| } | |||||
| private void loadRisers() { | |||||
| List<IRiser> risers = RiserDao.getInstance().loadAll(); | |||||
| ArrayAdapter<IRiser> adapter = new ArrayAdapter<IRiser>(this, android.R.layout.simple_dropdown_item_1line, risers); | |||||
| AutoCompleteTextView textView = binding.riserSelectionTxt; | |||||
| textView.setAdapter(adapter); | |||||
| textView.invalidate(); | |||||
| } | |||||
| private void addNewRiser() { | |||||
| IRiser newRiser = new Riser(0, "", "", null, null, null); | |||||
| this.riserConfigurationViewModel.setRiser(newRiser); | |||||
| String strMandatory = getString(R.string.caption_mandatory); | |||||
| this.binding.riserSelectionTxt.setText(null); | |||||
| this.binding.rcManufacturerTxt.setError(strMandatory); | |||||
| this.binding.rcModelTxt.setError(strMandatory); | |||||
| this.binding.rcSizeTxt.setError(strMandatory); | |||||
| this.binding.rcVvisHTxt.setError(strMandatory); | |||||
| this.binding.rcVvisVTxt.setError(strMandatory); | |||||
| AutoCompleteTextView textView = binding.riserSelectionTxt; | |||||
| ((ArrayAdapter<IRiser>) textView.getAdapter()).insert(newRiser, 0); | |||||
| textView.setAdapter((ArrayAdapter<IRiser>) textView.getAdapter()); | |||||
| textView.setSelection(0); | |||||
| } | |||||
| private void saveRiserConfiguration() { | |||||
| if (!validateInputs()) { | |||||
| return; | |||||
| } | |||||
| this.riserConfigurationViewModel.setManufacturerText(this.binding.rcManufacturerTxt.getText().toString()); | |||||
| this.riserConfigurationViewModel.setModelText(this.binding.rcModelTxt.getText().toString()); | |||||
| this.riserConfigurationViewModel.setSize(Double.parseDouble(this.binding.rcSizeTxt.getText().toString())); | |||||
| this.riserConfigurationViewModel.setVVisH(Double.parseDouble(this.binding.rcVvisHTxt.getText().toString())); | |||||
| this.riserConfigurationViewModel.setVVisV(Double.parseDouble(this.binding.rcVvisVTxt.getText().toString())); | |||||
| IRiser lRiser = this.riserConfigurationViewModel.getRiser().getValue(); | |||||
| if (lRiser.getId() > 0) { | |||||
| RiserDao.getInstance().update(lRiser); | |||||
| } else { | |||||
| lRiser = RiserDao.getInstance().insert(lRiser); | |||||
| loadRisers(); | |||||
| AutoCompleteTextView textView = this.binding.riserSelectionTxt; | |||||
| final int position = ((ArrayAdapter<IRiser>) textView.getAdapter()).getPosition(lRiser); | |||||
| textView.setListSelection(position); | |||||
| textView.setText(lRiser.toString()); | |||||
| ((ArrayAdapter<IRiser>) textView.getAdapter()).getFilter().filter(null); | |||||
| PlatformUtils.toast(RiserConfigurationActivity.this, String.format(getString(R.string.caption_Cfg_SaveSuccessful), lRiser)).show(); | |||||
| } | |||||
| } | |||||
| private boolean validateInputs() { | |||||
| int invalidFields = 0; | |||||
| if (this.binding.rcManufacturerTxt.getText().toString().isEmpty() || this.binding.rcManufacturerTxt.getText().toString().equals("*")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.rcModelTxt.getText().toString().isEmpty() || this.binding.rcModelTxt.getText().toString().equals("*")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.rcSizeTxt.getText() == null || this.binding.rcSizeTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.rcVvisHTxt.getText() == null || this.binding.rcVvisHTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (this.binding.rcVvisVTxt.getText() == null || this.binding.rcVvisVTxt.getText().toString().equals("")) { | |||||
| invalidFields++; | |||||
| } | |||||
| if (invalidFields > 0) { | |||||
| PlatformUtils.toast(this, getResources().getString(R.string.caption_Cfg_FillAllMandatoryFields)).show(); | |||||
| return false; | |||||
| } | |||||
| return true; | |||||
| } | |||||
| private void deleteRiser() { | |||||
| IRiser lRiser = this.riserConfigurationViewModel.getRiser().getValue(); | |||||
| if (lRiser != null) { | |||||
| AlertDialog dlg = PlatformUtils.getDeleteConfirmDialog(this, lRiser.toString(), new DialogInterface.OnClickListener() { | |||||
| @Override | |||||
| public void onClick(final DialogInterface dialog, final int which) { | |||||
| String message = String.format(getString(R.string.caption_Cfg_DeleteSuccessful), lRiser); | |||||
| try { | |||||
| RiserDao.getInstance().delete(lRiser); | |||||
| loadRisers(); | |||||
| riserConfigurationViewModel.setRiser(null); | |||||
| binding.riserSelectionTxt.setText(null); | |||||
| } catch (Exception e) { | |||||
| message = getString(R.string.caption_Cfg_DeleteNotPossible); | |||||
| } | |||||
| PlatformUtils.toast(RiserConfigurationActivity.this, message).show(); | |||||
| } | |||||
| }); | |||||
| dlg.show(); | |||||
| } | |||||
| } | |||||
| } |
| package ch.spherIC.recurvebowsight.ui.configuration; | |||||
| import androidx.lifecycle.LiveData; | |||||
| import androidx.lifecycle.MutableLiveData; | |||||
| import androidx.lifecycle.ViewModel; | |||||
| import ch.spherIC.recurvebowsight.model.IRiser; | |||||
| public class RiserConfigurationViewModel extends ViewModel { | |||||
| private final MutableLiveData<IRiser> mRiser; | |||||
| private final MutableLiveData<String> mManufacturer; | |||||
| private final MutableLiveData<String> mModel; | |||||
| private final MutableLiveData<Double> mSize; | |||||
| private final MutableLiveData<Double> mVVisH; | |||||
| private final MutableLiveData<Double> mVVisV; | |||||
| public RiserConfigurationViewModel() { | |||||
| this.mRiser = new MutableLiveData<>(); | |||||
| this.mManufacturer = new MutableLiveData<>(); | |||||
| this.mModel = new MutableLiveData<>(); | |||||
| this.mSize = new MutableLiveData<>(); | |||||
| this.mVVisH = new MutableLiveData<>(); | |||||
| this.mVVisV = new MutableLiveData<>(); | |||||
| this.mRiser.setValue(null); | |||||
| this.mManufacturer.setValue(""); | |||||
| this.mModel.setValue(""); | |||||
| this.mSize.setValue(null); | |||||
| this.mVVisH.setValue(null); | |||||
| this.mVVisV.setValue(null); | |||||
| } | |||||
| public void setRiser(IRiser aRiser) { | |||||
| this.mRiser.setValue(aRiser); | |||||
| this.mManufacturer.setValue(aRiser != null ? aRiser.getManufacturer() : ""); | |||||
| this.mModel.setValue(aRiser != null ? aRiser.getModel() : ""); | |||||
| this.mSize.setValue(aRiser != null ? aRiser.getSize() : null); | |||||
| this.mVVisH.setValue(aRiser != null ? aRiser.getVVisH() : null); | |||||
| this.mVVisV.setValue(aRiser != null ? aRiser.getVVisV() : null); | |||||
| } | |||||
| public void setManufacturerText(String manufacturerText) { | |||||
| if (this.mRiser.getValue() != null) { | |||||
| this.mRiser.getValue().setManufacturer(manufacturerText); | |||||
| } | |||||
| this.mManufacturer.setValue(manufacturerText); | |||||
| } | |||||
| public void setModelText(String modelText) { | |||||
| if (this.mRiser.getValue() != null) { | |||||
| this.mRiser.getValue().setModel(modelText); | |||||
| } | |||||
| this.mModel.setValue(modelText); | |||||
| } | |||||
| public void setSize(Double aSize) { | |||||
| if (this.mRiser.getValue() != null) { | |||||
| this.mRiser.getValue().setSize(aSize); | |||||
| } | |||||
| this.mSize.setValue(aSize); | |||||
| } | |||||
| public void setVVisH(Double aVVisH) { | |||||
| if (this.mRiser.getValue() != null) { | |||||
| this.mRiser.getValue().setVVisH(aVVisH); | |||||
| } | |||||
| this.mVVisH.setValue(aVVisH); | |||||
| } | |||||
| public void setVVisV(Double aVVisV) { | |||||
| if (this.mRiser.getValue() != null) { | |||||
| this.mRiser.getValue().setVVisV(aVVisV); | |||||
| } | |||||
| this.mVVisV.setValue(aVVisV); | |||||
| } | |||||
| public LiveData<String> getManufacturer() { | |||||
| return this.mManufacturer; | |||||
| } | |||||
| public LiveData<IRiser> getRiser() { | |||||
| return mRiser; | |||||
| } | |||||
| public LiveData<String> getModel() { | |||||
| return mModel; | |||||
| } | |||||
| public LiveData<Double> getSize() { | |||||
| return mSize; | |||||
| } | |||||
| public LiveData<Double> getVVisH() { | |||||
| return mVVisH; | |||||
| } | |||||
| public LiveData<Double> getVVisV() { | |||||
| return mVVisV; | |||||
| } | |||||
| } |
| 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 SightConfigurationActivity extends AppCompatActivity { | |||||
| @Override | |||||
| protected void onCreate(Bundle savedInstanceState) { | |||||
| super.onCreate(savedInstanceState); | |||||
| setContentView(R.layout.activity_sight_configuration); | |||||
| getSupportActionBar().setDisplayHomeAsUpEnabled(true); | |||||
| getSupportActionBar().setTitle(R.string.title_activity_sight_configuration); | |||||
| } | |||||
| @Override | |||||
| public boolean onOptionsItemSelected(@NonNull MenuItem item) { | |||||
| switch (item.getItemId()) { | |||||
| case android.R.id.home: | |||||
| this.finish(); | |||||
| return true; | |||||
| } | |||||
| return super.onOptionsItemSelected(item); | |||||
| } | |||||
| } |
| package ch.spherIC.recurvebowsight.ui.equipment; | package ch.spherIC.recurvebowsight.ui.equipment; | ||||
| import android.content.Intent; | |||||
| import android.os.Bundle; | import android.os.Bundle; | ||||
| import android.view.LayoutInflater; | import android.view.LayoutInflater; | ||||
| import android.view.MotionEvent; | import android.view.MotionEvent; | ||||
| import androidx.lifecycle.ViewModelProvider; | import androidx.lifecycle.ViewModelProvider; | ||||
| 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.RiserConfigurationActivity; | |||||
| import ch.spherIC.recurvebowsight.ui.configuration.SightConfigurationActivity; | |||||
| public class AddEquipmentFragment extends Fragment { | public class AddEquipmentFragment extends Fragment { | ||||
| private FragmentEquipmentAddListBinding binding; | private FragmentEquipmentAddListBinding binding; | ||||
| public View onCreateView(@NonNull LayoutInflater inflater, | |||||
| ViewGroup container, Bundle savedInstanceState) { | |||||
| public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { | |||||
| AddEquipmentViewModel homeViewModel = new ViewModelProvider(this).get(AddEquipmentViewModel.class); | AddEquipmentViewModel homeViewModel = new ViewModelProvider(this).get(AddEquipmentViewModel.class); | ||||
| binding = FragmentEquipmentAddListBinding.inflate(inflater, container, false); | binding = FragmentEquipmentAddListBinding.inflate(inflater, container, false); | ||||
| View root = binding.getRoot(); | View root = binding.getRoot(); | ||||
| View view = root.findViewById(R.id.card_view_riser_border); | |||||
| view.setOnTouchListener(new View.OnTouchListener() { | |||||
| @Override | |||||
| public boolean onTouch(View v, MotionEvent event) { | |||||
| float alpha = 1.0f; | |||||
| int horzMargin = v.getResources().getDimensionPixelSize(R.dimen.nav_header_horizontal_spacing); | |||||
| int vertMargin = v.getResources().getDimensionPixelSize(R.dimen.nav_header_vertical_spacing); | |||||
| if (event.getAction() == MotionEvent.ACTION_DOWN) { | |||||
| alpha = 0.9f; | |||||
| horzMargin = v.getResources().getDimensionPixelSize(R.dimen.nav_header_horizontal_spacing_onclick); | |||||
| vertMargin = v.getResources().getDimensionPixelSize(R.dimen.nav_header_vertical_spacing_onclick); | |||||
| } | |||||
| View setupCardView = v.findViewById(R.id.card_view_riser_setup); | |||||
| setupCardView.setAlpha(alpha); | |||||
| ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) v.getLayoutParams(); | |||||
| layoutParams.setMargins(horzMargin, vertMargin, horzMargin, vertMargin); | |||||
| v.requestLayout(); | |||||
| return true; | |||||
| } | |||||
| }); | |||||
| attachTouchListener(root, R.id.card_view_riser_border, R.id.card_view_riser_setup); | |||||
| attachTouchListener(root, R.id.card_view_sight_border, R.id.card_view_sight_setup); | |||||
| attachTouchListener(root, R.id.card_view_equipment_border, R.id.card_view_equipment_setup); | |||||
| final TextView textView = binding.textEquipment; | final TextView textView = binding.textEquipment; | ||||
| homeViewModel.getText().observe(getViewLifecycleOwner(), textView::setText); | homeViewModel.getText().observe(getViewLifecycleOwner(), textView::setText); | ||||
| binding = null; | binding = null; | ||||
| } | } | ||||
| private void attachTouchListener(View root, int borderCardViewId, int setupCardViewId) { | |||||
| View borderCardView = root.findViewById(borderCardViewId); | |||||
| View setupCardView = root.findViewById(setupCardViewId); | |||||
| if (borderCardView != null && setupCardView != null) { | |||||
| borderCardView.setOnTouchListener(new View.OnTouchListener() { | |||||
| @Override | |||||
| public boolean onTouch(View v, MotionEvent event) { | |||||
| float alpha = 1.0f; | |||||
| int horzMargin = v.getResources().getDimensionPixelSize(R.dimen.nav_header_horizontal_spacing); | |||||
| int vertMargin = v.getResources().getDimensionPixelSize(R.dimen.nav_header_vertical_spacing); | |||||
| if (event.getAction() == MotionEvent.ACTION_DOWN) { | |||||
| alpha = 0.95f; | |||||
| horzMargin = v.getResources().getDimensionPixelSize(R.dimen.nav_header_horizontal_spacing_onclick); | |||||
| vertMargin = v.getResources().getDimensionPixelSize(R.dimen.nav_header_vertical_spacing_onclick); | |||||
| } | |||||
| setupCardView.setAlpha(alpha); | |||||
| ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) v.getLayoutParams(); | |||||
| layoutParams.setMargins(horzMargin, vertMargin, horzMargin, vertMargin); | |||||
| v.requestLayout(); | |||||
| if (event.getAction() == MotionEvent.ACTION_UP) { | |||||
| if (v.getId() == R.id.card_view_riser_border) { | |||||
| /* Toast.makeText(v.getContext(), | |||||
| "Geklickt: " + v.getId(), | |||||
| Toast.LENGTH_SHORT).show();*/ | |||||
| // TODO: CALL RISER CONFIG ACTIVITY | |||||
| Intent riserConfigurationIntent = new Intent(v.getContext(), RiserConfigurationActivity.class); | |||||
| startActivity(riserConfigurationIntent); | |||||
| } else if (v.getId() == R.id.card_view_sight_border) { | |||||
| // TODO: CALL SIGHT CONFIG ACTIVITY | |||||
| Intent sightConfigurationIntent = new Intent(v.getContext(), SightConfigurationActivity.class); | |||||
| startActivity(sightConfigurationIntent); | |||||
| } else if (v.getId() == R.id.card_view_equipment_border) { | |||||
| // TODO: CALL EQUIPMENT CONFIG ACTIVITY | |||||
| Intent equipmentConfigurationIntent = new Intent(v.getContext(), EquipmentConfigurationActivity.class); | |||||
| startActivity(equipmentConfigurationIntent); | |||||
| } | |||||
| } | |||||
| return true; | |||||
| } | |||||
| }); | |||||
| } | |||||
| } | |||||
| } | } |
| */ | */ | ||||
| public class ChooseEquipmentFragment extends Fragment { | public class ChooseEquipmentFragment extends Fragment { | ||||
| // TODO: Customize parameter argument names | |||||
| private static final String ARG_COLUMN_COUNT = "column-count"; | private static final String ARG_COLUMN_COUNT = "column-count"; | ||||
| // TODO: Customize parameters | |||||
| private int mColumnCount = 1; | private int mColumnCount = 1; | ||||
| /** | /** |
| /** | |||||
| * Copyright (C) 2022 - Florindo Smilari (spherIC) | |||||
| */ | |||||
| package ch.spherIC.recurvebowsight.utilities; | |||||
| import android.app.AlertDialog; | |||||
| import android.content.Context; | |||||
| import android.content.DialogInterface; | |||||
| import android.view.Gravity; | |||||
| import android.widget.Toast; | |||||
| import ch.spherIC.recurvebowsight.R; | |||||
| /** | |||||
| * @author FC Smilari | |||||
| */ | |||||
| public class PlatformUtils { | |||||
| // public static int platformSelectionColor; | |||||
| /* public static int getPlatformSelectionColor(final Context ctx) { | |||||
| Bitmap bitmap = BitmapFactory.decodeResource(ctx.getResources(), android.R.drawable.list_selector_background); | |||||
| int redBucket = 0; | |||||
| int greenBucket = 0; | |||||
| int blueBucket = 0; | |||||
| int pixelCount = 0; | |||||
| if (bitmap != null) { | |||||
| for (int y = 0; y < bitmap.getHeight(); y++) { | |||||
| for (int x = 0; x < bitmap.getWidth(); x++) { | |||||
| int c = bitmap.getPixel(x, y); | |||||
| pixelCount++; | |||||
| redBucket += Color.red(c); | |||||
| greenBucket += Color.green(c); | |||||
| blueBucket += Color.blue(c); | |||||
| // does alpha matter? | |||||
| } | |||||
| } | |||||
| platformSelectionColor = Color.rgb(redBucket / pixelCount, greenBucket / pixelCount, blueBucket / pixelCount); | |||||
| return platformSelectionColor; | |||||
| } | |||||
| return 0; | |||||
| }*/ | |||||
| public static AlertDialog getDeleteConfirmDialog(final Context context, final String itemToDelete, | |||||
| final DialogInterface.OnClickListener okListener) { | |||||
| AlertDialog.Builder builder = new AlertDialog.Builder(context); | |||||
| String msg = context.getResources().getString(R.string.caption_DeleteMsg, itemToDelete); | |||||
| builder = builder.setTitle(R.string.caption_ConfirmDelete).setMessage(msg); | |||||
| builder = builder.setPositiveButton(R.string.caption_Delete, okListener).setNegativeButton(android.R.string.cancel, null); | |||||
| // Create the AlertDialog object and return it | |||||
| return builder.create(); | |||||
| } | |||||
| public static Toast toast(Context context, String message) { | |||||
| Toast toast = Toast.makeText(context, message, Toast.LENGTH_LONG); | |||||
| toast.setGravity(Gravity.CENTER, 0, 0); | |||||
| return toast; | |||||
| } | |||||
| public static Toast toast(Context context, String message, int length, int gravity, int xOffset, int yOffset) { | |||||
| Toast toast = Toast.makeText(context, message, length); | |||||
| toast.setGravity(gravity, xOffset, yOffset); | |||||
| return toast; | |||||
| } | |||||
| } |
| <vector android:height="24dp" android:tint="#000000" | |||||
| android:viewportHeight="24" android:viewportWidth="24" | |||||
| android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
| <path android:fillColor="@android:color/white" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/> | |||||
| </vector> |
| <vector android:height="24dp" android:tint="#000000" | |||||
| android:viewportHeight="24" android:viewportWidth="24" | |||||
| android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
| <path android:fillColor="@android:color/white" android:pathData="M16,9v10H8V9h8m-1.5,-6h-5l-1,1H5v2h14V4h-3.5l-1,-1zM18,7H6v12c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7z"/> | |||||
| </vector> |
| <vector android:height="24dp" android:tint="#000000" | |||||
| android:viewportHeight="24" android:viewportWidth="24" | |||||
| android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
| <path android:fillColor="@android:color/white" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM19,19L5,19L5,5h11.17L19,7.83L19,19zM12,12c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3zM6,6h9v4L6,10z"/> | |||||
| </vector> |
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||||
| xmlns:tools="http://schemas.android.com/tools" | |||||
| android:id="@+id/activity_equipment_configuration" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="match_parent" | |||||
| tools:context=".ui.configuration.EquipmentConfigurationActivity"> | |||||
| </androidx.constraintlayout.widget.ConstraintLayout> |
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||||
| xmlns:app="http://schemas.android.com/apk/res-auto" | |||||
| xmlns:tools="http://schemas.android.com/tools" | |||||
| android:id="@+id/activity_riser_configuration" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="match_parent" | |||||
| tools:context=".ui.configuration.RiserConfigurationActivity"> | |||||
| <ScrollView | |||||
| android:layout_width="0dp" | |||||
| android:layout_height="0dp" | |||||
| 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/configRiserLbl" | |||||
| 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/rcTitleRiserConfig" | |||||
| 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/riserSelectionLayout" | |||||
| 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/configRiserLbl"> | |||||
| <AutoCompleteTextView | |||||
| android:id="@+id/riserSelectionTxt" | |||||
| 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 | |||||
| android:id="@+id/rcManufacturerLayout" | |||||
| 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/riserSelectionLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/rcManufacturerTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/rcManufacturerLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/rcModelLayout" | |||||
| 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/rcManufacturerLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/rcModelTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/rcModelLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/rcSizeLayout" | |||||
| 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/rcModelLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/rcSizeTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/rcSizeLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/rcVvisHLayout" | |||||
| 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/rcSizeLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/rcVvisHTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/rcVvisHLbl" | |||||
| android:singleLine="true" /> | |||||
| </com.google.android.material.textfield.TextInputLayout> | |||||
| <com.google.android.material.textfield.TextInputLayout | |||||
| android:id="@+id/rcVvisVLayout" | |||||
| 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/rcVvisHLayout"> | |||||
| <com.google.android.material.textfield.TextInputEditText | |||||
| android:id="@+id/rcVvisVTxt" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="wrap_content" | |||||
| android:hint="@string/rcVvisVLbl" | |||||
| 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/rcVvisVLayout"> | |||||
| <Button | |||||
| android:id="@+id/risercfg_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/risercfg_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/risercfg_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> |
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||||
| xmlns:tools="http://schemas.android.com/tools" | |||||
| android:id="@+id/activity_sight_configuration" | |||||
| android:layout_width="match_parent" | |||||
| android:layout_height="match_parent" | |||||
| tools:context=".ui.configuration.SightConfigurationActivity"> | |||||
| </androidx.constraintlayout.widget.ConstraintLayout> |
| android:layout_width="wrap_content" | android:layout_width="wrap_content" | ||||
| android:layout_height="wrap_content" | android:layout_height="wrap_content" | ||||
| android:layout_margin="@dimen/text_margin" | android:layout_margin="@dimen/text_margin" | ||||
| android:layout_marginStart="16dp" | |||||
| android:layout_marginTop="20dp" | android:layout_marginTop="20dp" | ||||
| android:text="@string/caption_MainCfg_Sight_MainText" | android:text="@string/caption_MainCfg_Sight_MainText" | ||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
| android:layout_width="wrap_content" | android:layout_width="wrap_content" | ||||
| android:layout_height="wrap_content" | android:layout_height="wrap_content" | ||||
| android:layout_margin="@dimen/text_margin" | android:layout_margin="@dimen/text_margin" | ||||
| android:layout_marginStart="16dp" | |||||
| android:layout_marginTop="20dp" | android:layout_marginTop="20dp" | ||||
| android:text="@string/caption_MainCfg_ArcerySetup_MainText" | android:text="@string/caption_MainCfg_ArcerySetup_MainText" | ||||
| android:textAppearance="@style/TextAppearance.AppCompat.Large" | android:textAppearance="@style/TextAppearance.AppCompat.Large" |
| <string name="nav_header_subtitle">Entwickelt von spherIC (F.Smilari)</string> | <string name="nav_header_subtitle">Entwickelt von spherIC (F.Smilari)</string> | ||||
| <string name="nav_header_desc">Navigation header</string> | <string name="nav_header_desc">Navigation header</string> | ||||
| <string name="action_settings">Settings</string> | <string name="action_settings">Settings</string> | ||||
| <string name="title_activity_main_configuration">RBS Konfiguration Bogen/Visier/Ausrüstung</string> | |||||
| <string name="title_activity_riser_configuration">RBS Konfiguration Griffstück</string> | |||||
| <string name="title_activity_sight_configuration">RBS Konfiguration Visier</string> | |||||
| <string name="title_activity_archery_setup_configuration">RBS Konfiguration Ausrüstung</string> | |||||
| <string name="menu_equipment">Ausrüstung</string> | <string name="menu_equipment">Ausrüstung</string> | ||||
| <string name="menu_about">Über RBS...</string> | <string name="menu_about">Über RBS...</string> | ||||
| <string name="menu_userguide">Benutzeranleitung</string> | <string name="menu_userguide">Benutzeranleitung</string> | ||||
| <string name="menu_equipment_add">Ausrüstung hinzufügen</string> | |||||
| <string name="menu_equipment_add">Ausrüstung verwalten</string> | |||||
| <string name="menu_equipment_choose">Ausrüstung wählen</string> | <string name="menu_equipment_choose">Ausrüstung wählen</string> | ||||
| <string name="menu_calculate_sight">Visiereinstellung berechnen</string> | <string name="menu_calculate_sight">Visiereinstellung berechnen</string> | ||||
| <string name="caption_NoSelection">Keine Auswahl...</string> | <string name="caption_NoSelection">Keine Auswahl...</string> | ||||
| <string name="caption_MainCfg_ArcerySetup_MainText">Ausrüstung</string> | <string name="caption_MainCfg_ArcerySetup_MainText">Ausrüstung</string> | ||||
| <string name="caption_MainCfg_ArcerySetup_SubText">Hier klicken um eine Ausrüstung zu Editieren, zu Löschen oder Einzufügen</string> | <string name="caption_MainCfg_ArcerySetup_SubText">Hier klicken um eine Ausrüstung zu Editieren, zu Löschen oder Einzufügen</string> | ||||
| <string name="rcTitleRiserConfig">Konfiguration Griffstück</string> | |||||
| <string name="rcRiserLbl">Griffstück</string> | |||||
| <string name="rcManufacturerLbl">Hersteller</string> | |||||
| <string name="rcModelLbl">Modell</string> | |||||
| <string name="rcSizeLbl">Größe</string> | |||||
| <string name="rcVvisHLbl">VvisH [mm]</string> | |||||
| <string name="rcVvisVLbl">VvisV [mm]</string> | |||||
| <string name="caption_Ok">OK</string> | |||||
| <string name="caption_Cancel">Abbrechen</string> | |||||
| <string name="caption_New">Neu</string> | |||||
| <string name="caption_Save">Speichern</string> | |||||
| <string name="caption_Delete">Löschen</string> | |||||
| <string name="caption_Close">Schliessen</string> | |||||
| <string name="caption_Cfg_DeleteNotPossible">Löschen nicht möglich. Die Entität wird vermutlich von einer anderen Entität referenziert.</string> | |||||
| <string name="caption_Cfg_ArcherySetup_SaveNotPossible">Speichern nicht möglich. Diese Kombination Griffstück/Visier existiert bereits.</string> | |||||
| <string name="caption_Cfg_FillAllMandatoryFields">Bitte alle Parameterfelder abfüllen.</string> | |||||
| <string name="caption_ConfirmDelete">Löschen bestätigen</string> | |||||
| <string name="caption_DeleteMsg">Wollen Sie \'%s\' wirklich löschen?</string> | |||||
| <string name="caption_FillAllMandatoryFields">Um die Berechnung durchzuführen, müssen alle Parameterfelder abgefüllt sein.</string> | |||||
| <string name="caption_mandatory">Erforderlich</string> | |||||
| <string name="caption_Cfg_DeleteSuccessful">\'%s\' erfolgreich gelöscht!</string> | |||||
| <string name="caption_Cfg_SaveSuccessful">\'%s\' erfolgreich gespeichert!</string> | |||||
| </resources> | </resources> |
| <string name="nav_header_subtitle">developed by spherIC (F.Smilari)</string> | <string name="nav_header_subtitle">developed by spherIC (F.Smilari)</string> | ||||
| <string name="nav_header_desc">Navigation header</string> | <string name="nav_header_desc">Navigation header</string> | ||||
| <string name="action_settings">Settings</string> | <string name="action_settings">Settings</string> | ||||
| <string name="title_activity_main_configuration">RBS Riser/Sight/Equipment Configuration</string> | |||||
| <string name="title_activity_riser_configuration">RBS Riser Configuration</string> | |||||
| <string name="title_activity_sight_configuration">RBS Sight Configuration</string> | |||||
| <string name="title_activity_archery_setup_configuration">RBS Archery Setup Configuration</string> | |||||
| <string name="menu_equipment">Equipment</string> | <string name="menu_equipment">Equipment</string> | ||||
| <string name="menu_about">About RBS...</string> | <string name="menu_about">About RBS...</string> | ||||
| <string name="menu_userguide">User Guide</string> | <string name="menu_userguide">User Guide</string> | ||||
| <string name="menu_equipment_add">Add Equipment</string> | |||||
| <string name="menu_equipment_add">Manage Equipment</string> | |||||
| <string name="menu_equipment_choose">Choose Equipment</string> | <string name="menu_equipment_choose">Choose Equipment</string> | ||||
| <string name="menu_calculate_sight">Calculate Sight</string> | <string name="menu_calculate_sight">Calculate Sight</string> | ||||
| <string name="caption_NoSelection">No Selection...</string> | |||||
| <string name="caption_NoSelection">No Selection…</string> | |||||
| <string name="caption_setup_choosen">"Selected Setup: "</string> | <string name="caption_setup_choosen">"Selected Setup: "</string> | ||||
| <string name="viewParams">Parameters</string> | <string name="viewParams">Parameters</string> | ||||
| <string name="caption_MainCfg_ArcerySetup_MainText">Equipment</string> | <string name="caption_MainCfg_ArcerySetup_MainText">Equipment</string> | ||||
| <string name="caption_MainCfg_ArcerySetup_SubText">Tab to edit, delete or insert a equipment setup</string> | <string name="caption_MainCfg_ArcerySetup_SubText">Tab to edit, delete or insert a equipment setup</string> | ||||
| <string name="rcTitleRiserConfig">Riser Configuration</string> | |||||
| <string name="rcRiserLbl">Riser</string> | |||||
| <string name="rcManufacturerLbl">Manufacturer</string> | |||||
| <string name="rcModelLbl">Model</string> | |||||
| <string name="rcSizeLbl">Size</string> | |||||
| <string name="rcVvisHLbl">VvisH [mm]</string> | |||||
| <string name="rcVvisVLbl">VvisV [mm]</string> | |||||
| <string name="caption_Ok">OK</string> | |||||
| <string name="caption_Cancel">Cancel</string> | |||||
| <string name="caption_New">New</string> | |||||
| <string name="caption_Save">Save</string> | |||||
| <string name="caption_Delete">Delete</string> | |||||
| <string name="caption_Close">Close</string> | |||||
| <string name="caption_Cfg_DeleteNotPossible">Unable to delete. Most probably the item is referenced by an other entity.</string> | |||||
| <string name="caption_Cfg_ArcherySetup_SaveNotPossible">Unable to save. This combination of sight und riser is already stored.</string> | |||||
| <string name="caption_Cfg_FillAllMandatoryFields">Please fill in all parameter fields.</string> | |||||
| <string name="caption_ConfirmDelete">Confirm Deletion</string> | |||||
| <string name="caption_DeleteMsg">Are you sure you want delete \'%s\'?</string> | |||||
| <string name="caption_FillAllMandatoryFields">To start the calculation all parameter fields must be filled.</string> | |||||
| <string name="caption_mandatory">Mandatory</string> | |||||
| <string name="caption_Cfg_DeleteSuccessful">\'%s\' was successfully deleted!</string> | |||||
| <string name="caption_Cfg_SaveSuccessful">\'%s\' was saved successfully!</string> | |||||
| </resources> | </resources> |