├── .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 |
15 |
--------------------------------------------------------------------------------
/commons/src/main/res/menu/cab_delete_only.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/commons/src/main/res/menu/cab_remove_only.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/commons/src/main/res/menu/menu_add_blocked_number.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
--------------------------------------------------------------------------------
/commons/src/main/res/menu/menu_customization.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | gradlePluginPortal()
4 | google()
5 | mavenCentral()
6 | }
7 | }
8 | dependencyResolutionManagement {
9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10 | repositories {
11 | google()
12 | mavenCentral()
13 | maven { setUrl("https://jitpack.io") }
14 | }
15 | }
16 | rootProject.name = "Simple-Commons"
17 | enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
18 | include(":samples", "commons")
19 |
--------------------------------------------------------------------------------