gitextract_ztr7dq7x/ ├── .gitignore ├── .scalafmt.conf ├── .travis.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── LICENSE ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── README_old.md ├── codecov.yml ├── modules/ │ ├── api/ │ │ ├── build.sbt │ │ └── src/ │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── scala/ │ │ │ └── cards/ │ │ │ └── nine/ │ │ │ └── api/ │ │ │ ├── rest/ │ │ │ │ └── client/ │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── ServiceClient.scala │ │ │ │ ├── http/ │ │ │ │ │ ├── Exceptions.scala │ │ │ │ │ ├── HttpClient.scala │ │ │ │ │ ├── HttpClientResponse.scala │ │ │ │ │ └── OkHttpClient.scala │ │ │ │ └── messages/ │ │ │ │ └── Messages.scala │ │ │ ├── version1/ │ │ │ │ ├── ApiService.scala │ │ │ │ ├── JsonImplicits.scala │ │ │ │ └── Model.scala │ │ │ └── version2/ │ │ │ ├── ApiService.scala │ │ │ ├── JsonImplicits.scala │ │ │ └── Model.scala │ │ └── test/ │ │ └── scala/ │ │ ├── cards/ │ │ │ └── nine/ │ │ │ └── api/ │ │ │ ├── rest/ │ │ │ │ └── client/ │ │ │ │ ├── Messages.scala │ │ │ │ ├── ServiceClientData.scala │ │ │ │ ├── ServiceClientSpec.scala │ │ │ │ └── http/ │ │ │ │ └── OkHttpClientSpec.scala │ │ │ ├── version1/ │ │ │ │ ├── ApiServiceData.scala │ │ │ │ └── ApiServiceSpec.scala │ │ │ └── version2/ │ │ │ ├── ApiServiceData.scala │ │ │ └── ApiServiceSpec.scala │ │ └── com/ │ │ └── fortysevendeg/ │ │ └── BaseTestSupport.scala │ ├── app/ │ │ ├── build.sbt │ │ ├── crashlytics/ │ │ │ └── templates/ │ │ │ └── CrashlyticsManifest.xml │ │ ├── project/ │ │ │ └── plugins.sbt │ │ └── src/ │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── cards/ │ │ │ │ └── nine/ │ │ │ │ └── utils/ │ │ │ │ └── SystemBarTintManager.java │ │ │ ├── res/ │ │ │ │ ├── anim/ │ │ │ │ │ ├── elevation_transition.xml │ │ │ │ │ ├── grid_cards_layout_animation.xml │ │ │ │ │ ├── list_slide_in_bottom_animation.xml │ │ │ │ │ └── slide_in_bottom.xml │ │ │ │ ├── color/ │ │ │ │ │ └── wizard_text_button.xml │ │ │ │ ├── drawable/ │ │ │ │ │ ├── background_icon_collection_detail.xml │ │ │ │ │ ├── background_title_fab_menu_item.xml │ │ │ │ │ ├── background_title_fab_menu_item_default.xml │ │ │ │ │ ├── background_title_fab_menu_item_pressed.xml │ │ │ │ │ ├── drawer_pager.xml │ │ │ │ │ ├── drawer_pager_current.xml │ │ │ │ │ ├── drawer_pager_default.xml │ │ │ │ │ ├── fastscroller_bar.xml │ │ │ │ │ ├── fastscroller_signal.xml │ │ │ │ │ ├── mark_widget_resizing.xml │ │ │ │ │ ├── publish_collection_wizard_pager.xml │ │ │ │ │ ├── publish_collection_wizard_pager_current.xml │ │ │ │ │ ├── stroke_widget_selected.xml │ │ │ │ │ ├── wizard_inline_pager.xml │ │ │ │ │ ├── wizard_inline_pager_current.xml │ │ │ │ │ ├── wizard_inline_pager_default.xml │ │ │ │ │ ├── wizard_pager.xml │ │ │ │ │ ├── wizard_pager_current.xml │ │ │ │ │ ├── wizard_pager_default.xml │ │ │ │ │ └── workspaces_pager.xml │ │ │ │ ├── layout/ │ │ │ │ │ ├── about_header_preference.xml │ │ │ │ │ ├── about_team_preference.xml │ │ │ │ │ ├── add_moment_item.xml │ │ │ │ │ ├── app_drawer_layout.xml │ │ │ │ │ ├── app_drawer_panel.xml │ │ │ │ │ ├── app_item.xml │ │ │ │ │ ├── app_link_dialog_activity.xml │ │ │ │ │ ├── app_select_item.xml │ │ │ │ │ ├── apps_moment_layout.xml │ │ │ │ │ ├── base_action_fragment.xml │ │ │ │ │ ├── card_item.xml │ │ │ │ │ ├── collection_bar_view_panel.xml │ │ │ │ │ ├── collection_checkbox.xml │ │ │ │ │ ├── collection_detail_fragment.xml │ │ │ │ │ ├── collection_item.xml │ │ │ │ │ ├── collections_actions_view_panel.xml │ │ │ │ │ ├── collections_detail_activity.xml │ │ │ │ │ ├── collections_detail_tab.xml │ │ │ │ │ ├── collections_workspace_layout.xml │ │ │ │ │ ├── color_info_item_dialog.xml │ │ │ │ │ ├── contact_info_email_dialog.xml │ │ │ │ │ ├── contact_info_general_dialog.xml │ │ │ │ │ ├── contact_info_header.xml │ │ │ │ │ ├── contact_info_phone_dialog.xml │ │ │ │ │ ├── contact_item.xml │ │ │ │ │ ├── dialog_edit_card.xml │ │ │ │ │ ├── dialog_edit_text.xml │ │ │ │ │ ├── edit_moment.xml │ │ │ │ │ ├── edit_moment_hour_layout.xml │ │ │ │ │ ├── edit_moment_wifi_layout.xml │ │ │ │ │ ├── empty_profile_item.xml │ │ │ │ │ ├── fab_item.xml │ │ │ │ │ ├── fastscroller.xml │ │ │ │ │ ├── header_list_item.xml │ │ │ │ │ ├── icon_info_item_dialog.xml │ │ │ │ │ ├── last_call_item.xml │ │ │ │ │ ├── launcher_activity.xml │ │ │ │ │ ├── list_action_apps_fragment.xml │ │ │ │ │ ├── list_action_fragment.xml │ │ │ │ │ ├── list_action_with_scroller_fragment.xml │ │ │ │ │ ├── list_item_popup_menu.xml │ │ │ │ │ ├── menu_header.xml │ │ │ │ │ ├── moment_bar_view_panel.xml │ │ │ │ │ ├── new_collection.xml │ │ │ │ │ ├── private_collections_item.xml │ │ │ │ │ ├── profile_account_item.xml │ │ │ │ │ ├── profile_account_item_header.xml │ │ │ │ │ ├── profile_activity.xml │ │ │ │ │ ├── profile_subscription_item.xml │ │ │ │ │ ├── public_collections_item.xml │ │ │ │ │ ├── publish_collection_wizard.xml │ │ │ │ │ ├── recommendations_item.xml │ │ │ │ │ ├── search_box_panel.xml │ │ │ │ │ ├── search_item.xml │ │ │ │ │ ├── select_collection_dialog.xml │ │ │ │ │ ├── select_collection_item.xml │ │ │ │ │ ├── select_moment_dialog.xml │ │ │ │ │ ├── select_moment_item.xml │ │ │ │ │ ├── shortcut_item.xml │ │ │ │ │ ├── swipe_animation_drawer_layout.xml │ │ │ │ │ ├── tab_item.xml │ │ │ │ │ ├── toolbar_dialog.xml │ │ │ │ │ ├── widget_item.xml │ │ │ │ │ ├── widgets_action_fragment.xml │ │ │ │ │ ├── wizard_activity.xml │ │ │ │ │ ├── wizard_checkbox.xml │ │ │ │ │ ├── wizard_inline.xml │ │ │ │ │ ├── wizard_inline_step.xml │ │ │ │ │ ├── wizard_moment_checkbox.xml │ │ │ │ │ ├── wizard_new_conf_step_0.xml │ │ │ │ │ ├── wizard_new_conf_step_1.xml │ │ │ │ │ ├── wizard_new_conf_step_2.xml │ │ │ │ │ ├── wizard_new_conf_step_3.xml │ │ │ │ │ ├── wizard_new_conf_step_4.xml │ │ │ │ │ ├── wizard_new_conf_step_5.xml │ │ │ │ │ ├── wizard_step.xml │ │ │ │ │ ├── wizard_wifi_checkbox.xml │ │ │ │ │ ├── workspace_button.xml │ │ │ │ │ ├── workspace_item_menu.xml │ │ │ │ │ └── workspace_menu_layout.xml │ │ │ │ ├── menu/ │ │ │ │ │ ├── app_menu.xml │ │ │ │ │ ├── collection_detail_menu.xml │ │ │ │ │ ├── collection_edit_menu.xml │ │ │ │ │ └── profile_menu.xml │ │ │ │ ├── values/ │ │ │ │ │ ├── arrays.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── config.xml │ │ │ │ │ ├── dimens.xml │ │ │ │ │ ├── ids.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── styles_actions.xml │ │ │ │ │ ├── styles_cards.xml │ │ │ │ │ ├── styles_collections.xml │ │ │ │ │ ├── styles_dialogs.xml │ │ │ │ │ ├── styles_drawer.xml │ │ │ │ │ ├── styles_fast_scroller.xml │ │ │ │ │ ├── styles_items.xml │ │ │ │ │ ├── styles_launcher.xml │ │ │ │ │ ├── styles_menu.xml │ │ │ │ │ ├── styles_menu_items.xml │ │ │ │ │ ├── styles_preferences.xml │ │ │ │ │ ├── styles_profile.xml │ │ │ │ │ ├── styles_pull_to_tabs.xml │ │ │ │ │ ├── styles_wizard.xml │ │ │ │ │ └── themes.xml │ │ │ │ ├── values-es/ │ │ │ │ │ ├── arrays.xml │ │ │ │ │ └── strings.xml │ │ │ │ ├── values-sw400dp/ │ │ │ │ │ ├── dimens.xml │ │ │ │ │ └── strings.xml │ │ │ │ ├── values-sw600dp/ │ │ │ │ │ ├── dimens.xml │ │ │ │ │ └── strings.xml │ │ │ │ ├── values-v17/ │ │ │ │ │ └── dimens.xml │ │ │ │ ├── values-v19/ │ │ │ │ │ └── themes.xml │ │ │ │ ├── values-v21/ │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── dimens.xml │ │ │ │ │ ├── styles_actions.xml │ │ │ │ │ ├── styles_collections.xml │ │ │ │ │ ├── styles_fast_scroller.xml │ │ │ │ │ ├── styles_profile.xml │ │ │ │ │ └── themes.xml │ │ │ │ └── xml/ │ │ │ │ ├── preferences_about.xml │ │ │ │ ├── preferences_analytics.xml │ │ │ │ ├── preferences_animations.xml │ │ │ │ ├── preferences_app_drawer.xml │ │ │ │ ├── preferences_apps_list.xml │ │ │ │ ├── preferences_dev.xml │ │ │ │ ├── preferences_devs_headers.xml │ │ │ │ ├── preferences_headers.xml │ │ │ │ ├── preferences_lookfeel.xml │ │ │ │ └── preferences_moments.xml │ │ │ └── scala/ │ │ │ └── cards/ │ │ │ └── nine/ │ │ │ ├── app/ │ │ │ │ ├── NineCardsApplication.scala │ │ │ │ ├── commons/ │ │ │ │ │ ├── BroadcastDispatcher.scala │ │ │ │ │ ├── ContextSupportPreferences.scala │ │ │ │ │ ├── ContextSupportProvider.scala │ │ │ │ │ └── Conversions.scala │ │ │ │ ├── di/ │ │ │ │ │ └── Injector.scala │ │ │ │ ├── observers/ │ │ │ │ │ ├── NineCardsObserver.scala │ │ │ │ │ └── ObserverRegister.scala │ │ │ │ ├── permissions/ │ │ │ │ │ ├── PermissionChecker.scala │ │ │ │ │ └── PermissionCheckerException.scala │ │ │ │ ├── receivers/ │ │ │ │ │ ├── apps/ │ │ │ │ │ │ ├── AppBroadcastJobs.scala │ │ │ │ │ │ └── AppBroadcastReceiver.scala │ │ │ │ │ ├── bluetooth/ │ │ │ │ │ │ ├── BluetoothJobs.scala │ │ │ │ │ │ └── BluetoothReceiver.scala │ │ │ │ │ ├── moments/ │ │ │ │ │ │ ├── ConnectionStatusChangedJobs.scala │ │ │ │ │ │ └── MomentBroadcastReceiver.scala │ │ │ │ │ └── shortcuts/ │ │ │ │ │ ├── ShortcutBroadcastJobs.scala │ │ │ │ │ └── ShortcutBroadcastReceiver.scala │ │ │ │ ├── services/ │ │ │ │ │ ├── NineCardsFirebaseInstanceIdService.scala │ │ │ │ │ ├── NineCardsFirebaseJobs.scala │ │ │ │ │ ├── NineCardsFirebaseMessagingService.scala │ │ │ │ │ ├── sharedcollections/ │ │ │ │ │ │ ├── UpdateSharedCollectionJobs.scala │ │ │ │ │ │ ├── UpdateSharedCollectionService.scala │ │ │ │ │ │ └── UpdateSharedCollectionUiActions.scala │ │ │ │ │ └── sync/ │ │ │ │ │ ├── SynchronizeDeviceService.scala │ │ │ │ │ └── SynchronizeDeviceServiceJobs.scala │ │ │ │ └── ui/ │ │ │ │ ├── applinks/ │ │ │ │ │ ├── AppLinksReceiverActivity.scala │ │ │ │ │ ├── AppLinksReceiverJobs.scala │ │ │ │ │ └── AppLinksReceiverUiActions.scala │ │ │ │ ├── collections/ │ │ │ │ │ ├── CollectionAdapter.scala │ │ │ │ │ ├── CollectionFragment.scala │ │ │ │ │ ├── CollectionsDetailsActivity.scala │ │ │ │ │ ├── CollectionsPagerAdapter.scala │ │ │ │ │ ├── dialog/ │ │ │ │ │ │ ├── EditCardDialogFragment.scala │ │ │ │ │ │ └── publishcollection/ │ │ │ │ │ │ ├── PublishCollectionActions.scala │ │ │ │ │ │ ├── PublishCollectionDOM.scala │ │ │ │ │ │ ├── PublishCollectionFragment.scala │ │ │ │ │ │ ├── PublishCollectionJobs.scala │ │ │ │ │ │ └── PublishCollectionStyles.scala │ │ │ │ │ ├── jobs/ │ │ │ │ │ │ ├── GroupCollectionsJobs.scala │ │ │ │ │ │ ├── NavigationJobs.scala │ │ │ │ │ │ ├── SharedCollectionJobs.scala │ │ │ │ │ │ ├── SingleCollectionJobs.scala │ │ │ │ │ │ ├── ToolbarJobs.scala │ │ │ │ │ │ └── uiactions/ │ │ │ │ │ │ ├── GroupCollectionsDOM.scala │ │ │ │ │ │ ├── GroupCollectionsUiActions.scala │ │ │ │ │ │ ├── NavigationUiActions.scala │ │ │ │ │ │ ├── SharedCollectionUiActions.scala │ │ │ │ │ │ ├── SingleCollectionDOM.scala │ │ │ │ │ │ ├── SingleCollectionUiActions.scala │ │ │ │ │ │ └── ToolbarUiActions.scala │ │ │ │ │ ├── snails/ │ │ │ │ │ │ └── CollectionsSnails.scala │ │ │ │ │ └── tasks/ │ │ │ │ │ └── CollectionJobs.scala │ │ │ │ ├── commons/ │ │ │ │ │ ├── ActivityFindViews.scala │ │ │ │ │ ├── AppLog.scala │ │ │ │ │ ├── AsyncImageTweaks.scala │ │ │ │ │ ├── Commons.scala │ │ │ │ │ ├── CommonsExcerpt.scala │ │ │ │ │ ├── CommonsTweak.scala │ │ │ │ │ ├── Exceptions.scala │ │ │ │ │ ├── Jobs.scala │ │ │ │ │ ├── SnailsCommons.scala │ │ │ │ │ ├── SystemBarsTint.scala │ │ │ │ │ ├── UiContext.scala │ │ │ │ │ ├── UiExtensions.scala │ │ │ │ │ ├── action_filters/ │ │ │ │ │ │ ├── AppsActionFilter.scala │ │ │ │ │ │ ├── CollectionsActionFilter.scala │ │ │ │ │ │ ├── MomentsActionFilter.scala │ │ │ │ │ │ └── SyncActionFilter.scala │ │ │ │ │ ├── adapters/ │ │ │ │ │ │ ├── apps/ │ │ │ │ │ │ │ ├── AppsAdapter.scala │ │ │ │ │ │ │ └── AppsSelectionAdapter.scala │ │ │ │ │ │ ├── contacts/ │ │ │ │ │ │ │ ├── ContactsAdapter.scala │ │ │ │ │ │ │ └── LastCallsAdapter.scala │ │ │ │ │ │ ├── search/ │ │ │ │ │ │ │ └── SearchAdapter.scala │ │ │ │ │ │ └── sharedcollections/ │ │ │ │ │ │ ├── SharedCollectionItem.scala │ │ │ │ │ │ ├── SharedCollectionsAdapter.scala │ │ │ │ │ │ └── ViewHolderSharedCollectionsLayoutAdapter.scala │ │ │ │ │ ├── dialogs/ │ │ │ │ │ │ ├── BaseActionFragment.scala │ │ │ │ │ │ ├── Styles.scala │ │ │ │ │ │ ├── addmoment/ │ │ │ │ │ │ │ ├── AddMomentAdapter.scala │ │ │ │ │ │ │ ├── AddMomentDOM.scala │ │ │ │ │ │ │ ├── AddMomentFragment.scala │ │ │ │ │ │ │ ├── AddMomentItemDecoration.scala │ │ │ │ │ │ │ ├── AddMomentJobs.scala │ │ │ │ │ │ │ └── AddMomentUiActions.scala │ │ │ │ │ │ ├── apps/ │ │ │ │ │ │ │ ├── AppsDOM.scala │ │ │ │ │ │ │ ├── AppsFragment.scala │ │ │ │ │ │ │ ├── AppsJobs.scala │ │ │ │ │ │ │ └── AppsUiActions.scala │ │ │ │ │ │ ├── contacts/ │ │ │ │ │ │ │ ├── ContactsDOM.scala │ │ │ │ │ │ │ ├── ContactsFragment.scala │ │ │ │ │ │ │ ├── ContactsJobs.scala │ │ │ │ │ │ │ ├── ContactsUiActions.scala │ │ │ │ │ │ │ └── SelectInfoContactDialogFragment.scala │ │ │ │ │ │ ├── createoreditcollection/ │ │ │ │ │ │ │ ├── ColorDialogFragment.scala │ │ │ │ │ │ │ ├── CreateOrEditCollectionDOM.scala │ │ │ │ │ │ │ ├── CreateOrEditCollectionFragment.scala │ │ │ │ │ │ │ ├── CreateOrEditCollectionJobs.scala │ │ │ │ │ │ │ ├── CreateOrEditCollectionUiActions.scala │ │ │ │ │ │ │ └── IconDialogFragment.scala │ │ │ │ │ │ ├── editmoment/ │ │ │ │ │ │ │ ├── EditMomentDOM.scala │ │ │ │ │ │ │ ├── EditMomentFragment.scala │ │ │ │ │ │ │ ├── EditMomentJobs.scala │ │ │ │ │ │ │ └── EditMomentUiActions.scala │ │ │ │ │ │ ├── privatecollections/ │ │ │ │ │ │ │ ├── PrivateCollectionsAdapter.scala │ │ │ │ │ │ │ ├── PrivateCollectionsDOM.scala │ │ │ │ │ │ │ ├── PrivateCollectionsFragment.scala │ │ │ │ │ │ │ ├── PrivateCollectionsJobs.scala │ │ │ │ │ │ │ └── PrivateCollectionsUiActions.scala │ │ │ │ │ │ ├── publicollections/ │ │ │ │ │ │ │ ├── PublicCollectionsDOM.scala │ │ │ │ │ │ │ ├── PublicCollectionsFragment.scala │ │ │ │ │ │ │ ├── PublicCollectionsJobs.scala │ │ │ │ │ │ │ └── PublicCollectionsUiActions.scala │ │ │ │ │ │ ├── recommendations/ │ │ │ │ │ │ │ ├── RecommendationsAdapter.scala │ │ │ │ │ │ │ ├── RecommendationsDOM.scala │ │ │ │ │ │ │ ├── RecommendationsFragment.scala │ │ │ │ │ │ │ ├── RecommendationsJobs.scala │ │ │ │ │ │ │ └── RecommendationsUiActions.scala │ │ │ │ │ │ ├── shortcuts/ │ │ │ │ │ │ │ ├── ShortcutDialogAdapter.scala │ │ │ │ │ │ │ ├── ShortcutDialogDOM.scala │ │ │ │ │ │ │ ├── ShortcutDialogFragment.scala │ │ │ │ │ │ │ ├── ShortcutDialogJobs.scala │ │ │ │ │ │ │ └── ShortcutDialogUiActions.scala │ │ │ │ │ │ ├── widgets/ │ │ │ │ │ │ │ ├── WidgetsAdapter.scala │ │ │ │ │ │ │ ├── WidgetsDialogDOM.scala │ │ │ │ │ │ │ ├── WidgetsDialogJobs.scala │ │ │ │ │ │ │ ├── WidgetsDialogUiActions.scala │ │ │ │ │ │ │ └── WidgetsFragment.scala │ │ │ │ │ │ └── wizard/ │ │ │ │ │ │ ├── WizardInlineDOM.scala │ │ │ │ │ │ ├── WizardInlineFragment.scala │ │ │ │ │ │ ├── WizardInlinePreferences.scala │ │ │ │ │ │ ├── WizardInlineType.scala │ │ │ │ │ │ └── WizardInlineUiActions.scala │ │ │ │ │ ├── glide/ │ │ │ │ │ │ ├── AppIconLoader.scala │ │ │ │ │ │ ├── ApplicationIconDecoder.scala │ │ │ │ │ │ ├── IconFromPackageDecoder.scala │ │ │ │ │ │ └── IconFromPackageLoader.scala │ │ │ │ │ ├── google_api/ │ │ │ │ │ │ └── GoogleApiClientProvider.scala │ │ │ │ │ ├── ops/ │ │ │ │ │ │ ├── CollectionOps.scala │ │ │ │ │ │ ├── ConditionWeatherOps.scala │ │ │ │ │ │ ├── DrawableOps.scala │ │ │ │ │ │ ├── NineCardsCategoryOps.scala │ │ │ │ │ │ ├── NineCardsMomentOps.scala │ │ │ │ │ │ ├── ResourcesCollectionDataOps.scala │ │ │ │ │ │ ├── SharedCollectionOps.scala │ │ │ │ │ │ ├── SubscriptionOps.scala │ │ │ │ │ │ ├── TaskServiceOps.scala │ │ │ │ │ │ ├── TryOps.scala │ │ │ │ │ │ ├── UiOps.scala │ │ │ │ │ │ ├── ViewGroupOps.scala │ │ │ │ │ │ ├── ViewOps.scala │ │ │ │ │ │ └── WidgetsOps.scala │ │ │ │ │ ├── states/ │ │ │ │ │ │ └── MomentState.scala │ │ │ │ │ └── styles/ │ │ │ │ │ ├── CollectionCardsStyles.scala │ │ │ │ │ └── CommonStyles.scala │ │ │ │ ├── components/ │ │ │ │ │ ├── adapters/ │ │ │ │ │ │ └── ThemeArrayAdapter.scala │ │ │ │ │ ├── commons/ │ │ │ │ │ │ ├── PaddingItemDecoration.scala │ │ │ │ │ │ ├── ReorderItemTouchHelperCallback.scala │ │ │ │ │ │ ├── SelectedItemDecoration.scala │ │ │ │ │ │ ├── SwipeController.scala │ │ │ │ │ │ ├── TranslationAnimator.scala │ │ │ │ │ │ └── ViewState.scala │ │ │ │ │ ├── dialogs/ │ │ │ │ │ │ ├── AlertDialogFragment.scala │ │ │ │ │ │ ├── BluetoothDialogFragment.scala │ │ │ │ │ │ ├── CollectionDialog.scala │ │ │ │ │ │ ├── MomentDialog.scala │ │ │ │ │ │ └── WifiDialogFragment.scala │ │ │ │ │ ├── drawables/ │ │ │ │ │ │ ├── BackgroundSelectedDrawable.scala │ │ │ │ │ │ ├── CharDrawable.scala │ │ │ │ │ │ ├── DottedDrawable.scala │ │ │ │ │ │ ├── DrawerAnimationBackgroundDrawable.scala │ │ │ │ │ │ ├── DrawerBackgroundDrawable.scala │ │ │ │ │ │ ├── DropBackgroundDrawable.scala │ │ │ │ │ │ ├── EdgeWorkspaceDrawable.scala │ │ │ │ │ │ ├── PathMorphDrawable.scala │ │ │ │ │ │ ├── RippleCollectionDrawable.scala │ │ │ │ │ │ ├── TopBarMomentBackgroundDrawable.scala │ │ │ │ │ │ ├── TopBarMomentEdgeBackgroundDrawable.scala │ │ │ │ │ │ └── tweaks/ │ │ │ │ │ │ └── PathMorphDrawableTweaks.scala │ │ │ │ │ ├── layouts/ │ │ │ │ │ │ ├── AnimatedWorkSpaces.scala │ │ │ │ │ │ ├── AppsMomentLayout.scala │ │ │ │ │ │ ├── CollectionActionsPanelLayout.scala │ │ │ │ │ │ ├── DialogToolbar.scala │ │ │ │ │ │ ├── DockAppsPanelLayout.scala │ │ │ │ │ │ ├── EditDeviceMomentLayout.scala │ │ │ │ │ │ ├── EditHourMomentLayout.scala │ │ │ │ │ │ ├── FabItemMenu.scala │ │ │ │ │ │ ├── FastScrollerLayout.scala │ │ │ │ │ │ ├── LauncherWorkSpaces.scala │ │ │ │ │ │ ├── PullToCloseView.scala │ │ │ │ │ │ ├── PullToDownView.scala │ │ │ │ │ │ ├── PullToTabsView.scala │ │ │ │ │ │ ├── SearchBoxView.scala │ │ │ │ │ │ ├── SlidingTabLayout.scala │ │ │ │ │ │ ├── StepsWorkspaces.scala │ │ │ │ │ │ ├── TopBarLayout.scala │ │ │ │ │ │ ├── WizardInlineWorkspaces.scala │ │ │ │ │ │ ├── WorkSpaceButton.scala │ │ │ │ │ │ ├── WorkspaceItemMenu.scala │ │ │ │ │ │ ├── snails/ │ │ │ │ │ │ │ └── LayoutSnails.scala │ │ │ │ │ │ └── tweaks/ │ │ │ │ │ │ └── LayoutsTweaks.scala │ │ │ │ │ ├── models/ │ │ │ │ │ │ └── LauncherData.scala │ │ │ │ │ ├── preferences/ │ │ │ │ │ │ ├── AboutHeaderPreference.scala │ │ │ │ │ │ └── TeamPreference.scala │ │ │ │ │ └── widgets/ │ │ │ │ │ ├── CollectionCheckBox.scala │ │ │ │ │ ├── CollectionRecyclerView.scala │ │ │ │ │ ├── DrawerRecyclerView.scala │ │ │ │ │ ├── LauncherNoConfiguredWidgetView.scala │ │ │ │ │ ├── LauncherWidgetResizeFrame.scala │ │ │ │ │ ├── LauncherWidgetView.scala │ │ │ │ │ ├── ScrollingLinearLayoutManager.scala │ │ │ │ │ ├── TintableButton.scala │ │ │ │ │ ├── TintableImageView.scala │ │ │ │ │ ├── WizardCheckBox.scala │ │ │ │ │ ├── WizardMomentCheckBox.scala │ │ │ │ │ ├── WizardWifiCheckBox.scala │ │ │ │ │ └── tweaks/ │ │ │ │ │ └── WidgetsTweaks.scala │ │ │ │ ├── launcher/ │ │ │ │ │ ├── LauncherActivity.scala │ │ │ │ │ ├── exceptions/ │ │ │ │ │ │ └── LauncherExceptions.scala │ │ │ │ │ ├── holders/ │ │ │ │ │ │ ├── LauncherWorkSpaceCollectionsHolder.scala │ │ │ │ │ │ └── LauncherWorkSpaceMomentsHolder.scala │ │ │ │ │ ├── jobs/ │ │ │ │ │ │ ├── AppDrawerJobs.scala │ │ │ │ │ │ ├── DragJobs.scala │ │ │ │ │ │ ├── LauncherJobs.scala │ │ │ │ │ │ ├── NavigationJobs.scala │ │ │ │ │ │ ├── WidgetsJobs.scala │ │ │ │ │ │ └── uiactions/ │ │ │ │ │ │ ├── AppDrawerUiActions.scala │ │ │ │ │ │ ├── DockAppsUiActions.scala │ │ │ │ │ │ ├── DragUiActions.scala │ │ │ │ │ │ ├── LauncherDOM.scala │ │ │ │ │ │ ├── LauncherUiActions.scala │ │ │ │ │ │ ├── MenuDrawersUiActions.scala │ │ │ │ │ │ ├── NavigationUiActions.scala │ │ │ │ │ │ ├── TopBarUiActions.scala │ │ │ │ │ │ ├── WidgetUiActions.scala │ │ │ │ │ │ └── WorkspaceUiActions.scala │ │ │ │ │ ├── snails/ │ │ │ │ │ │ ├── DrawerSnails.scala │ │ │ │ │ │ └── LauncherSnails.scala │ │ │ │ │ └── types/ │ │ │ │ │ ├── AppDrawerIconShadowBuilder.scala │ │ │ │ │ ├── CollectionShadowBuilder.scala │ │ │ │ │ ├── DragLauncherType.scala │ │ │ │ │ ├── DragObject.scala │ │ │ │ │ ├── MenuOptions.scala │ │ │ │ │ └── WidgetShadowBuilder.scala │ │ │ │ ├── preferences/ │ │ │ │ │ ├── NineCardsPreferencesActivity.scala │ │ │ │ │ ├── PreferencesJobs.scala │ │ │ │ │ ├── PreferencesUiActions.scala │ │ │ │ │ ├── about/ │ │ │ │ │ │ └── AboutFragment.scala │ │ │ │ │ ├── analytics/ │ │ │ │ │ │ └── AnalyticsFragment.scala │ │ │ │ │ ├── animations/ │ │ │ │ │ │ └── AnimationsFragment.scala │ │ │ │ │ ├── appdrawer/ │ │ │ │ │ │ ├── AppDrawerFragment.scala │ │ │ │ │ │ ├── AppDrawerJobs.scala │ │ │ │ │ │ └── AppDrawerUiActions.scala │ │ │ │ │ ├── commons/ │ │ │ │ │ │ ├── FindPreferences.scala │ │ │ │ │ │ ├── NineCardsPreferences.scala │ │ │ │ │ │ ├── NineCardsPreferencesValues.scala │ │ │ │ │ │ └── PreferenceChangeListenerFragment.scala │ │ │ │ │ ├── developers/ │ │ │ │ │ │ ├── AppsListFragment.scala │ │ │ │ │ │ ├── AppsListJobs.scala │ │ │ │ │ │ ├── AppsListUiActions.scala │ │ │ │ │ │ ├── DeveloperFragment.scala │ │ │ │ │ │ ├── DeveloperJobs.scala │ │ │ │ │ │ └── DeveloperUiActions.scala │ │ │ │ │ ├── lookandfeel/ │ │ │ │ │ │ └── LookFeelFragment.scala │ │ │ │ │ └── moments/ │ │ │ │ │ └── MomentsFragment.scala │ │ │ │ ├── profile/ │ │ │ │ │ ├── ProfileActivity.scala │ │ │ │ │ ├── adapters/ │ │ │ │ │ │ ├── AccountsAdapter.scala │ │ │ │ │ │ ├── EmptyProfileAdapter.scala │ │ │ │ │ │ └── SubscriptionsAdapter.scala │ │ │ │ │ ├── dialog/ │ │ │ │ │ │ ├── EditAccountDeviceDialogFragment.scala │ │ │ │ │ │ └── RemoveAccountDeviceDialogFragment.scala │ │ │ │ │ ├── jobs/ │ │ │ │ │ │ ├── ProfileDOM.scala │ │ │ │ │ │ ├── ProfileJobs.scala │ │ │ │ │ │ └── ProfileUiActions.scala │ │ │ │ │ └── models/ │ │ │ │ │ └── Model.scala │ │ │ │ ├── share/ │ │ │ │ │ ├── SharedContentActivity.scala │ │ │ │ │ ├── SharedContentJobs.scala │ │ │ │ │ ├── SharedContentUiActions.scala │ │ │ │ │ └── models/ │ │ │ │ │ └── Models.scala │ │ │ │ └── wizard/ │ │ │ │ ├── WizardActivity.scala │ │ │ │ ├── WizardExceptions.scala │ │ │ │ ├── jobs/ │ │ │ │ │ ├── LoadConfigurationJobs.scala │ │ │ │ │ ├── NewConfigurationJobs.scala │ │ │ │ │ ├── WizardJobs.scala │ │ │ │ │ └── uiactions/ │ │ │ │ │ ├── NewConfigurationUiActions.scala │ │ │ │ │ ├── VisibilityUiActions.scala │ │ │ │ │ ├── WizardDOM.scala │ │ │ │ │ └── WizardUiActions.scala │ │ │ │ └── models/ │ │ │ │ └── Models.scala │ │ │ ├── process/ │ │ │ │ ├── cloud/ │ │ │ │ │ ├── CloudStorageProcess.scala │ │ │ │ │ ├── Conversions.scala │ │ │ │ │ ├── Exceptions.scala │ │ │ │ │ ├── impl/ │ │ │ │ │ │ └── CloudStorageProcessImpl.scala │ │ │ │ │ └── models/ │ │ │ │ │ └── CloudStorageImplicits.scala │ │ │ │ ├── commons/ │ │ │ │ │ └── Models.scala │ │ │ │ ├── social/ │ │ │ │ │ ├── Exceptions.scala │ │ │ │ │ ├── SocialProfileProcess.scala │ │ │ │ │ └── impl/ │ │ │ │ │ └── SocialProfileProcessImpl.scala │ │ │ │ └── thirdparty/ │ │ │ │ ├── Exceptions.scala │ │ │ │ └── ExternalServicesProcess.scala │ │ │ └── services/ │ │ │ ├── analytics/ │ │ │ │ └── impl/ │ │ │ │ └── AnalyticsTrackServices.scala │ │ │ ├── awareness/ │ │ │ │ └── impl/ │ │ │ │ ├── GoogleAwarenessServicesImpl.scala │ │ │ │ └── Models.scala │ │ │ ├── drive/ │ │ │ │ ├── Conversions.scala │ │ │ │ ├── DriveServices.scala │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── impl/ │ │ │ │ │ └── DriveServicesImpl.scala │ │ │ │ └── models/ │ │ │ │ └── DriveServicesModels.scala │ │ │ ├── permissions/ │ │ │ │ └── impl/ │ │ │ │ └── AndroidSupportPermissionsServices.scala │ │ │ └── plus/ │ │ │ ├── Exceptions.scala │ │ │ ├── GooglePlusServices.scala │ │ │ ├── impl/ │ │ │ │ └── GooglePlusServicesImpl.scala │ │ │ └── models/ │ │ │ └── Model.scala │ │ └── test/ │ │ └── scala/ │ │ └── cards/ │ │ └── nine/ │ │ ├── app/ │ │ │ ├── observers/ │ │ │ │ └── ObserverRegisterSpecification.scala │ │ │ ├── receivers/ │ │ │ │ └── bluetooth/ │ │ │ │ ├── BluetoothContextSupport.scala │ │ │ │ └── BluetoothJobsSpecification.scala │ │ │ └── ui/ │ │ │ ├── applinks/ │ │ │ │ └── AppLinksReceiverJobsSpec.scala │ │ │ ├── collections/ │ │ │ │ └── jobs/ │ │ │ │ ├── GroupCollectionsJobsSpecification.scala │ │ │ │ ├── NavigationJobsSpecification.scala │ │ │ │ ├── ShareCollectionJobsSpecification.scala │ │ │ │ ├── SingleCollectionJobsSpecification.scala │ │ │ │ └── ToolbarJobsSpecification.scala │ │ │ ├── commons/ │ │ │ │ ├── JobsSpec.scala │ │ │ │ └── dialogs/ │ │ │ │ ├── addMoment/ │ │ │ │ │ └── AddMomentJobsSpec.scala │ │ │ │ ├── apps/ │ │ │ │ │ └── AppsJobsSpec.scala │ │ │ │ ├── contacts/ │ │ │ │ │ └── ContactsJobsSpec.scala │ │ │ │ ├── editmoment/ │ │ │ │ │ └── EditMomentJobsSpec.scala │ │ │ │ ├── privatecollections/ │ │ │ │ │ └── PrivateCollectionsJobsSpec.scala │ │ │ │ ├── publicCollections/ │ │ │ │ │ └── PublicCollectionsJobsJobsSpec.scala │ │ │ │ ├── recommendations/ │ │ │ │ │ └── RecommendationsJobsSpec.scala │ │ │ │ ├── shortcuts/ │ │ │ │ │ └── ShortcutJobsSpec.scala │ │ │ │ └── widgets/ │ │ │ │ └── WidgetsDialogJobsSpec.scala │ │ │ ├── data/ │ │ │ │ └── IterableData.scala │ │ │ ├── launcher/ │ │ │ │ └── jobs/ │ │ │ │ ├── AppDrawerJobsSpecification.scala │ │ │ │ ├── DragJobsSpecification.scala │ │ │ │ ├── LauncherJobsSpecification.scala │ │ │ │ ├── LauncherTestData.scala │ │ │ │ ├── NavigationJobsSpecification.scala │ │ │ │ └── WidgetJobsSpecification.scala │ │ │ ├── profile/ │ │ │ │ └── jobs/ │ │ │ │ └── ProfileJobsSpec.scala │ │ │ └── wizard/ │ │ │ └── jobs/ │ │ │ ├── LoadConfigurationJobsSpec.scala │ │ │ ├── NewConfigurationJobsSpecification.scala │ │ │ └── WizardJobsSpecification.scala │ │ └── process/ │ │ ├── cloud/ │ │ │ └── impl/ │ │ │ ├── CloudStorageProcessImplData.scala │ │ │ └── CloudStorageProcessImplSpecification.scala │ │ └── social/ │ │ └── impl/ │ │ ├── SocialProfileProcessImplData.scala │ │ └── SocialProfileProcessImplSpecification.scala │ ├── commons/ │ │ ├── build.sbt │ │ └── src/ │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── scala/ │ │ │ └── cards/ │ │ │ └── nine/ │ │ │ └── commons/ │ │ │ ├── CatchAll.scala │ │ │ ├── NineCardExtensions.scala │ │ │ ├── contentresolver/ │ │ │ │ ├── ContentResolverWrapper.scala │ │ │ │ ├── Conversions.scala │ │ │ │ ├── NotificationUri.scala │ │ │ │ └── UriCreator.scala │ │ │ ├── contexts/ │ │ │ │ └── ContextSupport.scala │ │ │ ├── ops/ │ │ │ │ ├── ColorOps.scala │ │ │ │ └── SeqOps.scala │ │ │ ├── package.scala │ │ │ ├── services/ │ │ │ │ └── package.scala │ │ │ └── utils/ │ │ │ ├── Exceptions.scala │ │ │ ├── FileUtils.scala │ │ │ ├── StreamWrapper.scala │ │ │ └── impl/ │ │ │ └── StreamWrapperImpl.scala │ │ └── test/ │ │ └── scala/ │ │ └── cards/ │ │ └── nine/ │ │ └── commons/ │ │ └── utils/ │ │ ├── FileUtilsData.scala │ │ ├── FileUtilsSpec.scala │ │ └── impl/ │ │ └── StreamWrapperImplSpec.scala │ ├── commons-tests/ │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ └── cards/ │ │ └── nine/ │ │ └── commons/ │ │ └── test/ │ │ ├── TaskServiceTestOps.scala │ │ ├── data/ │ │ │ ├── ApiTestData.scala │ │ │ ├── ApiV1TestData.scala │ │ │ ├── AppWidgetTestData.scala │ │ │ ├── ApplicationTestData.scala │ │ │ ├── CardTestData.scala │ │ │ ├── CloudStorageTestData.scala │ │ │ ├── CollectionTestData.scala │ │ │ ├── Constants.scala │ │ │ ├── DeviceTestData.scala │ │ │ ├── DockAppTestData.scala │ │ │ ├── LauncherExecutorTestData.scala │ │ │ ├── MomentTestData.scala │ │ │ ├── SharedCollectionTestData.scala │ │ │ ├── UserTestData.scala │ │ │ ├── WidgetTestData.scala │ │ │ └── trackevent/ │ │ │ ├── AppDrawerTrackEventTestData.scala │ │ │ ├── CollectionDetailTrackEventTestData.scala │ │ │ ├── HomeTrackEventTestData.scala │ │ │ ├── LauncherTrackEventTestData.scala │ │ │ ├── MomentsTrackEventTestData.scala │ │ │ ├── ProfileTrackEventTestData.scala │ │ │ ├── SliderMenuTrackEventTestData.scala │ │ │ ├── WidgetTrackEventTestData.scala │ │ │ └── WizardTrackEventTestData.scala │ │ └── repository/ │ │ └── MockCursor.scala │ ├── docs/ │ │ └── src/ │ │ └── main/ │ │ ├── resources/ │ │ │ └── microsite/ │ │ │ ├── css/ │ │ │ │ └── custom.css │ │ │ ├── data/ │ │ │ │ └── menu.yml │ │ │ ├── img/ │ │ │ │ ├── gallery1.webm │ │ │ │ ├── gallery2.webm │ │ │ │ └── gallery3.webm │ │ │ ├── includes/ │ │ │ │ ├── ninecards-footer.html │ │ │ │ └── ninecards-header.html │ │ │ └── layouts/ │ │ │ └── ninecards-home.html │ │ └── tut/ │ │ ├── CNAME │ │ ├── docs/ │ │ │ ├── Client.md │ │ │ ├── Libraries.md │ │ │ ├── Server.md │ │ │ ├── client/ │ │ │ │ ├── Architecture.md │ │ │ │ ├── CloudStorage.md │ │ │ │ ├── Database.md │ │ │ │ └── Installation.md │ │ │ ├── index.md │ │ │ └── server/ │ │ │ ├── Architecture.md │ │ │ ├── Authentication.md │ │ │ ├── Cache.md │ │ │ ├── Ednpoints.md │ │ │ └── Installation.md │ │ └── index.md │ ├── mock-android/ │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── android/ │ │ ├── accounts/ │ │ │ ├── Account.java │ │ │ ├── AccountManager.java │ │ │ ├── AccountsException.java │ │ │ └── OperationCanceledException.java │ │ ├── app/ │ │ │ └── Activity.java │ │ ├── content/ │ │ │ ├── ComponentName.java │ │ │ ├── ContentResolver.java │ │ │ ├── Intent.java │ │ │ └── res/ │ │ │ └── AssetManager.java │ │ ├── database/ │ │ │ └── ContentObserver.java │ │ ├── graphics/ │ │ │ ├── Bitmap.java │ │ │ ├── Color.java │ │ │ ├── Rect.java │ │ │ └── drawable/ │ │ │ └── Drawable.java │ │ ├── media/ │ │ │ └── ThumbnailUtils.java │ │ ├── net/ │ │ │ └── wifi/ │ │ │ └── WifiConfiguration.java │ │ ├── os/ │ │ │ ├── Bundle.java │ │ │ ├── Handler.java │ │ │ └── Looper.java │ │ ├── util/ │ │ │ └── Log.java │ │ └── view/ │ │ ├── SearchEvent.java │ │ └── View.java │ ├── models/ │ │ └── src/ │ │ └── main/ │ │ └── scala/ │ │ └── cards/ │ │ └── nine/ │ │ └── models/ │ │ ├── Api.scala │ │ ├── ApiV1.scala │ │ ├── Application.scala │ │ ├── Awareness.scala │ │ ├── BitmapPath.scala │ │ ├── Call.scala │ │ ├── Card.scala │ │ ├── CloudStorage.scala │ │ ├── Collection.scala │ │ ├── CollectionProcessConfig.scala │ │ ├── Contact.scala │ │ ├── Conversions.scala │ │ ├── DockApp.scala │ │ ├── IconResize.scala │ │ ├── Intent.scala │ │ ├── IterableCursor.scala │ │ ├── Iterables.scala │ │ ├── LauncherExecutorProcessConfig.scala │ │ ├── Moment.scala │ │ ├── NineCardsBluetoothDevice.scala │ │ ├── NineCardsIntent.scala │ │ ├── NineCardsIntentConversions.scala │ │ ├── Rank.scala │ │ ├── SharedCollection.scala │ │ ├── ShortCut.scala │ │ ├── TermCounter.scala │ │ ├── Theme.scala │ │ ├── TrackEvent.scala │ │ ├── User.scala │ │ ├── Widget.scala │ │ ├── package.scala │ │ ├── reads/ │ │ │ └── MomentImplicits.scala │ │ └── types/ │ │ ├── Action.scala │ │ ├── AppPermission.scala │ │ ├── AwarenessFenceUpdate.scala │ │ ├── BluetoothType.scala │ │ ├── CallType.scala │ │ ├── CardType.scala │ │ ├── Category.scala │ │ ├── CollectionType.scala │ │ ├── ConditionWeather.scala │ │ ├── ContactsFilter.scala │ │ ├── DialogToolbarType.scala │ │ ├── DockType.scala │ │ ├── EmailCategory.scala │ │ ├── FetchAppOrder.scala │ │ ├── GetAppOrder.scala │ │ ├── KindActivity.scala │ │ ├── Label.scala │ │ ├── NineCardsCategory.scala │ │ ├── NineCardsMoment.scala │ │ ├── Permission.scala │ │ ├── PhoneCategory.scala │ │ ├── PublicCollectionStatus.scala │ │ ├── Screen.scala │ │ ├── TypeSharedCollection.scala │ │ ├── Value.scala │ │ ├── WidgetResizeMode.scala │ │ ├── WidgetType.scala │ │ ├── json/ │ │ │ ├── CollectionTypeImplicits.scala │ │ │ ├── DockTypeImplicits.scala │ │ │ ├── NineCardCategoryImplicits.scala │ │ │ ├── NineCardsMomentImplicits.scala │ │ │ └── WidgetTypeImplicits.scala │ │ └── theme/ │ │ ├── ThemeStyleType.scala │ │ └── ThemeType.scala │ ├── process/ │ │ ├── build.sbt │ │ └── src/ │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets/ │ │ │ │ ├── theme_dark.json │ │ │ │ └── theme_light.json │ │ │ └── scala/ │ │ │ └── cards/ │ │ │ └── nine/ │ │ │ └── process/ │ │ │ ├── accounts/ │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── UserAccountsProcess.scala │ │ │ │ └── impl/ │ │ │ │ └── UserAccountsProcessImpl.scala │ │ │ ├── collection/ │ │ │ │ ├── CollectionProcess.scala │ │ │ │ ├── CollectionsExceptions.scala │ │ │ │ └── impl/ │ │ │ │ ├── CardsProcessImpl.scala │ │ │ │ ├── CollectionProcessDependencies.scala │ │ │ │ ├── CollectionProcessImpl.scala │ │ │ │ └── CollectionsProcessImpl.scala │ │ │ ├── device/ │ │ │ │ ├── DeviceExceptions.scala │ │ │ │ ├── DeviceProcess.scala │ │ │ │ └── impl/ │ │ │ │ ├── AppsDeviceProcessImpl.scala │ │ │ │ ├── ContactsDeviceProcessImpl.scala │ │ │ │ ├── DeviceProcessDependencies.scala │ │ │ │ ├── DeviceProcessImpl.scala │ │ │ │ ├── DockAppsDeviceProcessImpl.scala │ │ │ │ ├── LastCallsDeviceProcessImpl.scala │ │ │ │ ├── ResetProcessImpl.scala │ │ │ │ ├── ShortcutsDeviceProcessImpl.scala │ │ │ │ └── WidgetsDeviceProcessImpl.scala │ │ │ ├── intents/ │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── LauncherExecutorProcess.scala │ │ │ │ └── impl/ │ │ │ │ └── LauncherExecutorProcessImpl.scala │ │ │ ├── moment/ │ │ │ │ ├── MomentException.scala │ │ │ │ ├── MomentProcess.scala │ │ │ │ └── impl/ │ │ │ │ └── MomentProcessImpl.scala │ │ │ ├── recognition/ │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── RecognitionProcess.scala │ │ │ │ └── impl/ │ │ │ │ └── RecognitionProcessImpl.scala │ │ │ ├── recommendations/ │ │ │ │ ├── RecommendationsExceptions.scala │ │ │ │ ├── RecommendationsProcess.scala │ │ │ │ └── impl/ │ │ │ │ └── RecommendationsProcessImpl.scala │ │ │ ├── sharedcollections/ │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── SharedCollectionsProcess.scala │ │ │ │ └── impl/ │ │ │ │ └── SharedCollectionsProcessImpl.scala │ │ │ ├── theme/ │ │ │ │ ├── ThemeExceptions.scala │ │ │ │ ├── ThemeProcess.scala │ │ │ │ └── impl/ │ │ │ │ └── ThemeProcessImpl.scala │ │ │ ├── trackevent/ │ │ │ │ ├── Exceptions.scala │ │ │ │ ├── TrackEventProcess.scala │ │ │ │ └── impl/ │ │ │ │ ├── AppDrawerEventProcessImpl.scala │ │ │ │ ├── CollectionDetailTrackEventProcessImpl.scala │ │ │ │ ├── HomeTrackEventProcessImpl.scala │ │ │ │ ├── LauncherTrackEventProcessImpl.scala │ │ │ │ ├── MomentsTrackEventProcessImpl.scala │ │ │ │ ├── ProfileTrackEventProcessImpl.scala │ │ │ │ ├── SliderMenuTrackEventProcessImpl.scala │ │ │ │ ├── TrackEventDependencies.scala │ │ │ │ ├── TrackEventProcessImpl.scala │ │ │ │ ├── WidgetTrackEventProcessImpl.scala │ │ │ │ └── WizardTrackEventProcessImpl.scala │ │ │ ├── user/ │ │ │ │ ├── UserExceptions.scala │ │ │ │ ├── UserProcess.scala │ │ │ │ └── impl/ │ │ │ │ └── UserProcessImpl.scala │ │ │ ├── userv1/ │ │ │ │ ├── UserV1Exceptions.scala │ │ │ │ ├── UserV1Process.scala │ │ │ │ └── impl/ │ │ │ │ └── UserV1ProcessImpl.scala │ │ │ ├── utils/ │ │ │ │ └── ApiUtils.scala │ │ │ └── widget/ │ │ │ ├── AppWidgetException.scala │ │ │ ├── WidgetProcess.scala │ │ │ └── impl/ │ │ │ └── WidgetProcessImpl.scala │ │ └── test/ │ │ └── scala/ │ │ └── cards/ │ │ └── nine/ │ │ └── process/ │ │ ├── accounts/ │ │ │ └── impl/ │ │ │ ├── UserAccountsProcessImplData.scala │ │ │ └── UserAccountsProcessImplSpecification.scala │ │ ├── collection/ │ │ │ └── impl/ │ │ │ └── CollectionProcessImplSpec.scala │ │ ├── device/ │ │ │ └── impl/ │ │ │ ├── DeviceProcessData.scala │ │ │ └── DeviceProcessImplSpec.scala │ │ ├── intents/ │ │ │ └── impl/ │ │ │ └── LauncherExecutorProcessImplSpec.scala │ │ ├── moment/ │ │ │ └── impl/ │ │ │ ├── MomentProcessImplData.scala │ │ │ └── MomentProcessImplSpec.scala │ │ ├── recognition/ │ │ │ └── impl/ │ │ │ ├── RecognitionProcessData.scala │ │ │ └── RecognitionProcessImplSpec.scala │ │ ├── recommendations/ │ │ │ └── impl/ │ │ │ └── RecommendationsProcessSpec.scala │ │ ├── sharedcollections/ │ │ │ └── impl/ │ │ │ └── SharedCollectionsProcessImplSpec.scala │ │ ├── theme/ │ │ │ └── impl/ │ │ │ ├── ThemeProcessData.scala │ │ │ └── ThemeProcessImplSpec.scala │ │ ├── trackevent/ │ │ │ └── impl/ │ │ │ ├── AppDrawerTrackEventProcessImplSpec.scala │ │ │ ├── CollectionDetailTrackEventProcessImplSpec.scala │ │ │ ├── HomeTrackEventProcessImplSpec.scala │ │ │ ├── LauncherTrackEventProcessImplSpec.scala │ │ │ ├── MomentsTrackEventProcessImplSpec.scala │ │ │ ├── ProfileTrackEventProcessImplSpec.scala │ │ │ ├── SliderMenuTrackEventProcessImplSpec.scala │ │ │ ├── WidgetTrackEventProcessImplSpec.scala │ │ │ └── WizardTrackEventProcessImplSpec.scala │ │ ├── user/ │ │ │ └── impl/ │ │ │ └── UserProcessImplSpec.scala │ │ ├── userv1/ │ │ │ └── impl/ │ │ │ └── UserV1ProcessImplSpec.scala │ │ ├── utils/ │ │ │ └── ApiUtilsSpec.scala │ │ └── widget/ │ │ └── impl/ │ │ └── WidgetProcessImplSpec.scala │ ├── repository/ │ │ ├── build.sbt │ │ └── src/ │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── scala/ │ │ │ └── cards/ │ │ │ └── nine/ │ │ │ └── repository/ │ │ │ ├── Conversions.scala │ │ │ ├── Exceptions.scala │ │ │ ├── model/ │ │ │ │ └── Model.scala │ │ │ ├── provider/ │ │ │ │ ├── AppEntity.scala │ │ │ │ ├── CardEntity.scala │ │ │ │ ├── CollectionEntity.scala │ │ │ │ ├── DockAppEntity.scala │ │ │ │ ├── MomentEntity.scala │ │ │ │ ├── NineCardsContentProvider.scala │ │ │ │ ├── NineCardsSqlHelper.scala │ │ │ │ ├── NineCardsUri.scala │ │ │ │ ├── UserEntity.scala │ │ │ │ └── WidgetEntity.scala │ │ │ └── repositories/ │ │ │ ├── AppRepository.scala │ │ │ ├── CardRepository.scala │ │ │ ├── CollectionRepository.scala │ │ │ ├── DockAppRepository.scala │ │ │ ├── MomentRepository.scala │ │ │ ├── RepositoryUtils.scala │ │ │ ├── UserRepository.scala │ │ │ └── WidgetRepository.scala │ │ └── test/ │ │ └── scala/ │ │ └── cards/ │ │ └── nine/ │ │ └── repository/ │ │ ├── app/ │ │ │ ├── AppRepositorySpec.scala │ │ │ └── AppRepositoryTestData.scala │ │ ├── card/ │ │ │ ├── CardRepositorySpec.scala │ │ │ └── CardRepositoryTestData.scala │ │ ├── collection/ │ │ │ ├── CollectionRepositorySpec.scala │ │ │ └── CollectionRepositoryTestData.scala │ │ ├── dockapp/ │ │ │ ├── DockAppRepositorySpec.scala │ │ │ └── DockAppRepositoryTestData.scala │ │ ├── moment/ │ │ │ ├── MomentRepositorySpec.scala │ │ │ └── MomentRepositoryTestData.scala │ │ ├── user/ │ │ │ ├── UserRepositorySpec.scala │ │ │ └── UserRepositoryTestData.scala │ │ └── widget/ │ │ ├── WidgetRepositorySpec.scala │ │ └── WidgetRepositoryTestData.scala │ └── services/ │ ├── build.sbt │ └── src/ │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── cards/ │ │ │ └── nine/ │ │ │ └── services/ │ │ │ └── contacts/ │ │ │ └── Fields.java │ │ └── scala/ │ │ └── cards/ │ │ └── nine/ │ │ └── services/ │ │ ├── api/ │ │ │ ├── ApiServices.scala │ │ │ ├── Conversions.scala │ │ │ ├── Exceptions.scala │ │ │ └── impl/ │ │ │ └── ApiServicesImpl.scala │ │ ├── apps/ │ │ │ ├── AppsServices.scala │ │ │ ├── Exceptions.scala │ │ │ └── impl/ │ │ │ └── AppsServicesImpl.scala │ │ ├── awareness/ │ │ │ ├── AwarenessServices.scala │ │ │ └── Exceptions.scala │ │ ├── calls/ │ │ │ ├── CallsContentProvider.scala │ │ │ ├── CallsServices.scala │ │ │ ├── Exceptions.scala │ │ │ └── impl/ │ │ │ └── CallsServicesImpl.scala │ │ ├── connectivity/ │ │ │ ├── ConnectivityServices.scala │ │ │ ├── Exceptions.scala │ │ │ └── impl/ │ │ │ └── ConnectivityServicesImpl.scala │ │ ├── contacts/ │ │ │ ├── ContactsContentProvider.scala │ │ │ ├── ContactsServices.scala │ │ │ ├── Exceptions.scala │ │ │ └── impl/ │ │ │ └── ContactsServicesImpl.scala │ │ ├── image/ │ │ │ ├── Exceptions.scala │ │ │ ├── ImageServices.scala │ │ │ └── impl/ │ │ │ ├── ImageServicesImpl.scala │ │ │ └── ImageServicesTasks.scala │ │ ├── intents/ │ │ │ ├── Exceptions.scala │ │ │ ├── LauncherIntentServices.scala │ │ │ └── impl/ │ │ │ ├── IntentCreator.scala │ │ │ └── LauncherIntentServicesImpl.scala │ │ ├── permissions/ │ │ │ ├── Exceptions.scala │ │ │ └── PermissionsServices.scala │ │ ├── persistence/ │ │ │ ├── Exceptions.scala │ │ │ ├── PersistenceServices.scala │ │ │ ├── conversions/ │ │ │ │ ├── AppConversions.scala │ │ │ │ ├── CardConversions.scala │ │ │ │ ├── CollectionConversions.scala │ │ │ │ ├── Conversions.scala │ │ │ │ ├── DockAppConversions.scala │ │ │ │ ├── MomentConversions.scala │ │ │ │ ├── UserConversions.scala │ │ │ │ └── WidgetConversions.scala │ │ │ └── impl/ │ │ │ ├── AndroidPersistenceServicesImpl.scala │ │ │ ├── AppPersistenceServicesImpl.scala │ │ │ ├── CardPersistenceServicesImpl.scala │ │ │ ├── CollectionPersistenceServicesImpl.scala │ │ │ ├── DockAppPersistenceServicesImpl.scala │ │ │ ├── MomentPersistenceServicesImpl.scala │ │ │ ├── PersistenceDependencies.scala │ │ │ ├── PersistenceServicesImpl.scala │ │ │ ├── UserPersistenceServicesImpl.scala │ │ │ └── WidgetPersistenceServicesImpl.scala │ │ ├── shortcuts/ │ │ │ ├── Exceptions.scala │ │ │ ├── ShortCutsServices.scala │ │ │ └── impl/ │ │ │ └── ShortCutsServicesImpl.scala │ │ ├── track/ │ │ │ ├── Exceptions.scala │ │ │ ├── TrackServices.scala │ │ │ └── impl/ │ │ │ ├── ConsoleTrackServices.scala │ │ │ └── DisableTrackServices.scala │ │ ├── utils/ │ │ │ └── ResourceUtils.scala │ │ └── widgets/ │ │ ├── Exceptions.scala │ │ ├── WidgetsServices.scala │ │ ├── impl/ │ │ │ └── WidgetsServicesImpl.scala │ │ └── utils/ │ │ ├── AppWidgetManagerCompat.scala │ │ └── impl/ │ │ ├── AppWidgetManagerImplDefault.scala │ │ └── AppWidgetManagerImplLollipop.scala │ └── test/ │ └── scala/ │ └── cards/ │ └── nine/ │ └── services/ │ ├── api/ │ │ └── impl/ │ │ ├── ApiServicesImplData.scala │ │ └── ApiServicesImplSpec.scala │ ├── apps/ │ │ └── impl/ │ │ ├── AppsServicesImplData.scala │ │ └── AppsServicesImplSpec.scala │ ├── calls/ │ │ └── impl/ │ │ ├── CallsServicesImplData.scala │ │ └── CallsServicesImplSpec.scala │ ├── connectivity/ │ │ └── impl/ │ │ ├── ConnectivityServicesImplData.scala │ │ └── ConnectivityServicesImplSpec.scala │ ├── contacts/ │ │ └── impl/ │ │ ├── ContactsServicesImplData.scala │ │ └── ContactsServicesImplSpec.scala │ ├── image/ │ │ └── impl/ │ │ ├── ImageServicesImplData.scala │ │ ├── ImageServicesImplSpec.scala │ │ └── ImageServicesTasksSpec.scala │ ├── intents/ │ │ └── impl/ │ │ ├── LauncherIntentServicesImplData.scala │ │ └── LauncherIntentServicesImplSpec.scala │ ├── persistence/ │ │ ├── data/ │ │ │ ├── AppPersistenceServicesData.scala │ │ │ ├── CardPersistenceServicesData.scala │ │ │ ├── CollectionPersistenceServicesData.scala │ │ │ ├── DockAppPersistenceServicesData.scala │ │ │ ├── MomentPersistenceServicesData.scala │ │ │ ├── UserPersistenceServicesData.scala │ │ │ └── WidgetPersistenceServicesData.scala │ │ └── impl/ │ │ ├── AppPersistenceServicesImplSpec.scala │ │ ├── CardPersistenceServicesImplSpec.scala │ │ ├── CollectionPersistenceServicesImplSpec.scala │ │ ├── DockAppPersistenceServicesImplSpec.scala │ │ ├── MomentPersistenceServicesImplSpec.scala │ │ ├── RepositoryServicesScope.scala │ │ ├── UserPersistenceServicesImplSpec.scala │ │ └── WidgetPersistenceServicesImplSpec.scala │ ├── shortcuts/ │ │ └── impl/ │ │ ├── ShortCutsServicesImplData.scala │ │ └── ShortCutsServicesImplSpec.scala │ ├── utils/ │ │ ├── ResourceUtilsData.scala │ │ └── ResourceUtilsSpec.scala │ └── widgets/ │ └── impl/ │ ├── WidgetsServicesImplData.scala │ ├── WidgetsServicesImplSpec.scala │ └── utils/ │ └── impl/ │ ├── AppWidgetManagerData.scala │ └── AppWidgetManagerImplDefaultSpec.scala ├── ninecards.debug.keystore ├── ninecards.properties.default ├── project/ │ ├── AppBuild.scala │ ├── Crashlytics.scala │ ├── Libraries.scala │ ├── Proguard.scala │ ├── ReplacePropertiesGenerator.scala │ ├── S3.scala │ ├── Settings.scala │ ├── Versions.scala │ ├── build.properties │ ├── plugins.sbt │ └── proguard.sbt ├── scripts/ │ ├── decrypt-keys.sh │ └── publishMicrosite.sh └── travis-deploy-key.enc