├── .editorconfig ├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle.kts ├── commons ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro ├── schemas │ └── com.simplemobiletools.commons.databases.ContactsDatabase │ │ └── 3.json └── src │ └── main │ ├── AndroidManifest.xml │ ├── kotlin │ └── com │ │ └── simplemobiletools │ │ └── commons │ │ ├── activities │ │ ├── AboutActivity.kt │ │ ├── BaseSimpleActivity.kt │ │ ├── BaseSplashActivity.kt │ │ ├── ContributorsActivity.kt │ │ ├── CustomizationActivity.kt │ │ ├── FAQActivity.kt │ │ ├── LicenseActivity.kt │ │ └── ManageBlockedNumbersActivity.kt │ │ ├── adapters │ │ ├── FilepickerFavoritesAdapter.kt │ │ ├── FilepickerItemsAdapter.kt │ │ ├── MyArrayAdapter.kt │ │ ├── MyRecyclerViewAdapter.kt │ │ ├── MyRecyclerViewListAdapter.kt │ │ ├── PasswordTypesAdapter.kt │ │ ├── RenameAdapter.kt │ │ └── SimpleListItemAdapter.kt │ │ ├── asynctasks │ │ └── CopyMoveTask.kt │ │ ├── compose │ │ ├── alert_dialog │ │ │ ├── AlertDialogState.kt │ │ │ └── AlertDialogsExtensions.kt │ │ ├── bottom_sheet │ │ │ ├── BottomSheetDialogState.kt │ │ │ └── BottomSheetDialogsExtensions.kt │ │ ├── components │ │ │ ├── LinkifyTextComponent.kt │ │ │ ├── RadioButtonDialogComponent.kt │ │ │ ├── RadioGroupDialogComponent.kt │ │ │ └── SimpleDropDownMenuItem.kt │ │ ├── extensions │ │ │ ├── AcitivtyExtensions.kt │ │ │ ├── BooleanPreviewParameterProvider.kt │ │ │ ├── ColorExtensions.kt │ │ │ ├── ComposeActivityExtensions.kt │ │ │ ├── ComposeExtensions.kt │ │ │ ├── ContextComposeExtensions.kt │ │ │ ├── DragHandler.kt │ │ │ ├── ModifierExtensions.kt │ │ │ ├── NoRippleTheme.kt │ │ │ └── PreviewExtensions.kt │ │ ├── lists │ │ │ ├── SettingsScaffoldExtensions.kt │ │ │ ├── SimpleColumnScaffold.kt │ │ │ ├── SimpleLazyListScaffold.kt │ │ │ └── SimpleScaffoldTopBar.kt │ │ ├── menus │ │ │ └── ActionMenu.kt │ │ ├── screens │ │ │ ├── AboutScreen.kt │ │ │ ├── ContributorsScreen.kt │ │ │ ├── FAQScreen.kt │ │ │ ├── LicenseScreen.kt │ │ │ └── ManageBlockedNumbersScreen.kt │ │ ├── settings │ │ │ ├── SettingsCheckBoxComponent.kt │ │ │ ├── SettingsDivider.kt │ │ │ ├── SettingsGroup.kt │ │ │ ├── SettingsLazyGroup.kt │ │ │ ├── SettingsListItem.kt │ │ │ ├── SettingsPreferenceComponent.kt │ │ │ └── SettingsTitleTextComponent.kt │ │ ├── system_ui_controller │ │ │ └── SystemUIController.kt │ │ └── theme │ │ │ ├── AppModifiers.kt │ │ │ ├── AppTheme.kt │ │ │ ├── ColorSchemes.kt │ │ │ ├── Colors.kt │ │ │ ├── ColorsExtensions.kt │ │ │ ├── Dimensions.kt │ │ │ ├── DynamicTheme.kt │ │ │ ├── DynamicThemeRipple.kt │ │ │ ├── Shapes.kt │ │ │ ├── SimpleTheme.kt │ │ │ ├── Theme.kt │ │ │ ├── ThemeExtensions.kt │ │ │ └── model │ │ │ ├── CommonTheme.kt │ │ │ ├── Dimensions.kt │ │ │ └── Theme.kt │ │ ├── databases │ │ └── ContactsDatabase.kt │ │ ├── dialogs │ │ ├── AddBlockedNumberDialog.kt │ │ ├── AppSideloadedDialog.kt │ │ ├── BasePropertiesDialog.kt │ │ ├── BottomSheetChooserDialog.kt │ │ ├── CallConfirmationDialog.kt │ │ ├── ChangeDateTimeFormatDialog.kt │ │ ├── ChangeViewTypeDialog.kt │ │ ├── ColorPickerDialog.kt │ │ ├── ConfirmationAdvancedDialog.kt │ │ ├── ConfirmationDialog.kt │ │ ├── CreateNewFolderDialog.kt │ │ ├── CustomIntervalPickerDialog.kt │ │ ├── DonateDialog.kt │ │ ├── EnterPasswordDialog.kt │ │ ├── ExportBlockedNumbersDialog.kt │ │ ├── ExportSettingsDialog.kt │ │ ├── FeatureLockedDialog.kt │ │ ├── FileConflictDialog.kt │ │ ├── FilePickerDialog.kt │ │ ├── FolderLockingNoticeDialog.kt │ │ ├── LineColorPickerDialog.kt │ │ ├── OpenDeviceSettingsDialog.kt │ │ ├── PermissionRequiredDialog.kt │ │ ├── PropertiesDialog.kt │ │ ├── PurchaseThankYouDialog.kt │ │ ├── RadioGroupDialog.kt │ │ ├── RateStarsDialog.kt │ │ ├── RenameDialog.kt │ │ ├── RenameItemDialog.kt │ │ ├── RenameItemsDialog.kt │ │ ├── SecurityDialog.kt │ │ ├── SelectAlarmSoundDialog.kt │ │ ├── StoragePickerDialog.kt │ │ ├── UpgradeToProDialog.kt │ │ ├── WhatsNewDialog.kt │ │ └── WritePermissionDialog.kt │ │ ├── extensions │ │ ├── Activity-sdk30.kt │ │ ├── Activity-themes.kt │ │ ├── Activity.kt │ │ ├── AlertDialog.kt │ │ ├── Any.kt │ │ ├── App.kt │ │ ├── ArrayList.kt │ │ ├── Binding.kt │ │ ├── Bitmap.kt │ │ ├── BufferedWriter.kt │ │ ├── Context-contacts.kt │ │ ├── Context-storage-sdk30.kt │ │ ├── Context-storage.kt │ │ ├── Context-styling.kt │ │ ├── Context.kt │ │ ├── Cursor.kt │ │ ├── DocumentFile.kt │ │ ├── Drawable.kt │ │ ├── EditText.kt │ │ ├── Editable.kt │ │ ├── ExifInterface.kt │ │ ├── File.kt │ │ ├── FileDirItem.kt │ │ ├── ImageView.kt │ │ ├── InputStream.kt │ │ ├── Int.kt │ │ ├── List.kt │ │ ├── Long.kt │ │ ├── Point.kt │ │ ├── RemoteViews.kt │ │ ├── Resources.kt │ │ ├── SeekBar.kt │ │ ├── SharedPreferencesProducerExtensions.kt │ │ ├── String.kt │ │ ├── TabLayout.kt │ │ ├── TextView.kt │ │ ├── View.kt │ │ └── ViewPager.kt │ │ ├── fragments │ │ └── BaseBottomSheetDialogFragment.kt │ │ ├── helpers │ │ ├── AlphanumericComparator.kt │ │ ├── BaseConfig.kt │ │ ├── BlockedNumbersExporter.kt │ │ ├── BlockedNumbersImporter.kt │ │ ├── Constants.kt │ │ ├── ContactsHelper.kt │ │ ├── Converters.kt │ │ ├── ExportResult.kt │ │ ├── ExternalStorageProviderHack.kt │ │ ├── Inlines.kt │ │ ├── LocalContactsHelper.kt │ │ ├── MyContactsContentProvider.kt │ │ ├── MyContentProvider.kt │ │ ├── MyContextWrapper.kt │ │ ├── SimpleContactsHelper.kt │ │ └── VcfExporter.kt │ │ ├── interfaces │ │ ├── BaseSecurityTab.kt │ │ ├── ContactsDao.kt │ │ ├── CopyMoveListener.kt │ │ ├── GroupsDao.kt │ │ ├── HashListener.kt │ │ ├── ItemMoveCallback.kt │ │ ├── ItemTouchHelperContract.kt │ │ ├── LineColorPickerListener.kt │ │ ├── MyActionModeCallback.kt │ │ ├── RecyclerScrollCallback.kt │ │ ├── RefreshRecyclerViewListener.kt │ │ ├── RenameTab.kt │ │ ├── SecurityTab.kt │ │ └── StartReorderDragListener.kt │ │ ├── models │ │ ├── AlarmSound.kt │ │ ├── Android30RenameFormat.kt │ │ ├── BlockedNumber.kt │ │ ├── FAQItem.kt │ │ ├── FileDirItem.kt │ │ ├── LanguageContributor.kt │ │ ├── License.kt │ │ ├── MyTheme.kt │ │ ├── PhoneNumber.kt │ │ ├── RadioItem.kt │ │ ├── RecyclerViewPayloads.kt │ │ ├── Release.kt │ │ ├── SharedTheme.kt │ │ ├── SimpleContact.kt │ │ ├── SimpleListItem.kt │ │ └── contacts │ │ │ ├── Address.kt │ │ │ ├── Contact.kt │ │ │ ├── ContactSource.kt │ │ │ ├── Email.kt │ │ │ ├── Event.kt │ │ │ ├── Group.kt │ │ │ ├── IM.kt │ │ │ ├── LocalContact.kt │ │ │ ├── Organization.kt │ │ │ ├── PhoneNumberConverter.kt │ │ │ └── SocialAction.kt │ │ ├── overloads │ │ └── String.kt │ │ ├── receivers │ │ └── SharedThemeReceiver.kt │ │ └── views │ │ ├── AutoGridLayoutManager.kt │ │ ├── AutoStaggeredGridLayoutManager.kt │ │ ├── BiometricIdTab.kt │ │ ├── Breadcrumbs.kt │ │ ├── ColorPickerSquare.kt │ │ ├── FingerprintTab.kt │ │ ├── LineColorPicker.kt │ │ ├── MyAppCompatCheckbox.kt │ │ ├── MyAppCompatSpinner.kt │ │ ├── MyAutoCompleteTextView.kt │ │ ├── MyButton.kt │ │ ├── MyCompatRadioButton.kt │ │ ├── MyDialogViewPager.kt │ │ ├── MyEditText.kt │ │ ├── MyFloatingActionButton.kt │ │ ├── MyGridLayoutManager.kt │ │ ├── MyLinearLayoutManager.kt │ │ ├── MyRecyclerView.kt │ │ ├── MyScrollView.kt │ │ ├── MySearchMenu.kt │ │ ├── MySeekBar.kt │ │ ├── MySquareImageView.kt │ │ ├── MyTextInputLayout.kt │ │ ├── MyTextView.kt │ │ ├── MyViewPager.kt │ │ ├── PatternTab.kt │ │ ├── PinTab.kt │ │ ├── RenamePatternTab.kt │ │ ├── RenameSimpleTab.kt │ │ └── bottomactionmenu │ │ ├── BottomActionMenuCallback.kt │ │ ├── BottomActionMenuItem.kt │ │ ├── BottomActionMenuItemPopup.kt │ │ ├── BottomActionMenuParser.kt │ │ ├── BottomActionMenuPopup.kt │ │ └── BottomActionMenuView.kt │ └── res │ ├── anim │ ├── item_animation_fall_down.xml │ ├── layout_animation.xml │ ├── pulsing_animation.xml │ ├── shake_pulse_animation.xml │ └── slide_down.xml │ ├── drawable-hdpi │ ├── img_write_storage.webp │ ├── img_write_storage_create_doc_sdk_30.webp │ ├── img_write_storage_otg.webp │ ├── img_write_storage_sd.webp │ └── img_write_storage_sdk_30.webp │ ├── drawable-nodpi │ └── img_color_picker_hue.png │ ├── drawable-xhdpi │ ├── img_write_storage.webp │ ├── img_write_storage_create_doc_sdk_30.webp │ ├── img_write_storage_otg.webp │ ├── img_write_storage_sd.webp │ └── img_write_storage_sdk_30.webp │ ├── drawable-xxhdpi │ ├── img_write_storage.webp │ ├── img_write_storage_create_doc_sdk_30.webp │ ├── img_write_storage_otg.webp │ ├── img_write_storage_sd.webp │ └── img_write_storage_sdk_30.webp │ ├── drawable-xxxhdpi │ ├── img_write_storage.webp │ ├── img_write_storage_create_doc_sdk_30.webp │ ├── img_write_storage_otg.webp │ ├── img_write_storage_sd.webp │ └── img_write_storage_sdk_30.webp │ ├── drawable │ ├── actionmenu_background.xml │ ├── black_dialog_background.xml │ ├── bottom_sheet_bg.xml │ ├── bottom_sheet_bg_black.xml │ ├── button_background.9.png │ ├── button_background_rounded.xml │ ├── button_background_stroke.xml │ ├── circle_background.xml │ ├── color_picker_circle.xml │ ├── dialog_bg.xml │ ├── dialog_you_background.xml │ ├── divider.xml │ ├── gradient_background.xml │ ├── gradient_background_flipped.xml │ ├── ic_add_person_vector.xml │ ├── ic_arrow_left_vector.xml │ ├── ic_arrow_right_vector.xml │ ├── ic_article_vector.xml │ ├── ic_attach_file_vector.xml │ ├── ic_bell_vector.xml │ ├── ic_block_vector.xml │ ├── ic_business_vector.xml │ ├── ic_camera_vector.xml │ ├── ic_change_view_vector.xml │ ├── ic_check_circle_vector.xml │ ├── ic_check_vector.xml │ ├── ic_chevron_left_vector.xml │ ├── ic_chevron_right_unpadded_vector.xml │ ├── ic_chevron_right_vector.xml │ ├── ic_clear_vector.xml │ ├── ic_clock_filled_vector.xml │ ├── ic_clock_vector.xml │ ├── ic_code_vector.xml │ ├── ic_column_count_vector.xml │ ├── ic_copy_vector.xml │ ├── ic_cross_vector.xml │ ├── ic_delete_vector.xml │ ├── ic_dialpad_vector.xml │ ├── ic_dollar_vector.xml │ ├── ic_drag_handle_vector.xml │ ├── ic_edit_vector.xml │ ├── ic_face_vector.xml │ ├── ic_facebook_vector.xml │ ├── ic_file_aep.xml │ ├── ic_file_ai.xml │ ├── ic_file_avi.xml │ ├── ic_file_css.xml │ ├── ic_file_csv.xml │ ├── ic_file_dbf.xml │ ├── ic_file_doc.xml │ ├── ic_file_dwg.xml │ ├── ic_file_exe.xml │ ├── ic_file_fla.xml │ ├── ic_file_flv.xml │ ├── ic_file_generic.xml │ ├── ic_file_html.xml │ ├── ic_file_ics.xml │ ├── ic_file_indd.xml │ ├── ic_file_iso.xml │ ├── ic_file_jpg.xml │ ├── ic_file_js.xml │ ├── ic_file_json.xml │ ├── ic_file_m4a.xml │ ├── ic_file_mp3.xml │ ├── ic_file_mp4.xml │ ├── ic_file_ogg.xml │ ├── ic_file_pdf.xml │ ├── ic_file_plproj.xml │ ├── ic_file_png.xml │ ├── ic_file_ppt.xml │ ├── ic_file_prproj.xml │ ├── ic_file_psd.xml │ ├── ic_file_rtf.xml │ ├── ic_file_sesx.xml │ ├── ic_file_sql.xml │ ├── ic_file_svg.xml │ ├── ic_file_txt.xml │ ├── ic_file_vcf.xml │ ├── ic_file_wav.xml │ ├── ic_file_wmv.xml │ ├── ic_file_xls.xml │ ├── ic_file_xml.xml │ ├── ic_file_zip.xml │ ├── ic_filter_vector.xml │ ├── ic_fingerprint_vector.xml │ ├── ic_flag_arabic_vector.xml │ ├── ic_flag_azerbaijani_vector.xml │ ├── ic_flag_basque_vector.xml │ ├── ic_flag_bengali_vector.xml │ ├── ic_flag_catalan_vector.xml │ ├── ic_flag_chinese_cn_vector.xml │ ├── ic_flag_chinese_hk_vector.xml │ ├── ic_flag_chinese_tw_vector.xml │ ├── ic_flag_croatian_vector.xml │ ├── ic_flag_czech_vector.xml │ ├── ic_flag_danish_vector.xml │ ├── ic_flag_dutch_vector.xml │ ├── ic_flag_finnish_vector.xml │ ├── ic_flag_french_vector.xml │ ├── ic_flag_galician_vector.xml │ ├── ic_flag_german_vector.xml │ ├── ic_flag_greek_vector.xml │ ├── ic_flag_hebrew_vector.xml │ ├── ic_flag_hindi_vector.xml │ ├── ic_flag_hungarian_vector.xml │ ├── ic_flag_indonesian_vector.xml │ ├── ic_flag_italian_vector.xml │ ├── ic_flag_japanese_vector.xml │ ├── ic_flag_korean_vector.xml │ ├── ic_flag_lithuanian_vector.xml │ ├── ic_flag_nepali_vector.xml │ ├── ic_flag_norwegian_vector.xml │ ├── ic_flag_persian_vector.xml │ ├── ic_flag_polish_vector.xml │ ├── ic_flag_portuguese_vector.xml │ ├── ic_flag_romanian_vector.xml │ ├── ic_flag_russian_vector.xml │ ├── ic_flag_slovak_vector.xml │ ├── ic_flag_slovenian_vector.xml │ ├── ic_flag_spanish_vector.xml │ ├── ic_flag_swedish_vector.xml │ ├── ic_flag_tamil_vector.xml │ ├── ic_flag_turkish_vector.xml │ ├── ic_flag_ukrainian_vector.xml │ ├── ic_flag_welsh_vector.xml │ ├── ic_folder_open_vector.xml │ ├── ic_folder_outline_vector.xml │ ├── ic_folder_vector.xml │ ├── ic_github_vector.xml │ ├── ic_google_play_vector.xml │ ├── ic_group_circle_bg.xml │ ├── ic_heart_vector.xml │ ├── ic_hide_vector.xml │ ├── ic_info_vector.xml │ ├── ic_label_vector.xml │ ├── ic_link_vector.xml │ ├── ic_lock_outlined_vector.xml │ ├── ic_lock_vector.xml │ ├── ic_mail_vector.xml │ ├── ic_microphone_vector.xml │ ├── ic_minus_circle_vector.xml │ ├── ic_minus_vector.xml │ ├── ic_move_to_bottom_vector.xml │ ├── ic_move_to_top_vector.xml │ ├── ic_move_vector.xml │ ├── ic_next_outline_vector.xml │ ├── ic_next_vector.xml │ ├── ic_orientation_auto_vector.xml │ ├── ic_orientation_landscape_vector.xml │ ├── ic_orientation_portrait_vector.xml │ ├── ic_pause_crossed_vector.xml │ ├── ic_pause_outline_vector.xml │ ├── ic_pause_vector.xml │ ├── ic_people_outline_vector.xml │ ├── ic_people_vector.xml │ ├── ic_person_outline_vector.xml │ ├── ic_person_vector.xml │ ├── ic_phone_one_vector.xml │ ├── ic_phone_two_vector.xml │ ├── ic_phone_vector.xml │ ├── ic_pin_filled_vector.xml │ ├── ic_pin_vector.xml │ ├── ic_place_vector.xml │ ├── ic_play_outline_vector.xml │ ├── ic_play_vector.xml │ ├── ic_plus_vector.xml │ ├── ic_prev_outline_vector.xml │ ├── ic_previous_vector.xml │ ├── ic_print_vector.xml │ ├── ic_question_mark_vector.xml │ ├── ic_reddit_vector.xml │ ├── ic_redo_vector.xml │ ├── ic_rename_vector.xml │ ├── ic_reset_vector.xml │ ├── ic_save_vector.xml │ ├── ic_sd_card_vector.xml │ ├── ic_search_vector.xml │ ├── ic_select_all_vector.xml │ ├── ic_send_vector.xml │ ├── ic_set_as_vector.xml │ ├── ic_settings_cog_vector.xml │ ├── ic_share_vector.xml │ ├── ic_sim_vector.xml │ ├── ic_simple_phone_vector.xml │ ├── ic_sms_vector.xml │ ├── ic_snooze_vector.xml │ ├── ic_sort_vector.xml │ ├── ic_star_outline_vector.xml │ ├── ic_star_vector.xml │ ├── ic_stop_vector.xml │ ├── ic_telegram_vector.xml │ ├── ic_three_dots_vector.xml │ ├── ic_undo_vector.xml │ ├── ic_unhide_vector.xml │ ├── ic_usb_vector.xml │ ├── ic_vibrate_vector.xml │ ├── ic_view_contact_details_vector.xml │ ├── pill_background.xml │ ├── popup_menu_bg_you.xml │ ├── ripple_all_corners.xml │ ├── ripple_background.xml │ ├── ripple_bottom_corners.xml │ ├── ripple_selector_background.xml │ ├── ripple_selector_you_background.xml │ ├── ripple_top_corners.xml │ ├── search_menu_background.xml │ ├── section_holder_stroke.xml │ ├── selector.xml │ ├── selector_clickable.xml │ ├── selector_clickable_you.xml │ ├── shortcut_plus.xml │ ├── top_popup_menu_bg_dark.xml │ ├── top_popup_menu_bg_light.xml │ ├── transparent_button.xml │ ├── transparent_button_pressed.xml │ ├── widget_config_seekbar_background.xml │ └── widget_round_background.xml │ ├── layout │ ├── actionbar_title.xml │ ├── activity_customization.xml │ ├── activity_manage_blocked_numbers.xml │ ├── bottom_tablayout_item.xml │ ├── dialog_add_blocked_number.xml │ ├── dialog_bottom_sheet.xml │ ├── dialog_call_confirmation.xml │ ├── dialog_change_date_time_format.xml │ ├── dialog_change_view_type.xml │ ├── dialog_color_picker.xml │ ├── dialog_create_new_folder.xml │ ├── dialog_custom_interval_picker.xml │ ├── dialog_donate.xml │ ├── dialog_enter_password.xml │ ├── dialog_export_blocked_numbers.xml │ ├── dialog_export_settings.xml │ ├── dialog_feature_locked.xml │ ├── dialog_file_conflict.xml │ ├── dialog_filepicker.xml │ ├── dialog_line_color_picker.xml │ ├── dialog_message.xml │ ├── dialog_new_apps_icons.xml │ ├── dialog_open_device_settings.xml │ ├── dialog_properties.xml │ ├── dialog_purchase_thank_you.xml │ ├── dialog_radio_group.xml │ ├── dialog_rate_stars.xml │ ├── dialog_rename.xml │ ├── dialog_rename_item.xml │ ├── dialog_rename_items.xml │ ├── dialog_rename_items_pattern.xml │ ├── dialog_security.xml │ ├── dialog_select_alarm_sound.xml │ ├── dialog_textview.xml │ ├── dialog_title.xml │ ├── dialog_upgrade_to_pro.xml │ ├── dialog_whats_new.xml │ ├── dialog_write_permission.xml │ ├── dialog_write_permission_otg.xml │ ├── divider.xml │ ├── empty_image_view.xml │ ├── filepicker_favorite.xml │ ├── item_action_mode.xml │ ├── item_action_mode_popup.xml │ ├── item_breadcrumb.xml │ ├── item_breadcrumb_first.xml │ ├── item_contact_with_number.xml │ ├── item_contact_with_number_grid.xml │ ├── item_contact_without_number.xml │ ├── item_contact_without_number_grid.xml │ ├── item_filepicker_list.xml │ ├── item_manage_blocked_number.xml │ ├── item_property.xml │ ├── item_select_alarm_sound.xml │ ├── item_simple_list.xml │ ├── menu_search.xml │ ├── radio_button.xml │ ├── search_bar.xml │ ├── tab_biometric_id.xml │ ├── tab_fingerprint.xml │ ├── tab_pattern.xml │ ├── tab_pin.xml │ ├── tab_rename_pattern.xml │ └── tab_rename_simple.xml │ ├── menu │ ├── cab_blocked_numbers.xml │ ├── cab_delete_only.xml │ ├── cab_remove_only.xml │ ├── menu_add_blocked_number.xml │ └── menu_customization.xml │ ├── mipmap-hdpi │ ├── ic_app_launcher.png │ ├── ic_calculator.png │ ├── ic_calendar.png │ ├── ic_camera.png │ ├── ic_clock.png │ ├── ic_contacts.png │ ├── ic_dialer.png │ ├── ic_draw.png │ ├── ic_file_manager.png │ ├── ic_flashlight.png │ ├── ic_gallery.png │ ├── ic_keyboard.png │ ├── ic_music_player.png │ ├── ic_notes.png │ ├── ic_simple_launcher.png │ ├── ic_sms_messenger.png │ ├── ic_thank_you.png │ └── ic_voice_recorder.png │ ├── mipmap-xhdpi │ ├── ic_app_launcher.png │ ├── ic_calculator.png │ ├── ic_calendar.png │ ├── ic_camera.png │ ├── ic_clock.png │ ├── ic_contacts.png │ ├── ic_dialer.png │ ├── ic_draw.png │ ├── ic_file_manager.png │ ├── ic_flashlight.png │ ├── ic_gallery.png │ ├── ic_keyboard.png │ ├── ic_music_player.png │ ├── ic_notes.png │ ├── ic_simple_launcher.png │ ├── ic_sms_messenger.png │ ├── ic_thank_you.png │ └── ic_voice_recorder.png │ ├── mipmap-xxhdpi │ ├── ic_app_launcher.png │ ├── ic_calculator.png │ ├── ic_calendar.png │ ├── ic_camera.png │ ├── ic_clock.png │ ├── ic_contacts.png │ ├── ic_dialer.png │ ├── ic_draw.png │ ├── ic_file_manager.png │ ├── ic_flashlight.png │ ├── ic_gallery.png │ ├── ic_keyboard.png │ ├── ic_music_player.png │ ├── ic_notes.png │ ├── ic_simple_launcher.png │ ├── ic_sms_messenger.png │ ├── ic_thank_you.png │ └── ic_voice_recorder.png │ ├── mipmap-xxxhdpi │ ├── ic_app_launcher.png │ ├── ic_calculator.png │ ├── ic_calendar.png │ ├── ic_camera.png │ ├── ic_clock.png │ ├── ic_contacts.png │ ├── ic_dialer.png │ ├── ic_draw.png │ ├── ic_file_manager.png │ ├── ic_flashlight.png │ ├── ic_gallery.png │ ├── ic_keyboard.png │ ├── ic_music_player.png │ ├── ic_notes.png │ ├── ic_simple_launcher.png │ ├── ic_sms_messenger.png │ ├── ic_thank_you.png │ └── ic_voice_recorder.png │ ├── values-ar │ └── strings.xml │ ├── values-az │ └── strings.xml │ ├── values-be │ └── strings.xml │ ├── values-bg │ └── strings.xml │ ├── values-bn │ └── strings.xml │ ├── values-br │ └── strings.xml │ ├── values-bs │ └── strings.xml │ ├── values-ca │ └── strings.xml │ ├── values-cs │ └── strings.xml │ ├── values-cy │ └── strings.xml │ ├── values-da │ └── strings.xml │ ├── values-de │ └── strings.xml │ ├── values-el │ └── strings.xml │ ├── values-eo │ └── strings.xml │ ├── values-es │ └── strings.xml │ ├── values-et │ └── strings.xml │ ├── values-eu │ └── strings.xml │ ├── values-fa │ └── strings.xml │ ├── values-fi │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-gl │ └── strings.xml │ ├── values-hi-rIN │ └── strings.xml │ ├── values-hr │ └── strings.xml │ ├── values-hu │ └── strings.xml │ ├── values-in │ └── strings.xml │ ├── values-it │ └── strings.xml │ ├── values-iw │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-ko-rKR │ └── strings.xml │ ├── values-lt │ └── strings.xml │ ├── values-ml │ └── strings.xml │ ├── values-nb-rNO │ └── strings.xml │ ├── values-night-v31 │ └── colors.xml │ ├── values-nl │ └── strings.xml │ ├── values-pa-rPK │ └── strings.xml │ ├── values-pa │ └── strings.xml │ ├── values-pl │ └── strings.xml │ ├── values-pt-rBR │ └── strings.xml │ ├── values-pt │ └── strings.xml │ ├── values-ro │ └── strings.xml │ ├── values-ru │ └── strings.xml │ ├── values-sk │ └── strings.xml │ ├── values-sl │ └── strings.xml │ ├── values-sr │ └── strings.xml │ ├── values-sv │ └── strings.xml │ ├── values-sw600dp │ └── dimens.xml │ ├── values-ta │ └── strings.xml │ ├── values-th │ └── strings.xml │ ├── values-tr │ └── strings.xml │ ├── values-uk │ └── strings.xml │ ├── values-v31 │ └── colors.xml │ ├── values-vi │ └── strings.xml │ ├── values-w600dp │ └── integers.xml │ ├── values-zh-rCN │ └── strings.xml │ ├── values-zh-rHK │ └── strings.xml │ ├── values-zh-rTW │ └── strings.xml │ ├── values │ ├── arrays.xml │ ├── attrs.xml │ ├── bools.xml │ ├── colors.xml │ ├── dimens.xml │ ├── donottranslate.xml │ ├── ids.xml │ ├── integers.xml │ ├── strings.xml │ └── styles.xml │ └── xml │ └── locale_config.xml ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jitpack.yml ├── samples ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── kotlin │ └── com │ │ └── simplemobiletools │ │ └── commons │ │ └── samples │ │ ├── App.kt │ │ ├── activities │ │ ├── MainActivity.kt │ │ └── TestDialogActivity.kt │ │ └── screens │ │ └── MainScreen.kt │ └── res │ ├── layout │ ├── activity_main.xml │ ├── activity_swipe_refresh.xml │ └── list_item.xml │ ├── menu │ └── menu.xml │ ├── mipmap-hdpi │ └── commons_launcher.png │ ├── mipmap-xhdpi │ └── commons_launcher.png │ ├── mipmap-xxhdpi │ └── commons_launcher.png │ ├── mipmap-xxxhdpi │ └── commons_launcher.png │ └── values │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml └── settings.gradle.kts /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig 2 | # http://EditorConfig.org 3 | 4 | # top-most EditorConfig file 5 | root = true 6 | 7 | # LF end-of-line, insert an empty new line and UTF-8 8 | [*] 9 | end_of_line = lf 10 | insert_final_newline = true 11 | charset = utf-8 12 | indent_style = space 13 | indent_size = 4 14 | continuation_indent_size = 4 15 | max_line_length = 160 16 | 17 | [*.xml] 18 | continuation_indent_size = 4 19 | 20 | [*.kt] 21 | ij_kotlin_name_count_to_use_star_import = 5 22 | ij_kotlin_name_count_to_use_star_import_for_members = 5 23 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [tibbi] 2 | patreon: tiborkaputa 3 | custom: ["https://www.paypal.com/paypalme/simplemobiletools", "https://www.simplemobiletools.com/donate"] 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | *.aab 3 | .gradle 4 | /local.properties 5 | /.idea/ 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Simple Commons 2 | Some helper functions, dialogs etc used by multiple simple apps.
3 | For reporting bugs/features that affect multiple apps please use the General Discussion repository. 4 | -------------------------------------------------------------------------------- /build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | alias(libs.plugins.android).apply(false) 3 | alias(libs.plugins.kotlinAndroid).apply(false) 4 | alias(libs.plugins.ksp).apply(false) 5 | alias(libs.plugins.parcelize).apply(false) 6 | alias(libs.plugins.library).apply(false) 7 | alias(libs.plugins.kotlinSerialization).apply(false) 8 | } 9 | 10 | tasks.register("clean") { 11 | delete { 12 | layout.buildDirectory.asFile 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /commons/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/adapters/MyArrayAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.adapters 2 | 3 | import android.content.Context 4 | import android.graphics.drawable.ColorDrawable 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import android.widget.ArrayAdapter 8 | import android.widget.TextView 9 | 10 | class MyArrayAdapter(context: Context, res: Int, items: Array, val textColor: Int, val backgroundColor: Int, val padding: Int) : 11 | ArrayAdapter(context, res, items) { 12 | override fun getDropDownView(position: Int, convertView: View?, parent: ViewGroup): View { 13 | val view = super.getView(position, convertView, parent) 14 | 15 | view.findViewById(android.R.id.text1).apply { 16 | setTextColor(textColor) 17 | setPadding(padding, padding, padding, padding) 18 | background = ColorDrawable(backgroundColor) 19 | } 20 | 21 | return view 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/compose/extensions/BooleanPreviewParameterProvider.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.compose.extensions 2 | 3 | import androidx.compose.ui.tooling.preview.PreviewParameterProvider 4 | 5 | class BooleanPreviewParameterProvider : PreviewParameterProvider { 6 | override val values: Sequence 7 | get() = sequenceOf(false, true) 8 | } 9 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/compose/extensions/ContextComposeExtensions.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.compose.extensions 2 | 3 | import android.app.Activity 4 | import android.content.Context 5 | import com.simplemobiletools.commons.R 6 | import com.simplemobiletools.commons.extensions.baseConfig 7 | import com.simplemobiletools.commons.extensions.redirectToRateUs 8 | import com.simplemobiletools.commons.extensions.toast 9 | import com.simplemobiletools.commons.helpers.BaseConfig 10 | 11 | val Context.config: BaseConfig get() = BaseConfig.newInstance(applicationContext) 12 | 13 | fun Activity.rateStarsRedirectAndThankYou(stars: Int) { 14 | if (stars == 5) { 15 | redirectToRateUs() 16 | } 17 | toast(R.string.thank_you) 18 | baseConfig.wasAppRated = true 19 | } 20 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/compose/extensions/NoRippleTheme.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.compose.extensions 2 | 3 | import androidx.compose.material.ripple.RippleAlpha 4 | import androidx.compose.material.ripple.RippleTheme 5 | import androidx.compose.runtime.Composable 6 | import androidx.compose.runtime.Immutable 7 | import androidx.compose.ui.graphics.Color 8 | 9 | @Immutable 10 | object NoRippleTheme : RippleTheme { 11 | @Composable 12 | override fun defaultColor(): Color = Color.Unspecified 13 | 14 | @Composable 15 | override fun rippleAlpha(): RippleAlpha = RippleAlpha( 16 | draggedAlpha = 0f, 17 | focusedAlpha = 0f, 18 | hoveredAlpha = 0f, 19 | pressedAlpha = 0f, 20 | ) 21 | } 22 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/compose/theme/ColorSchemes.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.compose.theme 2 | 3 | import androidx.compose.material3.darkColorScheme 4 | import androidx.compose.material3.lightColorScheme 5 | 6 | internal val darkColorScheme = darkColorScheme( 7 | primary = color_primary, 8 | secondary = color_primary_dark, 9 | tertiary = color_accent, 10 | ) 11 | internal val lightColorScheme = lightColorScheme( 12 | primary = color_primary, 13 | secondary = color_primary_dark, 14 | tertiary = color_accent, 15 | ) 16 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/compose/theme/Dimensions.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.compose.theme 2 | 3 | import androidx.compose.runtime.ProvidableCompositionLocal 4 | import androidx.compose.runtime.staticCompositionLocalOf 5 | import androidx.compose.ui.unit.dp 6 | import com.simplemobiletools.commons.compose.theme.model.Dimensions 7 | 8 | internal val CommonDimensions = Dimensions( 9 | padding = Dimensions.Paddings( 10 | extraSmall = 2.dp, 11 | small = 4.dp, 12 | medium = 8.dp, 13 | large = 12.dp, 14 | extraLarge = 16.dp, 15 | ), 16 | icon = Dimensions.IconSizes( 17 | small = 32.dp, 18 | medium = 48.dp, 19 | large = 56.dp, 20 | extraLarge = 64.dp, 21 | ) 22 | ) 23 | 24 | val LocalDimensions: ProvidableCompositionLocal = 25 | staticCompositionLocalOf { CommonDimensions } 26 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/compose/theme/Shapes.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.compose.theme 2 | 3 | import androidx.compose.foundation.shape.RoundedCornerShape 4 | import androidx.compose.material3.Shapes 5 | import androidx.compose.ui.unit.dp 6 | 7 | val Shapes = Shapes( 8 | extraSmall = RoundedCornerShape(16.dp), //used by dropdown menu in M3 9 | small = RoundedCornerShape(8.dp), 10 | medium = RoundedCornerShape(12.dp), 11 | large = RoundedCornerShape(16.dp), 12 | extraLarge = RoundedCornerShape(24.dp), 13 | ) 14 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/compose/theme/model/CommonTheme.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.compose.theme.model 2 | 3 | import androidx.compose.runtime.Immutable 4 | import androidx.compose.ui.graphics.Color 5 | 6 | @Immutable 7 | interface CommonTheme { 8 | val primaryColorInt: Int 9 | val backgroundColorInt: Int 10 | val appIconColorInt: Int 11 | val textColorInt: Int 12 | 13 | val primaryColor get() = Color(primaryColorInt) 14 | val backgroundColor get() = Color(backgroundColorInt) 15 | val appIconColor get() = Color(appIconColorInt) 16 | val textColor get() = Color(textColorInt) 17 | 18 | } 19 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/compose/theme/model/Dimensions.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.compose.theme.model 2 | 3 | import androidx.compose.runtime.Immutable 4 | import androidx.compose.ui.unit.Dp 5 | 6 | @Immutable 7 | data class Dimensions( 8 | val padding: Paddings, 9 | val icon: IconSizes 10 | ) { 11 | @Immutable 12 | data class Paddings( 13 | val extraSmall: Dp, 14 | val small: Dp, 15 | val medium: Dp, 16 | val large: Dp, 17 | val extraLarge: Dp, 18 | ) 19 | 20 | @Immutable 21 | data class IconSizes( 22 | val small: Dp, 23 | val medium: Dp, 24 | val large: Dp, 25 | val extraLarge: Dp, 26 | ) 27 | } 28 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/AlertDialog.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.view.WindowManager 4 | import androidx.appcompat.app.AlertDialog 5 | import androidx.appcompat.widget.AppCompatEditText 6 | 7 | // in dialogs, lets use findViewById, because while some dialogs use MyEditText, material theme dialogs use TextInputEditText so the system takes care of it 8 | fun AlertDialog.showKeyboard(editText: AppCompatEditText) { 9 | window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE) 10 | editText.apply { 11 | requestFocus() 12 | onGlobalLayout { 13 | setSelection(text.toString().length) 14 | } 15 | } 16 | } 17 | 18 | fun AlertDialog.hideKeyboard() { 19 | window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN) 20 | } 21 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Any.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | // extensions used mostly at importing app settings for now 4 | fun Any.toBoolean() = toString() == "true" 5 | 6 | fun Any.toInt() = Integer.parseInt(toString()) 7 | 8 | fun Any.toStringSet() = toString().split(",".toRegex()).toSet() 9 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/App.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.app.Application 4 | import com.simplemobiletools.commons.helpers.isNougatPlus 5 | import java.util.* 6 | 7 | fun Application.checkUseEnglish() { 8 | if (baseConfig.useEnglish && !isNougatPlus()) { 9 | val conf = resources.configuration 10 | conf.locale = Locale.ENGLISH 11 | resources.updateConfiguration(conf, resources.displayMetrics) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/ArrayList.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import java.util.* 4 | 5 | fun ArrayList.moveLastItemToFront() { 6 | val last = removeAt(size - 1) 7 | add(0, last) 8 | } 9 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Binding.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.app.Activity 4 | import android.view.LayoutInflater 5 | import androidx.viewbinding.ViewBinding 6 | 7 | inline fun Activity.viewBinding(crossinline bindingInflater: (LayoutInflater) -> T) = 8 | lazy(LazyThreadSafetyMode.NONE) { 9 | bindingInflater.invoke(layoutInflater) 10 | } 11 | 12 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Bitmap.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.graphics.Bitmap 4 | import java.io.ByteArrayOutputStream 5 | 6 | fun Bitmap.getByteArray(): ByteArray { 7 | var baos: ByteArrayOutputStream? = null 8 | try { 9 | baos = ByteArrayOutputStream() 10 | compress(Bitmap.CompressFormat.JPEG, 80, baos) 11 | return baos.toByteArray() 12 | } finally { 13 | baos?.close() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/BufferedWriter.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import java.io.BufferedWriter 4 | 5 | fun BufferedWriter.writeLn(line: String) { 6 | write(line) 7 | newLine() 8 | } 9 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Cursor.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.database.Cursor 4 | 5 | fun Cursor.getStringValue(key: String) = getString(getColumnIndex(key)) 6 | 7 | fun Cursor.getStringValueOrNull(key: String) = if (isNull(getColumnIndex(key))) null else getString(getColumnIndex(key)) 8 | 9 | fun Cursor.getIntValue(key: String) = getInt(getColumnIndex(key)) 10 | 11 | fun Cursor.getIntValueOrNull(key: String) = if (isNull(getColumnIndex(key))) null else getInt(getColumnIndex(key)) 12 | 13 | fun Cursor.getLongValue(key: String) = getLong(getColumnIndex(key)) 14 | 15 | fun Cursor.getLongValueOrNull(key: String) = if (isNull(getColumnIndex(key))) null else getLong(getColumnIndex(key)) 16 | 17 | fun Cursor.getBlobValue(key: String) = getBlob(getColumnIndex(key)) 18 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Editable.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.text.Editable 4 | import android.text.style.BackgroundColorSpan 5 | 6 | fun Editable.clearBackgroundSpans() { 7 | val spans = getSpans(0, length, Any::class.java) 8 | for (span in spans) { 9 | if (span is BackgroundColorSpan) { 10 | removeSpan(span) 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/FileDirItem.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.content.Context 4 | import com.simplemobiletools.commons.models.FileDirItem 5 | 6 | fun FileDirItem.isRecycleBinPath(context: Context): Boolean { 7 | return path.startsWith(context.recycleBinPath) 8 | } 9 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/InputStream.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import com.simplemobiletools.commons.helpers.MD5 4 | import java.io.InputStream 5 | import java.security.MessageDigest 6 | 7 | fun InputStream.getDigest(algorithm: String): String { 8 | return use { fis -> 9 | val md = MessageDigest.getInstance(algorithm) 10 | val buffer = ByteArray(8192) 11 | generateSequence { 12 | when (val bytesRead = fis.read(buffer)) { 13 | -1 -> null 14 | else -> bytesRead 15 | } 16 | }.forEach { bytesRead -> md.update(buffer, 0, bytesRead) } 17 | md.digest().joinToString("") { "%02x".format(it) } 18 | } 19 | } 20 | 21 | fun InputStream.md5(): String = this.getDigest(MD5) 22 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/List.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import java.util.* 4 | 5 | fun List.getMimeType(): String { 6 | val mimeGroups = HashSet(size) 7 | val subtypes = HashSet(size) 8 | forEach { 9 | val parts = it.getMimeType().split("/") 10 | if (parts.size == 2) { 11 | mimeGroups.add(parts.getOrElse(0) { "" }) 12 | subtypes.add(parts.getOrElse(1) { "" }) 13 | } else { 14 | return "*/*" 15 | } 16 | } 17 | 18 | return when { 19 | subtypes.size == 1 -> "${mimeGroups.first()}/${subtypes.first()}" 20 | mimeGroups.size == 1 -> "${mimeGroups.first()}/*" 21 | else -> "*/*" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Point.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.graphics.Point 4 | 5 | fun Point.formatAsResolution() = "$x x $y ${getMPx()}" 6 | 7 | fun Point.getMPx(): String { 8 | val px = x * y / 1000000f 9 | val rounded = Math.round(px * 10) / 10f 10 | return "(${rounded}MP)" 11 | } 12 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/RemoteViews.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.graphics.Color 4 | import android.view.View 5 | import android.widget.RemoteViews 6 | 7 | fun RemoteViews.setBackgroundColor(id: Int, color: Int) { 8 | setInt(id, "setBackgroundColor", color) 9 | } 10 | 11 | fun RemoteViews.setTextSize(id: Int, size: Float) { 12 | setFloat(id, "setTextSize", size) 13 | } 14 | 15 | fun RemoteViews.setText(id: Int, text: String) { 16 | setTextViewText(id, text) 17 | } 18 | 19 | fun RemoteViews.setVisibleIf(id: Int, beVisible: Boolean) { 20 | val visibility = if (beVisible) View.VISIBLE else View.GONE 21 | setViewVisibility(id, visibility) 22 | } 23 | 24 | fun RemoteViews.applyColorFilter(id: Int, color: Int) { 25 | setInt(id, "setColorFilter", color) 26 | setInt(id, "setImageAlpha", Color.alpha(color)) 27 | } 28 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/SeekBar.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.widget.SeekBar 4 | 5 | fun SeekBar.onSeekBarChangeListener(seekBarChangeListener: (progress: Int) -> Unit) = setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { 6 | override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { 7 | seekBarChangeListener(progress) 8 | } 9 | 10 | override fun onStartTrackingTouch(seekBar: SeekBar) {} 11 | 12 | override fun onStopTrackingTouch(seekBar: SeekBar) {} 13 | }) 14 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/SharedPreferencesProducerExtensions.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import android.content.SharedPreferences 4 | import kotlinx.coroutines.channels.awaitClose 5 | import kotlinx.coroutines.flow.Flow 6 | import kotlinx.coroutines.flow.callbackFlow 7 | 8 | context (SharedPreferences) 9 | fun sharedPreferencesCallback( 10 | sendOnCollect: Boolean = false, 11 | value: () -> T?, 12 | ): Flow = callbackFlow { 13 | val sharedPreferencesListener = 14 | SharedPreferences.OnSharedPreferenceChangeListener { _, _ -> 15 | trySend(value()) 16 | } 17 | 18 | if (sendOnCollect) { 19 | trySend(value()) 20 | } 21 | registerOnSharedPreferenceChangeListener(sharedPreferencesListener) 22 | awaitClose { unregisterOnSharedPreferenceChangeListener(sharedPreferencesListener) } 23 | } 24 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/TabLayout.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import com.google.android.material.tabs.TabLayout 4 | 5 | fun TabLayout.onTabSelectionChanged( 6 | tabUnselectedAction: ((inactiveTab: TabLayout.Tab) -> Unit)? = null, 7 | tabSelectedAction: ((activeTab: TabLayout.Tab) -> Unit)? = null 8 | ) = setOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { 9 | override fun onTabSelected(tab: TabLayout.Tab) { 10 | tabSelectedAction?.invoke(tab) 11 | } 12 | 13 | override fun onTabUnselected(tab: TabLayout.Tab) { 14 | tabUnselectedAction?.invoke(tab) 15 | } 16 | 17 | override fun onTabReselected(tab: TabLayout.Tab) { 18 | tabSelectedAction?.invoke(tab) 19 | } 20 | }) 21 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/extensions/ViewPager.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.extensions 2 | 3 | import androidx.viewpager.widget.ViewPager 4 | 5 | fun ViewPager.onPageChangeListener(pageChangedAction: (newPosition: Int) -> Unit) = 6 | addOnPageChangeListener(object : ViewPager.OnPageChangeListener { 7 | override fun onPageScrollStateChanged(state: Int) {} 8 | 9 | override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {} 10 | 11 | override fun onPageSelected(position: Int) { 12 | pageChangedAction(position) 13 | } 14 | }) 15 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/helpers/ExportResult.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.helpers 2 | 3 | enum class ExportResult { 4 | EXPORT_FAIL, EXPORT_OK, EXPORT_PARTIAL 5 | } 6 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/helpers/Inlines.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.helpers 2 | 3 | inline fun Iterable.sumByLong(selector: (T) -> Long) = this.map { selector(it) }.sum() 4 | 5 | inline fun Iterable.sumByInt(selector: (T) -> Int) = this.map { selector(it) }.sum() 6 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/CopyMoveListener.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | interface CopyMoveListener { 4 | fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean, destinationPath: String, wasCopyingOneFileOnly: Boolean) 5 | 6 | fun copyFailed() 7 | } 8 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/GroupsDao.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | import androidx.room.Dao 4 | import androidx.room.Insert 5 | import androidx.room.OnConflictStrategy 6 | import androidx.room.Query 7 | import com.simplemobiletools.commons.models.contacts.Group 8 | 9 | @Dao 10 | interface GroupsDao { 11 | @Query("SELECT * FROM groups") 12 | fun getGroups(): List 13 | 14 | @Insert(onConflict = OnConflictStrategy.REPLACE) 15 | fun insertOrUpdate(group: Group): Long 16 | 17 | @Query("DELETE FROM groups WHERE id = :id") 18 | fun deleteGroupId(id: Long) 19 | } 20 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/HashListener.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | interface HashListener { 4 | fun receivedHash(hash: String, type: Int) 5 | } 6 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/ItemTouchHelperContract.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter 4 | 5 | interface ItemTouchHelperContract { 6 | fun onRowMoved(fromPosition: Int, toPosition: Int) 7 | 8 | fun onRowSelected(myViewHolder: MyRecyclerViewAdapter.ViewHolder?) 9 | 10 | fun onRowClear(myViewHolder: MyRecyclerViewAdapter.ViewHolder?) 11 | } 12 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/LineColorPickerListener.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | fun interface LineColorPickerListener { 4 | fun colorChanged(index: Int, color: Int) 5 | } 6 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/MyActionModeCallback.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | import android.view.ActionMode 4 | 5 | abstract class MyActionModeCallback : ActionMode.Callback { 6 | var isSelectable = false 7 | } 8 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/RecyclerScrollCallback.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | interface RecyclerScrollCallback { 4 | fun onScrolled(scrollY: Int) 5 | } 6 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/RefreshRecyclerViewListener.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | interface RefreshRecyclerViewListener { 4 | fun refreshItems() 5 | } 6 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/RenameTab.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | import com.simplemobiletools.commons.activities.BaseSimpleActivity 4 | 5 | interface RenameTab { 6 | fun initTab(activity: BaseSimpleActivity, paths: ArrayList) 7 | 8 | fun dialogConfirmed(useMediaFileExtension: Boolean, callback: (success: Boolean) -> Unit) 9 | } 10 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/SecurityTab.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | import androidx.biometric.auth.AuthPromptHost 4 | import com.simplemobiletools.commons.views.MyScrollView 5 | 6 | interface SecurityTab { 7 | fun initTab( 8 | requiredHash: String, 9 | listener: HashListener, 10 | scrollView: MyScrollView, 11 | biometricPromptHost: AuthPromptHost, 12 | showBiometricAuthentication: Boolean 13 | ) 14 | 15 | fun visibilityChanged(isVisible: Boolean) 16 | } 17 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/interfaces/StartReorderDragListener.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.interfaces 2 | 3 | import androidx.recyclerview.widget.RecyclerView 4 | 5 | interface StartReorderDragListener { 6 | fun requestDrag(viewHolder: RecyclerView.ViewHolder) 7 | } 8 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/AlarmSound.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | data class AlarmSound(val id: Int, var title: String, var uri: String) 4 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/Android30RenameFormat.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | enum class Android30RenameFormat { 4 | SAF, 5 | CONTENT_RESOLVER, 6 | NONE 7 | } 8 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/BlockedNumber.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | import androidx.compose.runtime.Immutable 4 | 5 | @Immutable 6 | data class BlockedNumber(val id: Long, val number: String, val normalizedNumber: String, val numberToCompare: String, val contactName: String? = null) 7 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/FAQItem.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | import androidx.compose.runtime.Immutable 4 | import java.io.Serializable 5 | 6 | @Immutable 7 | data class FAQItem(val title: Any, val text: Any) : Serializable { 8 | companion object { 9 | private const val serialVersionUID = -6553345863512345L 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/LanguageContributor.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | import androidx.annotation.DrawableRes 4 | import androidx.annotation.StringRes 5 | import androidx.compose.runtime.Immutable 6 | 7 | @Immutable 8 | data class LanguageContributor(@DrawableRes val iconId: Int, @StringRes val labelId: Int, @StringRes val contributorsId: Int) 9 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/License.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | import androidx.compose.runtime.Immutable 4 | 5 | @Immutable 6 | data class License(val id: Long, val titleId: Int, val textId: Int, val urlId: Int) 7 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/MyTheme.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | data class MyTheme(val label: String, val textColorId: Int, val backgroundColorId: Int, val primaryColorId: Int, val appIconColorId: Int) 4 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/PhoneNumber.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | import kotlinx.serialization.Serializable 4 | 5 | @Serializable 6 | data class PhoneNumber( 7 | var value: String, 8 | var type: Int, 9 | var label: String, 10 | var normalizedNumber: String, 11 | var isPrimary: Boolean = false 12 | ) 13 | 14 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/RadioItem.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | import androidx.compose.runtime.Immutable 4 | 5 | @Immutable 6 | data class RadioItem(val id: Int, val title: String, val value: Any = id) 7 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/RecyclerViewPayloads.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | data class RecyclerSelectionPayload(val selected: Boolean) 4 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/Release.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | import androidx.compose.runtime.Immutable 4 | 5 | @Immutable 6 | data class Release(val id: Int, val textId: Int) 7 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/SharedTheme.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | data class SharedTheme( 4 | val textColor: Int, val backgroundColor: Int, val primaryColor: Int, val appIconColor: Int, val lastUpdatedTS: Int = 0, val accentColor: Int 5 | ) 6 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/SimpleListItem.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models 2 | 3 | import android.os.Parcelable 4 | import androidx.compose.runtime.Immutable 5 | import kotlinx.parcelize.Parcelize 6 | 7 | @Parcelize 8 | @Immutable 9 | data class SimpleListItem(val id: Int, val textRes: Int, val imageRes: Int? = null, val selected: Boolean = false) : Parcelable { 10 | 11 | companion object { 12 | fun areItemsTheSame(old: SimpleListItem, new: SimpleListItem): Boolean { 13 | return old.id == new.id 14 | } 15 | 16 | fun areContentsTheSame(old: SimpleListItem, new: SimpleListItem): Boolean { 17 | return old.imageRes == new.imageRes && old.textRes == new.textRes && old.selected == new.selected 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/Address.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | import kotlinx.serialization.Serializable 4 | 5 | @Serializable 6 | data class Address(var value: String, var type: Int, var label: String) 7 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/ContactSource.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | import com.simplemobiletools.commons.helpers.SMT_PRIVATE 4 | 5 | data class ContactSource(var name: String, var type: String, var publicName: String, var count: Int = 0) { 6 | fun getFullIdentifier(): String { 7 | return if (type == SMT_PRIVATE) { 8 | type 9 | } else { 10 | "$name:$type" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/Email.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | import kotlinx.serialization.Serializable 4 | 5 | @Serializable 6 | data class Email(var value: String, var type: Int, var label: String) 7 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/Event.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | import kotlinx.serialization.Serializable 4 | 5 | @Serializable 6 | data class Event(var value: String, var type: Int) 7 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/Group.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | import androidx.room.ColumnInfo 4 | import androidx.room.Entity 5 | import androidx.room.Index 6 | import androidx.room.PrimaryKey 7 | import com.simplemobiletools.commons.helpers.FIRST_GROUP_ID 8 | import java.io.Serializable 9 | 10 | @kotlinx.serialization.Serializable 11 | @Entity(tableName = "groups", indices = [(Index(value = ["id"], unique = true))]) 12 | data class Group( 13 | @PrimaryKey(autoGenerate = true) var id: Long?, 14 | @ColumnInfo(name = "title") var title: String, 15 | @ColumnInfo(name = "contacts_count") var contactsCount: Int = 0 16 | ) : Serializable { 17 | 18 | fun addContact() = contactsCount++ 19 | 20 | fun getBubbleText() = title 21 | 22 | fun isPrivateSecretGroup() = id ?: 0 >= FIRST_GROUP_ID 23 | } 24 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/IM.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | import kotlinx.serialization.Serializable 4 | 5 | @Serializable 6 | data class IM( 7 | var value: String, 8 | var type: Int, 9 | var label: String 10 | ) 11 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/Organization.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | import kotlinx.serialization.Serializable 4 | 5 | @Serializable 6 | data class Organization(var company: String, var jobPosition: String) { 7 | fun isEmpty() = company.isEmpty() && jobPosition.isEmpty() 8 | 9 | fun isNotEmpty() = !isEmpty() 10 | } 11 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/PhoneNumberConverter.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | import androidx.annotation.Keep 4 | 5 | // need for hacky parsing of no longer minified PhoneNumber model in Converters.kt 6 | @Keep 7 | data class PhoneNumberConverter(var a: String, var b: Int, var c: String, var d: String, var e: Boolean = false) 8 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/models/contacts/SocialAction.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.models.contacts 2 | 3 | data class SocialAction(var actionId: Int, var type: Int, var label: String, var mimetype: String, val dataId: Long, val packageName: String) 4 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/overloads/String.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.overloads 2 | 3 | operator fun String.times(x: Int): String { 4 | val stringBuilder = StringBuilder() 5 | for (i in 1..x) { 6 | stringBuilder.append(this) 7 | } 8 | return stringBuilder.toString() 9 | } 10 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/MyButton.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import android.widget.Button 6 | 7 | class MyButton : Button { 8 | constructor(context: Context) : super(context) 9 | 10 | constructor(context: Context, attrs: AttributeSet) : super(context, attrs) 11 | 12 | constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle) 13 | 14 | fun setColors(textColor: Int, accentColor: Int, backgroundColor: Int) { 15 | setTextColor(textColor) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/MyFloatingActionButton.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views 2 | 3 | import android.content.Context 4 | import android.content.res.ColorStateList 5 | import android.util.AttributeSet 6 | import com.google.android.material.floatingactionbutton.FloatingActionButton 7 | import com.simplemobiletools.commons.extensions.applyColorFilter 8 | import com.simplemobiletools.commons.extensions.getContrastColor 9 | 10 | class MyFloatingActionButton : FloatingActionButton { 11 | constructor(context: Context) : super(context) 12 | 13 | constructor(context: Context, attrs: AttributeSet) : super(context, attrs) 14 | 15 | constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle) 16 | 17 | fun setColors(textColor: Int, accentColor: Int, backgroundColor: Int) { 18 | backgroundTintList = ColorStateList.valueOf(accentColor) 19 | applyColorFilter(accentColor.getContrastColor()) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/MyGridLayoutManager.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import androidx.recyclerview.widget.GridLayoutManager 6 | 7 | open class MyGridLayoutManager : GridLayoutManager { 8 | constructor(context: Context, spanCount: Int) : super(context, spanCount) 9 | 10 | constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) 11 | 12 | constructor(context: Context, spanCount: Int, orientation: Int, reverseLayout: Boolean) : super(context, spanCount, orientation, reverseLayout) 13 | 14 | // fixes crash java.lang.IndexOutOfBoundsException: Inconsistency detected... 15 | // taken from https://stackoverflow.com/a/33985508/1967672 16 | override fun supportsPredictiveItemAnimations() = false 17 | } 18 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/MyLinearLayoutManager.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import androidx.recyclerview.widget.LinearLayoutManager 6 | 7 | class MyLinearLayoutManager : LinearLayoutManager { 8 | constructor(context: Context) : super(context) 9 | 10 | constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) 11 | 12 | constructor(context: Context, orientation: Int, reverseLayout: Boolean) : super(context, orientation, reverseLayout) 13 | 14 | // fixes crash java.lang.IndexOutOfBoundsException: Inconsistency detected... 15 | // taken from https://stackoverflow.com/a/33985508/1967672 16 | override fun supportsPredictiveItemAnimations() = false 17 | } 18 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/MySeekBar.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import android.widget.SeekBar 6 | import com.simplemobiletools.commons.extensions.applyColorFilter 7 | 8 | class MySeekBar : SeekBar { 9 | constructor(context: Context) : super(context) 10 | 11 | constructor(context: Context, attrs: AttributeSet) : super(context, attrs) 12 | 13 | constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle) 14 | 15 | fun setColors(textColor: Int, accentColor: Int, backgroundColor: Int) { 16 | progressDrawable.applyColorFilter(accentColor) 17 | thumb?.applyColorFilter(accentColor) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/MySquareImageView.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import androidx.appcompat.widget.AppCompatImageView 6 | 7 | class MySquareImageView : AppCompatImageView { 8 | var isHorizontalScrolling = false 9 | 10 | constructor(context: Context) : super(context) 11 | 12 | constructor(context: Context, attrs: AttributeSet) : super(context, attrs) 13 | 14 | constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle) 15 | 16 | override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { 17 | val spec = if (isHorizontalScrolling) heightMeasureSpec else widthMeasureSpec 18 | super.onMeasure(spec, spec) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/MyTextView.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import android.widget.TextView 6 | 7 | class MyTextView : TextView { 8 | constructor(context: Context) : super(context) 9 | 10 | constructor(context: Context, attrs: AttributeSet) : super(context, attrs) 11 | 12 | constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle) 13 | 14 | fun setColors(textColor: Int, accentColor: Int, backgroundColor: Int) { 15 | setTextColor(textColor) 16 | setLinkTextColor(accentColor) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/MyViewPager.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import android.view.MotionEvent 6 | import com.duolingo.open.rtlviewpager.RtlViewPager 7 | 8 | class MyViewPager : RtlViewPager { 9 | 10 | constructor(context: Context) : super(context) 11 | 12 | constructor(context: Context, attrs: AttributeSet) : super(context, attrs) 13 | 14 | override fun onInterceptTouchEvent(ev: MotionEvent): Boolean { 15 | return try { 16 | super.onInterceptTouchEvent(ev) 17 | } catch (ignored: Exception) { 18 | false 19 | } 20 | } 21 | 22 | override fun onTouchEvent(ev: MotionEvent): Boolean { 23 | return try { 24 | super.onTouchEvent(ev) 25 | } catch (ignored: Exception) { 26 | false 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/bottomactionmenu/BottomActionMenuCallback.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views.bottomactionmenu 2 | 3 | interface BottomActionMenuCallback { 4 | fun onItemClicked(item: BottomActionMenuItem) {} 5 | fun onViewCreated(view: BottomActionMenuView) {} 6 | fun onViewDestroyed() {} 7 | } 8 | -------------------------------------------------------------------------------- /commons/src/main/kotlin/com/simplemobiletools/commons/views/bottomactionmenu/BottomActionMenuItem.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.views.bottomactionmenu 2 | 3 | import android.view.View 4 | import androidx.annotation.DrawableRes 5 | import androidx.annotation.IdRes 6 | 7 | data class BottomActionMenuItem( 8 | @IdRes val id: Int, 9 | val title: String, 10 | @DrawableRes val icon: Int = View.NO_ID, 11 | val showAsAction: Boolean, 12 | val isVisible: Boolean = true, 13 | ) 14 | -------------------------------------------------------------------------------- /commons/src/main/res/anim/item_animation_fall_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | 14 | 15 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /commons/src/main/res/anim/layout_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/anim/pulsing_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /commons/src/main/res/anim/shake_pulse_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 15 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /commons/src/main/res/anim/slide_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable-hdpi/img_write_storage.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-hdpi/img_write_storage.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-hdpi/img_write_storage_create_doc_sdk_30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-hdpi/img_write_storage_create_doc_sdk_30.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-hdpi/img_write_storage_otg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-hdpi/img_write_storage_otg.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-hdpi/img_write_storage_sd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-hdpi/img_write_storage_sd.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-hdpi/img_write_storage_sdk_30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-hdpi/img_write_storage_sdk_30.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-nodpi/img_color_picker_hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-nodpi/img_color_picker_hue.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/img_write_storage.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xhdpi/img_write_storage.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/img_write_storage_create_doc_sdk_30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xhdpi/img_write_storage_create_doc_sdk_30.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/img_write_storage_otg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xhdpi/img_write_storage_otg.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/img_write_storage_sd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xhdpi/img_write_storage_sd.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/img_write_storage_sdk_30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xhdpi/img_write_storage_sdk_30.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxhdpi/img_write_storage.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxhdpi/img_write_storage.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxhdpi/img_write_storage_create_doc_sdk_30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxhdpi/img_write_storage_create_doc_sdk_30.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxhdpi/img_write_storage_otg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxhdpi/img_write_storage_otg.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxhdpi/img_write_storage_sd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxhdpi/img_write_storage_sd.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxhdpi/img_write_storage_sdk_30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxhdpi/img_write_storage_sdk_30.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxxhdpi/img_write_storage.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxxhdpi/img_write_storage.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxxhdpi/img_write_storage_create_doc_sdk_30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxxhdpi/img_write_storage_create_doc_sdk_30.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxxhdpi/img_write_storage_otg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxxhdpi/img_write_storage_otg.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxxhdpi/img_write_storage_sd.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxxhdpi/img_write_storage_sd.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxxhdpi/img_write_storage_sdk_30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable-xxxhdpi/img_write_storage_sdk_30.webp -------------------------------------------------------------------------------- /commons/src/main/res/drawable/actionmenu_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/black_dialog_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/bottom_sheet_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/bottom_sheet_bg_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 11 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/button_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/drawable/button_background.9.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/button_background_rounded.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/button_background_stroke.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/circle_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/color_picker_circle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/dialog_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/dialog_you_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/gradient_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/gradient_background_flipped.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_add_person_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_arrow_left_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_arrow_right_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_article_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_attach_file_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_bell_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_block_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_business_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_camera_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_change_view_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_check_circle_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_check_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_chevron_left_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_chevron_right_unpadded_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_chevron_right_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_clear_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_clock_filled_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_clock_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_code_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_copy_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_cross_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_delete_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_dialpad_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_dollar_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_drag_handle_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_edit_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_face_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_facebook_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_file_generic.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_filter_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_arabic_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_azerbaijani_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_basque_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_bengali_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_chinese_cn_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_chinese_hk_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_czech_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_danish_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_dutch_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_finnish_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_french_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_galician_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_german_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_greek_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_hebrew_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_hungarian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_indonesian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_italian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_japanese_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_lithuanian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_norwegian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_polish_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_portuguese_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_romanian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_russian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_slovenian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_swedish_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_tamil_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_turkish_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag_ukrainian_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_folder_open_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_folder_outline_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_folder_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_github_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_google_play_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_group_circle_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | 15 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_heart_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_hide_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_label_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_link_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_lock_outlined_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_lock_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_mail_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_microphone_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_minus_circle_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_minus_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_move_to_bottom_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_move_to_top_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_move_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_next_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_orientation_auto_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_orientation_landscape_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_orientation_portrait_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_pause_crossed_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_pause_outline_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_pause_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_person_outline_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_person_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_phone_one_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_phone_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_pin_filled_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_pin_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_place_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_play_outline_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_play_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_plus_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_previous_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_print_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_question_mark_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_redo_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_rename_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_reset_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_save_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_sd_card_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_search_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_select_all_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_send_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_set_as_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_share_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_sim_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_sms_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_snooze_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_sort_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_star_outline_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_star_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_stop_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_telegram_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_three_dots_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_undo_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_unhide_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_usb_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_vibrate_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_view_contact_details_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/pill_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/popup_menu_bg_you.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ripple_all_corners.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ripple_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ripple_bottom_corners.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ripple_selector_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ripple_selector_you_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ripple_top_corners.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/search_menu_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/section_holder_stroke.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/selector_clickable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/selector_clickable_you.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/shortcut_plus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/top_popup_menu_bg_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/top_popup_menu_bg_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/transparent_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/transparent_button_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/widget_config_seekbar_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/widget_round_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/actionbar_title.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_call_confirmation.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_message.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_open_device_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_purchase_thank_you.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_radio_group.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_textview.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_title.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_upgrade_to_pro.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/dialog_write_permission_otg.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/empty_image_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/filepicker_favorite.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/item_action_mode.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/item_action_mode_popup.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/item_breadcrumb.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/item_breadcrumb_first.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/item_select_alarm_sound.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/layout/radio_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/menu/cab_blocked_numbers.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /commons/src/main/res/menu/cab_delete_only.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/menu/cab_remove_only.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/menu/menu_add_blocked_number.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 13 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /commons/src/main/res/menu/menu_customization.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_app_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_app_launcher.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_calculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_calculator.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_calendar.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_camera.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_clock.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_contacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_contacts.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_dialer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_dialer.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_draw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_draw.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_file_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_file_manager.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_flashlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_flashlight.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_gallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_gallery.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_keyboard.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_music_player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_music_player.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_notes.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_simple_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_simple_launcher.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_sms_messenger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_sms_messenger.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_thank_you.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_thank_you.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-hdpi/ic_voice_recorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-hdpi/ic_voice_recorder.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_app_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_app_launcher.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_calculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_calculator.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_calendar.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_camera.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_clock.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_contacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_contacts.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_dialer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_dialer.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_draw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_draw.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_file_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_file_manager.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_flashlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_flashlight.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_gallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_gallery.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_keyboard.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_music_player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_music_player.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_notes.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_simple_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_simple_launcher.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_sms_messenger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_sms_messenger.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_thank_you.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_thank_you.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xhdpi/ic_voice_recorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xhdpi/ic_voice_recorder.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_app_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_app_launcher.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_calculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_calculator.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_calendar.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_camera.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_clock.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_contacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_contacts.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_dialer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_dialer.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_draw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_draw.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_file_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_file_manager.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_flashlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_flashlight.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_gallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_gallery.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_keyboard.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_music_player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_music_player.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_notes.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_simple_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_simple_launcher.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_sms_messenger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_sms_messenger.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_thank_you.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_thank_you.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxhdpi/ic_voice_recorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxhdpi/ic_voice_recorder.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_app_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_app_launcher.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_calculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_calculator.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_calendar.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_camera.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_clock.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_contacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_contacts.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_dialer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_dialer.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_draw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_draw.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_file_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_file_manager.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_flashlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_flashlight.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_gallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_gallery.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_keyboard.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_music_player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_music_player.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_notes.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_simple_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_simple_launcher.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_sms_messenger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_sms_messenger.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_thank_you.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_thank_you.png -------------------------------------------------------------------------------- /commons/src/main/res/mipmap-xxxhdpi/ic_voice_recorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/commons/src/main/res/mipmap-xxxhdpi/ic_voice_recorder.png -------------------------------------------------------------------------------- /commons/src/main/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 50dp 3 | 80dp 4 | 40dp 5 | 6 | 38dp 7 | 8 | 18sp 9 | 22sp 10 | 26sp 11 | 12 | -------------------------------------------------------------------------------- /commons/src/main/res/values-w600dp/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 4 | 8 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /commons/src/main/res/values/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | false 4 | false 5 | false 6 | false 7 | false 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/values/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1 4 | 1 5 | 0 6 | 3 7 | 5 8 | 9 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | android.enableJetifier=true 13 | android.useAndroidX=true 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | org.gradle.jvmargs=-Xmx8192m 19 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Nov 03 17:02:48 CET 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip 7 | -------------------------------------------------------------------------------- /jitpack.yml: -------------------------------------------------------------------------------- 1 | jdk: openjdk17 2 | -------------------------------------------------------------------------------- /samples/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -dontwarn javax.swing.tree.TreeNode 2 | -------------------------------------------------------------------------------- /samples/src/main/kotlin/com/simplemobiletools/commons/samples/App.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.commons.samples 2 | 3 | import android.app.Application 4 | import com.github.ajalt.reprint.core.Reprint 5 | 6 | class App : Application() { 7 | override fun onCreate() { 8 | super.onCreate() 9 | Reprint.initialize(this) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/src/main/res/mipmap-hdpi/commons_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/samples/src/main/res/mipmap-hdpi/commons_launcher.png -------------------------------------------------------------------------------- /samples/src/main/res/mipmap-xhdpi/commons_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/samples/src/main/res/mipmap-xhdpi/commons_launcher.png -------------------------------------------------------------------------------- /samples/src/main/res/mipmap-xxhdpi/commons_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/samples/src/main/res/mipmap-xxhdpi/commons_launcher.png -------------------------------------------------------------------------------- /samples/src/main/res/mipmap-xxxhdpi/commons_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Commons/37078b151c41bec912b9c9b34f33500775f63814/samples/src/main/res/mipmap-xxxhdpi/commons_launcher.png -------------------------------------------------------------------------------- /samples/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /samples/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /samples/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Simple Commons 3 | 4 | -------------------------------------------------------------------------------- /samples/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |