├── settings.gradle ├── fastlane └── metadata │ └── android │ ├── de │ └── short_description.txt │ ├── en-US │ ├── short_description.txt │ ├── images │ │ └── icon.png │ └── full_description.txt │ └── it │ ├── short_description.txt │ └── full_description.txt ├── app ├── src │ ├── main │ │ ├── res │ │ │ ├── values-jv │ │ │ │ └── strings.xml │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── icon.png │ │ │ ├── drawable │ │ │ │ ├── empty.xml │ │ │ │ ├── icon_background.xml │ │ │ │ ├── diagram_hearth.xml │ │ │ │ ├── diagram_hearth_print.xml │ │ │ │ ├── person_background.xml │ │ │ │ ├── references_background.xml │ │ │ │ ├── diagram_year_oval.xml │ │ │ │ ├── person_background_partner.xml │ │ │ │ ├── person_background_partner_print.xml │ │ │ │ ├── person_border_male.xml │ │ │ │ ├── person_border_female.xml │ │ │ │ ├── button_text_color.xml │ │ │ │ ├── person_border_undefined.xml │ │ │ │ ├── popup_baloon.xml │ │ │ │ ├── diagram_background.xml │ │ │ │ ├── slug_background.xml │ │ │ │ ├── generic_background.xml │ │ │ │ ├── menu_alberi_sfondo.xml │ │ │ │ ├── ruota_sfondo.xml │ │ │ │ ├── button_background_color.xml │ │ │ │ ├── product_background.xml │ │ │ │ ├── menu_sfondo.xml │ │ │ │ ├── line_above.xml │ │ │ │ ├── link_underline.xml │ │ │ │ ├── frecciona.xml │ │ │ │ ├── piu.xml │ │ │ │ ├── indicator.xml │ │ │ │ ├── menu_persona.xml │ │ │ │ ├── person_background_selected.xml │ │ │ │ ├── menu_tempio.xml │ │ │ │ ├── ex.xml │ │ │ │ ├── sort.xml │ │ │ │ ├── menu_fonte.xml │ │ │ │ ├── triangle_cap.xml │ │ │ │ ├── popup_fiato.xml │ │ │ │ ├── defunto.xml │ │ │ │ ├── thumb.xml │ │ │ │ ├── triangle_tab.xml │ │ │ │ ├── title_background.xml │ │ │ │ ├── magnifier.xml │ │ │ │ ├── menu_lista.xml │ │ │ │ ├── menu_ritratto.xml │ │ │ │ ├── menu_autore.xml │ │ │ │ ├── menu_nota.xml │ │ │ │ ├── hamburger.xml │ │ │ │ ├── questionmark.xml │ │ │ │ ├── note_background.xml │ │ │ │ ├── menu_diagramma.xml │ │ │ │ ├── menu_famiglia.xml │ │ │ │ ├── gear.xml │ │ │ │ ├── image.xml │ │ │ │ └── file_icon.xml │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── tags.xml │ │ │ │ └── colors.xml │ │ │ ├── xml │ │ │ │ ├── backup_rules.xml │ │ │ │ ├── provider_paths.xml │ │ │ │ └── locales_config.xml │ │ │ ├── drawable-night │ │ │ │ ├── diagram_year_oval.xml │ │ │ │ ├── diagram_background.xml │ │ │ │ ├── ruota_sfondo.xml │ │ │ │ └── product_background.xml │ │ │ ├── layout │ │ │ │ ├── crop_image_activity.xml │ │ │ │ ├── progress.xml │ │ │ │ ├── diagram_button.xml │ │ │ │ ├── diagram_asterisk.xml │ │ │ │ ├── launcher_activity.xml │ │ │ │ ├── pezzo_bava.xml │ │ │ │ ├── menu_item_extra.xml │ │ │ │ ├── merge_activity.xml │ │ │ │ ├── switch_layout.xml │ │ │ │ ├── file_activity.xml │ │ │ │ ├── profile_page_fragment.xml │ │ │ │ ├── diagram_minicard.xml │ │ │ │ ├── fab.xml │ │ │ │ ├── crop_image_dialog.xml │ │ │ │ ├── barra_edita.xml │ │ │ │ ├── scrollview_item.xml │ │ │ │ ├── backup_recover_fragment.xml │ │ │ │ ├── media_file.xml │ │ │ │ ├── image_layout.xml │ │ │ │ ├── tree_title_dialog.xml │ │ │ │ ├── scrollview.xml │ │ │ │ ├── id_editor.xml │ │ │ │ ├── fabuloso.xml │ │ │ │ ├── source_item.xml │ │ │ │ ├── name_editor.xml │ │ │ │ ├── family_layout.xml │ │ │ │ ├── piece_app.xml │ │ │ │ ├── popup.xml │ │ │ │ ├── recyclerview.xml │ │ │ │ ├── backup_save_fragment.xml │ │ │ │ ├── trees_activity.xml │ │ │ │ ├── source_citation_layout.xml │ │ │ │ ├── cabinet_layout.xml │ │ │ │ ├── merge_tree_layout.xml │ │ │ │ ├── change_date_layout.xml │ │ │ │ ├── note_layout.xml │ │ │ │ ├── notes_item.xml │ │ │ │ ├── source_layout.xml │ │ │ │ ├── trees_bar.xml │ │ │ │ ├── activity_detail.xml │ │ │ │ ├── file_info_dialog.xml │ │ │ │ ├── media_folders_activity.xml │ │ │ │ ├── tree_view.xml │ │ │ │ ├── purchase_activity.xml │ │ │ │ ├── media_folder_item.xml │ │ │ │ ├── media_layout.xml │ │ │ │ ├── profile_facts_item.xml │ │ │ │ ├── confirmation_activity.xml │ │ │ │ ├── diagram_fragment.xml │ │ │ │ ├── compare_activity.xml │ │ │ │ ├── main_activity.xml │ │ │ │ ├── event_item.xml │ │ │ │ ├── progress_view.xml │ │ │ │ ├── profile_relatives_title.xml │ │ │ │ ├── families_item.xml │ │ │ │ ├── backup_activity.xml │ │ │ │ ├── new_relative_dialog.xml │ │ │ │ ├── about_activity.xml │ │ │ │ ├── profile_relatives_group.xml │ │ │ │ ├── banner_layout.xml │ │ │ │ ├── compare_card.xml │ │ │ │ ├── small_person_layout.xml │ │ │ │ └── merge_choice_fragment.xml │ │ │ ├── drawable-ldrtl │ │ │ │ └── menu_alberi_sfondo.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ └── icon.xml │ │ │ ├── menu │ │ │ │ ├── switcher.xml │ │ │ │ ├── sort_by.xml │ │ │ │ ├── search.xml │ │ │ │ └── main_menu.xml │ │ │ ├── values-el │ │ │ │ └── strings.xml │ │ │ ├── values-ti │ │ │ │ └── strings.xml │ │ │ ├── values-night │ │ │ │ └── colors.xml │ │ │ ├── navigation │ │ │ │ └── merge_nav_graph.xml │ │ │ └── xml-v35 │ │ │ │ └── locales_config.xml │ │ ├── icon-web.png │ │ └── java │ │ │ └── app │ │ │ └── familygem │ │ │ ├── merge │ │ │ ├── Enum.kt │ │ │ ├── BaseFragment.kt │ │ │ └── MergeActivity.kt │ │ │ ├── constant │ │ │ ├── Destination.kt │ │ │ ├── Image.kt │ │ │ ├── Choice.java │ │ │ ├── FileType.kt │ │ │ ├── Relation.java │ │ │ ├── Kind.java │ │ │ ├── Json.java │ │ │ ├── Type.kt │ │ │ ├── Format.java │ │ │ ├── Extra.kt │ │ │ ├── Status.java │ │ │ └── Gender.java │ │ │ ├── util │ │ │ ├── SubmitterUtil.kt │ │ │ ├── NameUtil.kt │ │ │ ├── AddressUtil.kt │ │ │ ├── RepositoryUtil.kt │ │ │ ├── SexUtil.kt │ │ │ └── SourceUtil.kt │ │ │ ├── Logger.java │ │ │ ├── Extension.java │ │ │ ├── BaseActivity.java │ │ │ ├── visitor │ │ │ ├── CleanStack.java │ │ │ ├── NoteList.java │ │ │ ├── NoteContainers.java │ │ │ ├── MediaContainers.java │ │ │ ├── MediaContainersGuarded.java │ │ │ ├── NoteContainersGuarded.java │ │ │ ├── NoteReferences.java │ │ │ ├── CountSourceCitations.java │ │ │ ├── MediaLeaders.kt │ │ │ ├── MediaReferences.java │ │ │ ├── ListOfSourceCitations.java │ │ │ └── TotalVisitor.java │ │ │ ├── purchase │ │ │ └── PurchaseActivity.kt │ │ │ ├── AboutActivity.java │ │ │ ├── ElasticTextView.kt │ │ │ ├── TimePickerFragment.kt │ │ │ ├── detail │ │ │ ├── ChangeActivity.java │ │ │ ├── ExtensionActivity.java │ │ │ ├── SubmitterActivity.java │ │ │ ├── NoteActivity.java │ │ │ ├── AddressActivity.java │ │ │ ├── RepositoryRefActivity.java │ │ │ ├── RepositoryActivity.java │ │ │ └── SourceCitationActivity.java │ │ │ ├── profile │ │ │ └── BaseFragment.kt │ │ │ ├── DatePickerFragment.kt │ │ │ ├── SpeechBubble.java │ │ │ ├── ProgressView.kt │ │ │ ├── share │ │ │ └── Comparison.java │ │ │ └── NotifyReceiver.java │ └── androidTest │ │ └── assets │ │ ├── anna.webp │ │ ├── È Carmelo.pdf │ │ └── media.ged ├── libs │ ├── geonames-1.1.15.jar │ └── gedcomgraph-3.10.jar └── proguard-rules.pro ├── gradle.properties ├── .gitignore └── .idea └── codeStyles └── codeStyleConfig.xml /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/de/short_description.txt: -------------------------------------------------------------------------------- 1 | Erstelle Deinen eigenen Stammbaum -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | Create your own family tree -------------------------------------------------------------------------------- /fastlane/metadata/android/it/short_description.txt: -------------------------------------------------------------------------------- 1 | Crea il tuo albero genealogico -------------------------------------------------------------------------------- /app/src/main/res/values-jv/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/icon-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michelesalvador/FamilyGem/HEAD/app/src/main/icon-web.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | android.useAndroidX=true 2 | android.enableJetifier=true 3 | org.gradle.jvmargs=-Xmx2048M 4 | -------------------------------------------------------------------------------- /app/libs/geonames-1.1.15.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michelesalvador/FamilyGem/HEAD/app/libs/geonames-1.1.15.jar -------------------------------------------------------------------------------- /app/libs/gedcomgraph-3.10.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michelesalvador/FamilyGem/HEAD/app/libs/gedcomgraph-3.10.jar -------------------------------------------------------------------------------- /app/src/androidTest/assets/anna.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michelesalvador/FamilyGem/HEAD/app/src/androidTest/assets/anna.webp -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle/ 2 | .idea/* 3 | !.idea/codeStyles/ 4 | build/ 5 | app/libs-source-data/ 6 | credential.properties 7 | local.properties 8 | -------------------------------------------------------------------------------- /app/src/androidTest/assets/È Carmelo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michelesalvador/FamilyGem/HEAD/app/src/androidTest/assets/È Carmelo.pdf -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michelesalvador/FamilyGem/HEAD/app/src/main/res/mipmap-xxxhdpi/icon.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michelesalvador/FamilyGem/HEAD/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/merge/Enum.kt: -------------------------------------------------------------------------------- 1 | package app.familygem.merge 2 | 3 | enum class Will { NONE, KEEP, MERGE } 4 | 5 | enum class State { QUIET, ACTIVE, RESET, COMPLETE } 6 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/empty.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 80dp 4 | 70dp 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_background.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/Destination.kt: -------------------------------------------------------------------------------- 1 | package app.familygem.constant 2 | 3 | /** More info on something that is going to be created. */ 4 | enum class Destination { 5 | SIMPLE_MEDIA, 6 | SHARED_MEDIA 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/diagram_hearth.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/diagram_hearth_print.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/person_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/references_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/diagram_year_oval.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/person_background_partner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/person_background_partner_print.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/person_border_male.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-night/diagram_year_oval.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/person_border_female.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/Image.kt: -------------------------------------------------------------------------------- 1 | package app.familygem.constant 2 | 3 | import app.familygem.util.FileUtil 4 | 5 | /** Some bitwise options for [FileUtil.selectMainImage] and [FileUtil.showImage]. */ 6 | object Image { 7 | const val DARK = 0b1 8 | const val BLUR = 0b10 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/person_border_undefined.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/popup_baloon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/diagram_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/slug_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/crop_image_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-night/diagram_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/generic_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldrtl/menu_alberi_sfondo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_alberi_sfondo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ruota_sfondo.xml: -------------------------------------------------------------------------------- 1 | 4 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-night/ruota_sfondo.xml: -------------------------------------------------------------------------------- 1 | 4 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_background_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/product_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-night/product_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_sfondo.xml: -------------------------------------------------------------------------------- 1 | 4 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/line_above.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/link_underline.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/frecciona.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/piu.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/menu/switcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/Choice.java: -------------------------------------------------------------------------------- 1 | package app.familygem.constant; 2 | 3 | public class Choice { 4 | public static final String PERSON = "choosePerson"; 5 | public static final String MEDIA = "chooseMedia"; 6 | public static final String NOTE = "chooseNote"; 7 | public static final String SOURCE = "chooseSource"; 8 | public static final String REPOSITORY = "chooseRepo"; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/indicator.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_persona.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/person_background_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/diagram_button.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_tempio.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ex.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/menu/sort_by.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/util/SubmitterUtil.kt: -------------------------------------------------------------------------------- 1 | package app.familygem.util 2 | 3 | import app.familygem.R 4 | import app.familygem.util.Util.string 5 | import org.folg.gedcom.model.Submitter 6 | 7 | fun Submitter.writeName(): String { 8 | var name = name 9 | if (name == null) name = "[${string(R.string.no_name)}]" 10 | else if (name.isEmpty()) name = "[${string(R.string.empty_name)}]" 11 | return name 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/FileType.kt: -------------------------------------------------------------------------------- 1 | package app.familygem.constant 2 | 3 | import app.familygem.util.FileUtil 4 | 5 | /** Some file types that can be exported, with their MIME type. */ 6 | enum class FileType(val mimeType: String) { 7 | PNG("image/png"), 8 | PDF("application/pdf"), 9 | ZIP_BACKUP("application/zip"), 10 | GEDCOM(FileUtil.gedcomMimeTypes[0]), 11 | ZIPPED_GEDCOM("application/zip") 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/sort.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_fonte.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/triangle_cap.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/popup_fiato.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/defunto.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/thumb.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/triangle_tab.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/diagram_asterisk.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/title_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/launcher_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/magnifier.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/Logger.java: -------------------------------------------------------------------------------- 1 | package app.familygem; 2 | 3 | import android.util.Log; 4 | 5 | public class Logger { 6 | 7 | /** 8 | * Logs everything with "mine" tag. 9 | */ 10 | public static void l(Object... objects) { 11 | StringBuilder builder = new StringBuilder(); 12 | for (Object object : objects) 13 | builder.append(object).append(" "); 14 | Log.v("mine", builder.toString()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/values/tags.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_lista.xml: -------------------------------------------------------------------------------- 1 | 8 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/pezzo_bava.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_ritratto.xml: -------------------------------------------------------------------------------- 1 | 6 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/menu/search.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/Extension.java: -------------------------------------------------------------------------------- 1 | package app.familygem; 2 | 3 | import org.folg.gedcom.model.GedcomTag; 4 | 5 | /** 6 | * Represents the name and text of an extension. 7 | */ 8 | public class Extension { 9 | public String name; 10 | public String text; 11 | public GedcomTag gedcomTag; 12 | 13 | public Extension(String name, String text, GedcomTag gedcomTag) { 14 | this.name = name; 15 | this.text = text; 16 | this.gedcomTag = gedcomTag; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/menu_item_extra.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_autore.xml: -------------------------------------------------------------------------------- 1 | 6 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_nota.xml: -------------------------------------------------------------------------------- 1 | 6 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/layout/merge_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/Relation.java: -------------------------------------------------------------------------------- 1 | package app.familygem.constant; 2 | 3 | public enum Relation { 4 | PARENT, SIBLING, HALF_SIBLING, PARTNER, CHILD; 5 | 6 | public static Relation get(int num) { 7 | switch (num) { 8 | case 0: 9 | return PARENT; 10 | case 1: 11 | return SIBLING; 12 | case 2: 13 | return PARTNER; 14 | case 3: 15 | return CHILD; 16 | } 17 | return null; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/Kind.java: -------------------------------------------------------------------------------- 1 | package app.familygem.constant; 2 | 3 | /** 4 | * GEDCOM date types. 5 | */ 6 | public enum Kind { 7 | 8 | EXACT(""), 9 | APPROXIMATE("ABT"), CALCULATED("CAL"), ESTIMATED("EST"), 10 | AFTER("AFT"), BEFORE("BEF"), BETWEEN_AND("BET"), 11 | FROM("FROM"), TO("TO"), FROM_TO("FROM"), 12 | PHRASE("("); // TODO: Manage also the "INT" (interpreted) prefix. 13 | 14 | public final String prefix; 15 | 16 | Kind(String prefix) { 17 | this.prefix = prefix; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/util/NameUtil.kt: -------------------------------------------------------------------------------- 1 | package app.familygem.util 2 | 3 | import app.familygem.Global 4 | import app.familygem.R 5 | import app.familygem.TypeView 6 | import org.folg.gedcom.model.Name 7 | 8 | /** Composes the title of a name fact, optionally adding the type. */ 9 | fun Name.writeTitle(): String { 10 | var txt = Global.context.getString(R.string.name) 11 | if (type != null && type.isNotEmpty()) { 12 | txt += " (${TypeView.getTranslatedType(type, TypeView.Combo.NAME)})" 13 | } 14 | return txt 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/Json.java: -------------------------------------------------------------------------------- 1 | package app.familygem.constant; 2 | 3 | /** 4 | * Names inside the JSON coming from the server. 5 | */ 6 | public class Json { 7 | public static final String FTP = "ftp"; 8 | public static final String HOST = "host"; 9 | public static final String PORT = "port"; 10 | public static final String USER = "user"; 11 | public static final String PASSWORD = "password"; 12 | public static final String SHARED_PATH = "sharedPath"; 13 | public static final String GEO_NAMES = "geoNames"; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hamburger.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/questionmark.xml: -------------------------------------------------------------------------------- 1 | 6 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/note_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_diagramma.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/switch_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/file_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_famiglia.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/values-el/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Είσαι σίγουρος? 4 | Ακύρωση 5 | Τέλος 6 | Αλλαγή ημερομηνίας 7 | Το URI που λήφθηκε δεν έγινε κατανοητό. 8 | Δημιούργησε το δικό σου οικογενειακό δέντρο 9 | Διαγραφή 10 | Κάτι πήγε στραβά. 11 | Έκδοση %s 12 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/full_description.txt: -------------------------------------------------------------------------------- 1 | Family Gem is a free app for Android that let you create complete genealogical trees. 2 | 3 | With Family Gem you can: 4 | 5 | * Create a family tree from scratch, entering names, dates, places, events, photos and sources. 6 | * Import an existing family tree through a GEDCOM file and modify it as you like. 7 | * Export the family tree you created (via GEDCOM again) to every other genealogy program. 8 | * Share a tree with your relatives, letting them improve it and receiving back the updates. 9 | 10 | For help, first head over to the wiki pages. 11 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/BaseActivity.java: -------------------------------------------------------------------------------- 1 | package app.familygem; 2 | 3 | import android.os.Bundle; 4 | 5 | import androidx.appcompat.app.AppCompatActivity; 6 | 7 | public class BaseActivity extends AppCompatActivity { 8 | 9 | @Override 10 | protected void onCreate(Bundle savedInstanceState) { 11 | super.onCreate(savedInstanceState); 12 | 13 | // Updates activity title when one in-app language is selected 14 | try { 15 | int title = getPackageManager().getActivityInfo(getComponentName(), 0).labelRes; 16 | if (title != 0) setTitle(title); 17 | } catch (Exception ignored) { 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/visitor/CleanStack.java: -------------------------------------------------------------------------------- 1 | package app.familygem.visitor; 2 | 3 | import org.folg.gedcom.model.ExtensionContainer; 4 | 5 | /** 6 | * Closely connected to {@link FindStack}, locates in the stack the objects to keep or delete. 7 | */ 8 | class CleanStack extends TotalVisitor { 9 | 10 | private Object target; 11 | boolean toDelete = true; 12 | 13 | CleanStack(Object target) { 14 | this.target = target; 15 | } 16 | 17 | @Override 18 | boolean visit(ExtensionContainer object, boolean isLeader) { // The boolean is unused here 19 | if (object.equals(target)) 20 | toDelete = false; 21 | return true; 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /fastlane/metadata/android/it/full_description.txt: -------------------------------------------------------------------------------- 1 | Family Gem è un'app gratutita per Android che ti consente di creare alberi genealogici completi. 2 | 3 | Con Family Gem puoi: 4 | 5 | * Creare un albero genealogico da zero, inserendo nomi, date, luoghi, eventi, foto e fonti. 6 | * Importare un albero esistente attraverso un file GEDCOM e modificarlo come preferisci. 7 | * Esportare l'albero che hai creato (sempre tramite GEDCOM) in qualsiasi altro programma genealogico. 8 | * Condividere un albero con i tuoi parenti, lasciando che lo arrichiscano e ricevendo indietro gli aggiornamenti. 9 | 10 | Per un aiuto, prima dai un'occhiata alle pagine wiki. 11 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/Type.kt: -------------------------------------------------------------------------------- 1 | package app.familygem.constant 2 | 3 | import app.familygem.util.FileUtil 4 | 5 | /** Possible file types resulting by [FileUtil.showImage]. */ 6 | enum class Type { 7 | /** Initial value. */ 8 | NONE, 9 | 10 | /** Croppable image. */ 11 | CROPPABLE, 12 | 13 | /** Not croppable video preview. */ 14 | VIDEO, 15 | 16 | /** Not croppable PDF preview. */ 17 | PDF, 18 | 19 | /** Generic file icon. */ 20 | DOCUMENT, 21 | 22 | /** Image with preview from the web. */ 23 | WEB_IMAGE, 24 | 25 | /** Anything else from the web. */ 26 | WEB_ANYTHING, 27 | 28 | /** File failed loading. */ 29 | PLACEHOLDER 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/profile_page_fragment.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/diagram_minicard.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fab.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/crop_image_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/java/app/familygem/constant/Format.java: -------------------------------------------------------------------------------- 1 | package app.familygem.constant; 2 | 3 | /** 4 | * All of the formats a Date can be displayed as. 5 | */ 6 | public class Format { 7 | public static final String[] PATTERNS = {"d MMM yyy", "d M yyy", "MMM yyy", "M yyy", "d MMM", "yyy", ""}; 8 | public static final String D_M_Y = PATTERNS[0]; // 31 JAN 2000 9 | public static final String D_m_Y = PATTERNS[1]; // 31 1 2000 10 | public static final String M_Y = PATTERNS[2]; // JAN 2000 11 | public static final String m_Y = PATTERNS[3]; // 1 2000 12 | public static final String D_M = PATTERNS[4]; // 31 JAN 13 | public static final String Y = PATTERNS[5]; // 2000 14 | public static final String OTHER = PATTERNS[6]; // Any empty or invalid date 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/barra_edita.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 |