├── .gitignore
├── Android.mk
├── AndroidManifest-common.xml
├── AndroidManifest.xml
├── CleanSpec.mk
├── MODULE_LICENSE_APACHE2
├── NOTICE
├── build.gradle
├── fill_screens.py
├── print_db.py
├── proguard.flags
├── protos
└── launcher_log.proto
├── res
├── anim
│ ├── discovery_bounce.xml
│ ├── no_anim.xml
│ └── task_open_enter.xml
├── animator-v21
│ └── overview_button_anim.xml
├── drawable-hdpi
│ ├── ic_action_set.png
│ ├── ic_all_apps_bg_hand.png
│ ├── ic_allapps.png
│ ├── ic_info_launcher.png
│ ├── ic_remove_launcher.png
│ ├── ic_uninstall_launcher.png
│ ├── ic_widget_resize_handle.png
│ ├── page_hover_left.9.png
│ ├── page_hover_left_active.9.png
│ ├── page_hover_right.9.png
│ ├── page_hover_right_active.9.png
│ ├── quantum_panel_bitmap.9.png
│ ├── quantum_panel_dark_bitmap.9.png
│ ├── screenpanel.9.png
│ ├── screenpanel_hover.9.png
│ ├── virtual_preload.9.png
│ ├── virtual_preload_folder.9.png
│ ├── widget_resize_frame.9.png
│ ├── widget_resize_shadow.9.png
│ ├── widget_tile.png
│ └── workspace_bg.9.png
├── drawable-ldrtl
│ └── container_fastscroll_popup_bg.xml
├── drawable-mdpi
│ ├── ic_all_apps_bg_hand.png
│ ├── ic_allapps.png
│ ├── ic_info_launcher.png
│ ├── ic_remove_launcher.png
│ ├── ic_uninstall_launcher.png
│ ├── ic_widget_resize_handle.png
│ ├── page_hover_left.9.png
│ ├── page_hover_left_active.9.png
│ ├── page_hover_right.9.png
│ ├── page_hover_right_active.9.png
│ ├── quantum_panel_bitmap.9.png
│ ├── quantum_panel_dark_bitmap.9.png
│ ├── screenpanel.9.png
│ ├── screenpanel_hover.9.png
│ ├── virtual_preload.9.png
│ ├── virtual_preload_folder.9.png
│ ├── widget_resize_frame.9.png
│ ├── widget_resize_shadow.9.png
│ ├── widget_tile.png
│ └── workspace_bg.9.png
├── drawable-v21
│ ├── quantum_panel.xml
│ └── quantum_panel_dark.xml
├── drawable-xhdpi
│ ├── ic_action_set.png
│ ├── ic_all_apps_bg_hand.png
│ ├── ic_allapps.png
│ ├── ic_info_launcher.png
│ ├── ic_remove_launcher.png
│ ├── ic_reset.png
│ ├── ic_uninstall_launcher.png
│ ├── ic_widget_resize_handle.png
│ ├── page_hover_left.9.png
│ ├── page_hover_left_active.9.png
│ ├── page_hover_right.9.png
│ ├── page_hover_right_active.9.png
│ ├── quantum_panel_bitmap.9.png
│ ├── quantum_panel_dark_bitmap.9.png
│ ├── screenpanel.9.png
│ ├── screenpanel_hover.9.png
│ ├── virtual_preload.9.png
│ ├── virtual_preload_folder.9.png
│ ├── widget_resize_frame.9.png
│ ├── widget_resize_shadow.9.png
│ ├── widget_tile.png
│ └── workspace_bg.9.png
├── drawable-xxhdpi
│ ├── ic_action_set.png
│ ├── ic_all_apps_bg_hand.png
│ ├── ic_allapps.png
│ ├── ic_info_launcher.png
│ ├── ic_remove_launcher.png
│ ├── ic_uninstall_launcher.png
│ ├── ic_widget_resize_handle.png
│ ├── page_hover_left.9.png
│ ├── page_hover_left_active.9.png
│ ├── page_hover_right.9.png
│ ├── page_hover_right_active.9.png
│ ├── quantum_panel_bitmap.9.png
│ ├── quantum_panel_dark_bitmap.9.png
│ ├── screenpanel.9.png
│ ├── screenpanel_hover.9.png
│ ├── virtual_preload.9.png
│ ├── virtual_preload_folder.9.png
│ ├── widget_resize_frame.9.png
│ ├── widget_resize_shadow.9.png
│ ├── widget_tile.png
│ └── workspace_bg.9.png
├── drawable-xxxhdpi
│ ├── ic_all_apps_bg_hand.png
│ ├── ic_info_launcher.png
│ ├── ic_remove_launcher.png
│ ├── ic_uninstall_launcher.png
│ ├── ic_widget_resize_handle.png
│ ├── quantum_panel_bitmap.9.png
│ ├── quantum_panel_dark_bitmap.9.png
│ ├── widget_resize_frame.9.png
│ ├── widget_resize_shadow.9.png
│ └── workspace_bg.9.png
├── drawable
│ ├── activities_icon.png
│ ├── all_apps_divider.xml
│ ├── all_apps_search_divider.xml
│ ├── all_apps_search_hint.xml
│ ├── bg_celllayout.xml
│ ├── bg_pill_focused.xml
│ ├── bg_screenpanel.xml
│ ├── bg_white_pill.xml
│ ├── container_fastscroll_popup_bg.xml
│ ├── deep_shortcuts_drag_handle.xml
│ ├── ic_all_apps_bg_icon_1.xml
│ ├── ic_all_apps_bg_icon_2.xml
│ ├── ic_all_apps_bg_icon_3.xml
│ ├── ic_all_apps_bg_icon_4.xml
│ ├── ic_allapps_search.xml
│ ├── ic_setting.xml
│ ├── ic_wallpaper.xml
│ ├── ic_widget.xml
│ ├── quantum_panel.xml
│ ├── quantum_panel_dark.xml
│ ├── quantum_panel_shape.xml
│ ├── quantum_panel_shape_dark.xml
│ ├── widget_internal_focus_bg.xml
│ └── widgets_row_divider.xml
├── interpolator
│ ├── decelerate_quart.xml
│ ├── decelerate_quint.xml
│ ├── disco_bounce_section1.xml
│ ├── disco_bounce_section2.xml
│ └── disco_bounce_section3.xml
├── layout-land
│ └── launcher.xml
├── layout-port
│ └── launcher.xml
├── layout-sw720dp
│ └── launcher.xml
├── layout
│ ├── all_apps.xml
│ ├── all_apps_divider.xml
│ ├── all_apps_empty_search.xml
│ ├── all_apps_icon.xml
│ ├── all_apps_search_divider.xml
│ ├── all_apps_search_market.xml
│ ├── app_icon.xml
│ ├── appwidget_error.xml
│ ├── appwidget_not_ready.xml
│ ├── deep_shortcut.xml
│ ├── deep_shortcuts_container.xml
│ ├── dialog_color_picker.xml
│ ├── double_number_picker_dialog.xml
│ ├── drop_target_bar_horz.xml
│ ├── drop_target_bar_vert.xml
│ ├── folder_application.xml
│ ├── folder_icon.xml
│ ├── hotseat.xml
│ ├── number_picker_dialog.xml
│ ├── overview_panel.xml
│ ├── page_indicator.xml
│ ├── qsb_blocker_view.xml
│ ├── qsb_container.xml
│ ├── qsb_default_view.xml
│ ├── user_folder.xml
│ ├── user_folder_icon_normalized.xml
│ ├── widget_cell.xml
│ ├── widgets_list_row_view.xml
│ ├── widgets_view.xml
│ ├── workspace_screen.xml
│ └── zzz_dummy_widget.xml
├── mipmap-hdpi
│ ├── ic_launcher_home.png
│ └── ic_launcher_settings.png
├── mipmap-mdpi
│ ├── ic_launcher_home.png
│ └── ic_launcher_settings.png
├── mipmap-xhdpi
│ ├── ic_launcher_home.png
│ └── ic_launcher_settings.png
├── mipmap-xxhdpi
│ ├── ic_launcher_home.png
│ └── ic_launcher_settings.png
├── mipmap-xxxhdpi
│ ├── ic_launcher_home.png
│ └── ic_launcher_settings.png
├── values-af
│ ├── slim_strings.xml
│ └── strings.xml
├── values-am
│ ├── slim_strings.xml
│ └── strings.xml
├── values-ar
│ ├── slim_strings.xml
│ └── strings.xml
├── values-az-rAZ
│ ├── slim_strings.xml
│ └── strings.xml
├── values-b+sr+Latn
│ └── strings.xml
├── values-be-rBY
│ └── strings.xml
├── values-be
│ └── strings.xml
├── values-bg
│ ├── slim_strings.xml
│ └── strings.xml
├── values-bn-rBD
│ └── strings.xml
├── values-bs-rBA
│ └── strings.xml
├── values-ca
│ ├── slim_strings.xml
│ └── strings.xml
├── values-cs
│ ├── slim_strings.xml
│ └── strings.xml
├── values-cy
│ └── slim_strings.xml
├── values-da
│ ├── slim_strings.xml
│ └── strings.xml
├── values-de
│ ├── slim_strings.xml
│ └── strings.xml
├── values-el
│ ├── slim_strings.xml
│ └── strings.xml
├── values-en-rAU
│ └── strings.xml
├── values-en-rGB
│ └── strings.xml
├── values-en-rIN
│ └── strings.xml
├── values-es-rUS
│ └── strings.xml
├── values-es
│ ├── slim_strings.xml
│ └── strings.xml
├── values-et-rEE
│ └── strings.xml
├── values-et
│ ├── slim_strings.xml
│ └── strings.xml
├── values-eu-rES
│ └── strings.xml
├── values-fa
│ ├── slim_strings.xml
│ └── strings.xml
├── values-fi
│ ├── slim_strings.xml
│ └── strings.xml
├── values-fr-rCA
│ └── strings.xml
├── values-fr
│ ├── slim_strings.xml
│ └── strings.xml
├── values-gl-rES
│ └── strings.xml
├── values-gu-rIN
│ └── strings.xml
├── values-hi
│ ├── slim_strings.xml
│ └── strings.xml
├── values-hr
│ ├── slim_strings.xml
│ └── strings.xml
├── values-hu
│ ├── slim_strings.xml
│ └── strings.xml
├── values-hy-rAM
│ └── strings.xml
├── values-hy
│ └── slim_strings.xml
├── values-in
│ ├── slim_strings.xml
│ └── strings.xml
├── values-is-rIS
│ └── strings.xml
├── values-it
│ ├── slim_strings.xml
│ └── strings.xml
├── values-iw
│ ├── slim_strings.xml
│ └── strings.xml
├── values-ja
│ ├── slim_strings.xml
│ └── strings.xml
├── values-ka-rGE
│ └── strings.xml
├── values-ka
│ └── slim_strings.xml
├── values-kk-rKZ
│ └── strings.xml
├── values-km-rKH
│ └── strings.xml
├── values-km
│ └── slim_strings.xml
├── values-kn-rIN
│ └── strings.xml
├── values-ko
│ ├── slim_strings.xml
│ └── strings.xml
├── values-ky-rKG
│ └── strings.xml
├── values-land
│ └── dimens.xml
├── values-lo-rLA
│ ├── slim_strings.xml
│ └── strings.xml
├── values-lt
│ ├── slim_strings.xml
│ └── strings.xml
├── values-lv
│ ├── slim_strings.xml
│ └── strings.xml
├── values-mk-rMK
│ └── strings.xml
├── values-ml-rIN
│ └── strings.xml
├── values-mn-rMN
│ └── strings.xml
├── values-mn
│ └── slim_strings.xml
├── values-mr-rIN
│ └── strings.xml
├── values-ms-rMY
│ └── strings.xml
├── values-ms
│ ├── slim_strings.xml
│ └── strings.xml
├── values-my-rMM
│ └── strings.xml
├── values-nb
│ ├── slim_strings.xml
│ └── strings.xml
├── values-ne-rNP
│ └── strings.xml
├── values-ne
│ └── slim_strings.xml
├── values-nl
│ ├── slim_strings.xml
│ └── strings.xml
├── values-no-rNO
│ └── slim_strings.xml
├── values-pa-rIN
│ └── strings.xml
├── values-pl
│ ├── slim_strings.xml
│ └── strings.xml
├── values-pt-rBR
│ └── slim_strings.xml
├── values-pt-rPT
│ ├── slim_strings.xml
│ └── strings.xml
├── values-pt
│ └── strings.xml
├── values-rm
│ ├── slim_strings.xml
│ └── strings.xml
├── values-ro
│ ├── slim_strings.xml
│ └── strings.xml
├── values-ru
│ ├── slim_strings.xml
│ └── strings.xml
├── values-si-rLK
│ └── strings.xml
├── values-si
│ └── slim_strings.xml
├── values-sk
│ ├── slim_strings.xml
│ └── strings.xml
├── values-sl
│ ├── slim_strings.xml
│ └── strings.xml
├── values-sq-rAL
│ └── strings.xml
├── values-sr
│ ├── slim_strings.xml
│ └── strings.xml
├── values-sv
│ ├── slim_strings.xml
│ └── strings.xml
├── values-sw
│ ├── slim_strings.xml
│ └── strings.xml
├── values-sw340dp
│ └── dimens.xml
├── values-sw600dp
│ ├── config.xml
│ └── dimens.xml
├── values-sw720dp-land
│ └── dimens.xml
├── values-sw720dp-port
│ └── dimens.xml
├── values-sw720dp
│ ├── config.xml
│ ├── dimens.xml
│ └── styles.xml
├── values-ta-rIN
│ └── strings.xml
├── values-te-rIN
│ └── strings.xml
├── values-th
│ ├── slim_strings.xml
│ └── strings.xml
├── values-tl
│ ├── slim_strings.xml
│ └── strings.xml
├── values-tr
│ ├── slim_strings.xml
│ └── strings.xml
├── values-uk
│ ├── slim_strings.xml
│ └── strings.xml
├── values-ur-rPK
│ └── strings.xml
├── values-uz-rUZ
│ └── strings.xml
├── values-v19
│ └── styles.xml
├── values-v21
│ └── styles.xml
├── values-v25
│ └── styles.xml
├── values-vi
│ ├── slim_strings.xml
│ └── strings.xml
├── values-zh-rCN
│ ├── slim_strings.xml
│ └── strings.xml
├── values-zh-rHK
│ ├── slim_strings.xml
│ └── strings.xml
├── values-zh-rTW
│ ├── slim_strings.xml
│ └── strings.xml
├── values-zu
│ ├── slim_strings.xml
│ └── strings.xml
├── values
│ ├── attrs.xml
│ ├── colors.xml
│ ├── config.xml
│ ├── dimens.xml
│ ├── slim_arrays.xml
│ ├── slim_dimnes.xml
│ ├── slim_strings.xml
│ ├── strings.xml
│ └── styles.xml
└── xml
│ ├── app_target_browser.xml
│ ├── app_target_camera.xml
│ ├── app_target_email.xml
│ ├── app_target_gallery.xml
│ ├── app_target_messenger.xml
│ ├── app_target_phone.xml
│ ├── backupscheme.xml
│ ├── default_workspace_3x3.xml
│ ├── default_workspace_4x4.xml
│ ├── default_workspace_5x5.xml
│ ├── default_workspace_5x6.xml
│ ├── device_profiles.xml
│ ├── dock_preferences.xml
│ ├── drawer_preferences.xml
│ ├── dw_phone_hotseat.xml
│ ├── dw_tablet_hotseat.xml
│ ├── gesture_fragment.xml
│ ├── homescreen_preferences.xml
│ ├── launcher_preferences.xml
│ └── preferences.xml
├── source
├── AndroidManifest.xml
└── src
│ └── com
│ └── android
│ └── launcher3
│ └── BuildConfig.java
├── src
├── com
│ └── android
│ │ └── launcher3
│ │ ├── Alarm.java
│ │ ├── AllAppsList.java
│ │ ├── AnotherWindowDropTarget.java
│ │ ├── AppFilter.java
│ │ ├── AppInfo.java
│ │ ├── AppWidgetResizeFrame.java
│ │ ├── AppWidgetsRestoredReceiver.java
│ │ ├── AutoInstallsLayout.java
│ │ ├── BaseContainerView.java
│ │ ├── BaseRecyclerView.java
│ │ ├── BaseRecyclerViewFastScrollBar.java
│ │ ├── BaseRecyclerViewFastScrollPopup.java
│ │ ├── BubbleTextView.java
│ │ ├── ButtonDropTarget.java
│ │ ├── CellLayout.java
│ │ ├── CheckLongPressHelper.java
│ │ ├── ClickShadowView.java
│ │ ├── CommonAppTypeParser.java
│ │ ├── CustomAppWidget.java
│ │ ├── DefaultLayoutParser.java
│ │ ├── DeferredHandler.java
│ │ ├── DeleteDropTarget.java
│ │ ├── DeviceProfile.java
│ │ ├── DragSource.java
│ │ ├── DropTarget.java
│ │ ├── DropTargetBar.java
│ │ ├── ExtendedEditText.java
│ │ ├── FastBitmapDrawable.java
│ │ ├── FirstFrameAnimatorHelper.java
│ │ ├── FocusHelper.java
│ │ ├── FolderInfo.java
│ │ ├── HolographicOutlineHelper.java
│ │ ├── Hotseat.java
│ │ ├── IconCache.java
│ │ ├── IconProvider.java
│ │ ├── InfoDropTarget.java
│ │ ├── Insettable.java
│ │ ├── InsettableFrameLayout.java
│ │ ├── InstallShortcutReceiver.java
│ │ ├── InterruptibleInOutAnimator.java
│ │ ├── InvariantDeviceProfile.java
│ │ ├── ItemInfo.java
│ │ ├── Launcher.java
│ │ ├── LauncherAnimUtils.java
│ │ ├── LauncherAppState.java
│ │ ├── LauncherAppWidgetHost.java
│ │ ├── LauncherAppWidgetHostView.java
│ │ ├── LauncherAppWidgetInfo.java
│ │ ├── LauncherAppWidgetProviderInfo.java
│ │ ├── LauncherBackupAgent.java
│ │ ├── LauncherCallbacks.java
│ │ ├── LauncherClings.java
│ │ ├── LauncherExterns.java
│ │ ├── LauncherFiles.java
│ │ ├── LauncherModel.java
│ │ ├── LauncherProvider.java
│ │ ├── LauncherProviderChangeListener.java
│ │ ├── LauncherRootView.java
│ │ ├── LauncherScroller.java
│ │ ├── LauncherSettings.java
│ │ ├── LauncherStateTransitionAnimation.java
│ │ ├── LauncherTransitionable.java
│ │ ├── LauncherViewPropertyAnimator.java
│ │ ├── LogAccelerateInterpolator.java
│ │ ├── LogDecelerateInterpolator.java
│ │ ├── MainThreadExecutor.java
│ │ ├── OnAlarmListener.java
│ │ ├── PagedView.java
│ │ ├── Partner.java
│ │ ├── PendingAddItemInfo.java
│ │ ├── PendingAppWidgetHostView.java
│ │ ├── PinchAnimationManager.java
│ │ ├── PinchThresholdManager.java
│ │ ├── PinchToOverviewListener.java
│ │ ├── PreloadIconDrawable.java
│ │ ├── QsbBlockerView.java
│ │ ├── QsbContainerView.java
│ │ ├── SettingsActivity.java
│ │ ├── ShortcutAndWidgetContainer.java
│ │ ├── ShortcutInfo.java
│ │ ├── SimpleOnStylusPressListener.java
│ │ ├── StylusEventHelper.java
│ │ ├── UninstallDropTarget.java
│ │ ├── Utilities.java
│ │ ├── WidgetPreviewLoader.java
│ │ ├── Workspace.java
│ │ ├── WorkspaceCallbacks.java
│ │ ├── WorkspaceStateTransitionAnimation.java
│ │ ├── accessibility
│ │ ├── AccessibileDragListenerAdapter.java
│ │ ├── DragAndDropAccessibilityDelegate.java
│ │ ├── DragViewStateAnnouncer.java
│ │ ├── FolderAccessibilityHelper.java
│ │ ├── LauncherAccessibilityDelegate.java
│ │ ├── OverviewAccessibilityDelegate.java
│ │ ├── OverviewScreenAccessibilityDelegate.java
│ │ ├── ShortcutMenuAccessibilityDelegate.java
│ │ └── WorkspaceAccessibilityHelper.java
│ │ ├── allapps
│ │ ├── AllAppsBackgroundDrawable.java
│ │ ├── AllAppsCaretController.java
│ │ ├── AllAppsContainerView.java
│ │ ├── AllAppsFastScrollHelper.java
│ │ ├── AllAppsGridAdapter.java
│ │ ├── AllAppsRecyclerView.java
│ │ ├── AllAppsRecyclerViewContainerView.java
│ │ ├── AllAppsSearchBarController.java
│ │ ├── AllAppsTransitionController.java
│ │ ├── AlphabeticalAppsList.java
│ │ ├── DefaultAppSearchAlgorithm.java
│ │ ├── DefaultAppSearchController.java
│ │ ├── HeaderElevationController.java
│ │ └── VerticalPullDetector.java
│ │ ├── compat
│ │ ├── AlphabeticIndexCompat.java
│ │ ├── AppWidgetManagerCompat.java
│ │ ├── AppWidgetManagerCompatV16.java
│ │ ├── AppWidgetManagerCompatVL.java
│ │ ├── DeferredLauncherActivityInfo.java
│ │ ├── LauncherActivityInfoCompat.java
│ │ ├── LauncherActivityInfoCompatV16.java
│ │ ├── LauncherActivityInfoCompatVL.java
│ │ ├── LauncherAppsCompat.java
│ │ ├── LauncherAppsCompatV16.java
│ │ ├── LauncherAppsCompatVL.java
│ │ ├── PackageInstallerCompat.java
│ │ ├── PackageInstallerCompatV16.java
│ │ ├── PackageInstallerCompatVL.java
│ │ ├── UserHandleCompat.java
│ │ ├── UserManagerCompat.java
│ │ ├── UserManagerCompatV16.java
│ │ ├── UserManagerCompatV17.java
│ │ ├── UserManagerCompatVL.java
│ │ ├── UserManagerCompatVM.java
│ │ ├── UserManagerCompatVN.java
│ │ └── UserManagerCompatVNMr1.java
│ │ ├── dragndrop
│ │ ├── AnotherWindowDragSource.java
│ │ ├── DragController.java
│ │ ├── DragDriver.java
│ │ ├── DragLayer.java
│ │ ├── DragOptions.java
│ │ ├── DragScroller.java
│ │ ├── DragView.java
│ │ ├── ExternalDragPreviewProvider.java
│ │ └── SpringLoadedDragController.java
│ │ ├── dynamicui
│ │ ├── ColorExtractionService.java
│ │ ├── ExtractedColors.java
│ │ └── ExtractionUtils.java
│ │ ├── folder
│ │ ├── ClippedFolderIconLayoutRule.java
│ │ ├── Folder.java
│ │ ├── FolderIcon.java
│ │ ├── FolderPagedView.java
│ │ └── StackFolderIconLayoutRule.java
│ │ ├── graphics
│ │ ├── DragPreviewProvider.java
│ │ ├── ShadowGenerator.java
│ │ ├── TintedDrawableSpan.java
│ │ └── TriangleShape.java
│ │ ├── keyboard
│ │ ├── FocusIndicatorHelper.java
│ │ ├── FocusedItemDecorator.java
│ │ └── ViewGroupFocusHelper.java
│ │ ├── logging
│ │ ├── FileLog.java
│ │ ├── LoggerUtils.java
│ │ └── UserEventDispatcher.java
│ │ ├── model
│ │ ├── AbstractUserComparator.java
│ │ ├── AppNameComparator.java
│ │ ├── GridSizeMigrationTask.java
│ │ ├── PackageItemInfo.java
│ │ ├── WidgetItem.java
│ │ └── WidgetsModel.java
│ │ ├── pageindicators
│ │ ├── CaretDrawable.java
│ │ ├── PageIndicator.java
│ │ ├── PageIndicatorCaretLandscape.java
│ │ ├── PageIndicatorDots.java
│ │ └── PageIndicatorLineCaret.java
│ │ ├── provider
│ │ ├── ImportDataTask.java
│ │ ├── LauncherDbUtils.java
│ │ ├── LossyScreenMigrationTask.java
│ │ └── RestoreDbTask.java
│ │ ├── shortcuts
│ │ ├── DeepShortcutManager.java
│ │ ├── DeepShortcutTextView.java
│ │ ├── DeepShortcutView.java
│ │ ├── DeepShortcutsContainer.java
│ │ ├── ShortcutCache.java
│ │ ├── ShortcutDragPreviewProvider.java
│ │ ├── ShortcutFilter.java
│ │ ├── ShortcutInfoCompat.java
│ │ └── ShortcutKey.java
│ │ ├── testing
│ │ ├── DummyWidget.java
│ │ ├── LauncherExtension.java
│ │ ├── MemoryDumpActivity.java
│ │ ├── MemoryTracker.java
│ │ ├── ToggleWeightWatcher.java
│ │ └── WeightWatcher.java
│ │ ├── util
│ │ ├── ActivityResultInfo.java
│ │ ├── CachedPackageTracker.java
│ │ ├── CellAndSpan.java
│ │ ├── CircleRevealOutlineProvider.java
│ │ ├── ComponentKey.java
│ │ ├── ConfigMonitor.java
│ │ ├── CursorIconInfo.java
│ │ ├── FlagOp.java
│ │ ├── FlingAnimation.java
│ │ ├── FocusLogic.java
│ │ ├── GridOccupancy.java
│ │ ├── IconNormalizer.java
│ │ ├── ItemInfoMatcher.java
│ │ ├── LauncherEdgeEffect.java
│ │ ├── LongArrayMap.java
│ │ ├── ManagedProfileHeuristic.java
│ │ ├── MultiHashMap.java
│ │ ├── MultiStateAlphaController.java
│ │ ├── NoLocaleSqliteContext.java
│ │ ├── PackageManagerHelper.java
│ │ ├── ParcelableSparseArray.java
│ │ ├── PendingRequestArgs.java
│ │ ├── PillRevealOutlineProvider.java
│ │ ├── PillWidthRevealOutlineProvider.java
│ │ ├── Preconditions.java
│ │ ├── RevealOutlineAnimation.java
│ │ ├── SQLiteCacheHelper.java
│ │ ├── StringFilter.java
│ │ ├── TestingUtils.java
│ │ ├── Thunk.java
│ │ ├── TouchController.java
│ │ ├── TransformingTouchDelegate.java
│ │ ├── VerticalFlingDetector.java
│ │ ├── ViewOnDrawExecutor.java
│ │ └── WallpaperOffsetInterpolator.java
│ │ └── widget
│ │ ├── PendingAddShortcutInfo.java
│ │ ├── PendingAddWidgetInfo.java
│ │ ├── PendingItemPreviewProvider.java
│ │ ├── WidgetCell.java
│ │ ├── WidgetHostViewLoader.java
│ │ ├── WidgetImageView.java
│ │ ├── WidgetsContainerView.java
│ │ ├── WidgetsListAdapter.java
│ │ ├── WidgetsRecyclerView.java
│ │ └── WidgetsRowViewHolder.java
├── net
│ └── margaritov
│ │ └── preference
│ │ └── colorpicker
│ │ ├── AlphaPatternDrawable.java
│ │ ├── ColorPickerDialog.java
│ │ ├── ColorPickerPanelView.java
│ │ ├── ColorPickerPreference.java
│ │ └── ColorPickerView.java
└── org
│ └── slim
│ └── launcher
│ ├── CreateShortcut.java
│ ├── ShortcutHelper.java
│ ├── SlimDeviceProfile.java
│ ├── SlimLauncher.java
│ ├── preference
│ ├── DoubleNumberPickerPreference.java
│ └── NumberPickerPreference.java
│ ├── settings
│ ├── DockFragment.java
│ ├── DrawerFragment.java
│ ├── FolderFragment.java
│ ├── GeneralFragment.java
│ ├── GestureFragment.java
│ ├── HomescreenFragment.java
│ ├── SettingsActivity.java
│ ├── SettingsKeys.java
│ ├── SettingsPreferenceFragment.java
│ └── SettingsProvider.java
│ └── util
│ ├── AppHelper.java
│ ├── GestureHelper.java
│ └── ShortcutPickHelper.java
├── src_config
└── com
│ └── android
│ └── launcher3
│ └── config
│ ├── FeatureFlags.java
│ └── ProviderConfig.java
├── src_proto
└── com
│ └── android
│ └── launcher3
│ └── userevent
│ └── nano
│ └── LauncherLogProto.java
└── tests
├── Android.mk
├── AndroidManifest.xml
└── src
└── com
└── android
└── launcher3
├── BindWidgetTest.java
├── InvariantDeviceProfileTest.java
├── allapps
└── DefaultAppSearchAlgorithmTest.java
├── logging
└── FileLogTest.java
├── model
└── GridSizeMigrationTaskTest.java
├── provider
└── RestoreDbTaskTest.java
├── shortcuts
└── ShortcutFilterTest.java
├── ui
├── AddWidgetTest.java
├── AllAppsAppLaunchTest.java
├── AllAppsIconToHomeTest.java
├── LauncherInstrumentationTestCase.java
└── RotationPreferenceTest.java
└── util
├── Condition.java
├── FocusLogicTest.java
├── GridOccupancyTest.java
├── TestLauncherProvider.java
└── Wait.java
/.gitignore:
--------------------------------------------------------------------------------
1 | db_files
2 | *.iml
3 | .project
4 | .classpath
5 | .project.properties
6 | gen/
7 | tests/stress/gen/
8 | WallpaperPicker/gen/
9 | WallpaperPicker/.project.properties
10 | bin/
11 | .idea/
12 | .gradle/
13 | local.properties
14 | gradle/
15 | build/
16 | gradlew*
--------------------------------------------------------------------------------
/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/res/anim/discovery_bounce.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
23 |
24 |
31 |
38 |
45 |
46 |
--------------------------------------------------------------------------------
/res/anim/no_anim.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/res/anim/task_open_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
22 |
23 |
28 |
29 |
34 |
35 |
--------------------------------------------------------------------------------
/res/animator-v21/overview_button_anim.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | -
20 |
25 |
26 |
27 | -
28 |
33 |
34 | -
35 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_action_set.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/ic_action_set.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_all_apps_bg_hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/ic_all_apps_bg_hand.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_allapps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/ic_allapps.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_info_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/ic_info_launcher.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_remove_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/ic_remove_launcher.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_uninstall_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/ic_uninstall_launcher.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/page_hover_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/page_hover_left.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/page_hover_left_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/page_hover_left_active.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/page_hover_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/page_hover_right.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/page_hover_right_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/page_hover_right_active.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/quantum_panel_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/quantum_panel_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/quantum_panel_dark_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/quantum_panel_dark_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/screenpanel.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/screenpanel.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/screenpanel_hover.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/screenpanel_hover.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/virtual_preload.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/virtual_preload.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/virtual_preload_folder.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/virtual_preload_folder.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/widget_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/widget_tile.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-hdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/res/drawable-ldrtl/container_fastscroll_popup_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
20 |
23 |
27 |
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_all_apps_bg_hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/ic_all_apps_bg_hand.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_allapps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/ic_allapps.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_info_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/ic_info_launcher.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_remove_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/ic_remove_launcher.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_uninstall_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/ic_uninstall_launcher.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/page_hover_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/page_hover_left.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/page_hover_left_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/page_hover_left_active.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/page_hover_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/page_hover_right.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/page_hover_right_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/page_hover_right_active.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/quantum_panel_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/quantum_panel_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/quantum_panel_dark_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/quantum_panel_dark_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/screenpanel.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/screenpanel.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/screenpanel_hover.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/screenpanel_hover.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/virtual_preload.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/virtual_preload.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/virtual_preload_folder.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/virtual_preload_folder.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/widget_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/widget_tile.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-mdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/res/drawable-v21/quantum_panel.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
--------------------------------------------------------------------------------
/res/drawable-v21/quantum_panel_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_action_set.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/ic_action_set.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_all_apps_bg_hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/ic_all_apps_bg_hand.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_allapps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/ic_allapps.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_info_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/ic_info_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_remove_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/ic_remove_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_reset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/ic_reset.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_uninstall_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/ic_uninstall_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/page_hover_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/page_hover_left.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/page_hover_left_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/page_hover_left_active.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/page_hover_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/page_hover_right.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/page_hover_right_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/page_hover_right_active.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/quantum_panel_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/quantum_panel_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/quantum_panel_dark_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/quantum_panel_dark_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/screenpanel.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/screenpanel.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/screenpanel_hover.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/screenpanel_hover.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/virtual_preload.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/virtual_preload.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/virtual_preload_folder.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/virtual_preload_folder.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/widget_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/widget_tile.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xhdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_action_set.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/ic_action_set.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_all_apps_bg_hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/ic_all_apps_bg_hand.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_allapps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/ic_allapps.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_info_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/ic_info_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_remove_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/ic_remove_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_uninstall_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/ic_uninstall_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/page_hover_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/page_hover_left.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/page_hover_left_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/page_hover_left_active.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/page_hover_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/page_hover_right.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/page_hover_right_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/page_hover_right_active.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/quantum_panel_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/quantum_panel_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/quantum_panel_dark_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/quantum_panel_dark_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/screenpanel.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/screenpanel.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/screenpanel_hover.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/screenpanel_hover.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/virtual_preload.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/virtual_preload.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/virtual_preload_folder.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/virtual_preload_folder.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/widget_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/widget_tile.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxhdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/ic_all_apps_bg_hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/ic_all_apps_bg_hand.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/ic_info_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/ic_info_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/ic_remove_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/ic_remove_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/ic_uninstall_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/ic_uninstall_launcher.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/quantum_panel_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/quantum_panel_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/quantum_panel_dark_bitmap.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/quantum_panel_dark_bitmap.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable-xxxhdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/res/drawable/activities_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/drawable/activities_icon.png
--------------------------------------------------------------------------------
/res/drawable/all_apps_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/all_apps_search_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/all_apps_search_hint.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/bg_celllayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 | -
24 |
25 |
26 |
27 |
28 | -
29 |
30 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/res/drawable/bg_pill_focused.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 | -
19 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/res/drawable/bg_screenpanel.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/res/drawable/bg_white_pill.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/res/drawable/container_fastscroll_popup_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
20 |
23 |
27 |
--------------------------------------------------------------------------------
/res/drawable/deep_shortcuts_drag_handle.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
22 |
23 |
26 |
--------------------------------------------------------------------------------
/res/drawable/ic_all_apps_bg_icon_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
22 |
23 |
27 |
31 |
--------------------------------------------------------------------------------
/res/drawable/ic_all_apps_bg_icon_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
22 |
23 |
28 |
33 |
--------------------------------------------------------------------------------
/res/drawable/ic_all_apps_bg_icon_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
22 |
23 |
28 |
33 |
36 |
37 |
--------------------------------------------------------------------------------
/res/drawable/ic_all_apps_bg_icon_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
22 |
23 |
27 |
31 |
34 |
--------------------------------------------------------------------------------
/res/drawable/ic_allapps_search.xml:
--------------------------------------------------------------------------------
1 |
16 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/res/drawable/ic_setting.xml:
--------------------------------------------------------------------------------
1 |
16 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/res/drawable/ic_wallpaper.xml:
--------------------------------------------------------------------------------
1 |
16 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/res/drawable/ic_widget.xml:
--------------------------------------------------------------------------------
1 |
16 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/res/drawable/quantum_panel.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
--------------------------------------------------------------------------------
/res/drawable/quantum_panel_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
--------------------------------------------------------------------------------
/res/drawable/quantum_panel_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
20 |
22 |
--------------------------------------------------------------------------------
/res/drawable/quantum_panel_shape_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
20 |
22 |
23 |
--------------------------------------------------------------------------------
/res/drawable/widget_internal_focus_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 | -
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/res/drawable/widgets_row_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/interpolator/decelerate_quart.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
22 |
--------------------------------------------------------------------------------
/res/interpolator/decelerate_quint.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
22 |
--------------------------------------------------------------------------------
/res/interpolator/disco_bounce_section1.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/res/interpolator/disco_bounce_section2.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/res/interpolator/disco_bounce_section3.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/res/layout/all_apps_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/res/layout/all_apps_empty_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
31 |
32 |
--------------------------------------------------------------------------------
/res/layout/all_apps_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
27 |
28 |
--------------------------------------------------------------------------------
/res/layout/all_apps_search_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/res/layout/all_apps_search_market.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
31 |
--------------------------------------------------------------------------------
/res/layout/app_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
--------------------------------------------------------------------------------
/res/layout/appwidget_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
27 |
--------------------------------------------------------------------------------
/res/layout/appwidget_not_ready.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
--------------------------------------------------------------------------------
/res/layout/deep_shortcut.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
23 |
24 |
31 |
32 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/layout/deep_shortcuts_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
28 |
29 |
--------------------------------------------------------------------------------
/res/layout/folder_application.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
--------------------------------------------------------------------------------
/res/layout/folder_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
23 |
29 |
30 |
--------------------------------------------------------------------------------
/res/layout/hotseat.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
19 |
24 |
25 |
--------------------------------------------------------------------------------
/res/layout/number_picker_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
21 |
22 |
27 |
28 |
--------------------------------------------------------------------------------
/res/layout/page_indicator.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
27 |
28 |
--------------------------------------------------------------------------------
/res/layout/qsb_blocker_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/qsb_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
24 |
25 |
30 |
--------------------------------------------------------------------------------
/res/layout/workspace_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
23 |
--------------------------------------------------------------------------------
/res/layout/zzz_dummy_widget.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
22 |
23 |
28 |
29 |
34 |
35 |
--------------------------------------------------------------------------------
/res/mipmap-hdpi/ic_launcher_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-hdpi/ic_launcher_home.png
--------------------------------------------------------------------------------
/res/mipmap-hdpi/ic_launcher_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-hdpi/ic_launcher_settings.png
--------------------------------------------------------------------------------
/res/mipmap-mdpi/ic_launcher_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-mdpi/ic_launcher_home.png
--------------------------------------------------------------------------------
/res/mipmap-mdpi/ic_launcher_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-mdpi/ic_launcher_settings.png
--------------------------------------------------------------------------------
/res/mipmap-xhdpi/ic_launcher_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-xhdpi/ic_launcher_home.png
--------------------------------------------------------------------------------
/res/mipmap-xhdpi/ic_launcher_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-xhdpi/ic_launcher_settings.png
--------------------------------------------------------------------------------
/res/mipmap-xxhdpi/ic_launcher_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-xxhdpi/ic_launcher_home.png
--------------------------------------------------------------------------------
/res/mipmap-xxhdpi/ic_launcher_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-xxhdpi/ic_launcher_settings.png
--------------------------------------------------------------------------------
/res/mipmap-xxxhdpi/ic_launcher_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-xxxhdpi/ic_launcher_home.png
--------------------------------------------------------------------------------
/res/mipmap-xxxhdpi/ic_launcher_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SlimRoms/packages_apps_SlimLauncher/872b16d20be335a96f4b4e1c61f39d754d320751/res/mipmap-xxxhdpi/ic_launcher_settings.png
--------------------------------------------------------------------------------
/res/values-af/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-am/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-ar/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-cy/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-da/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-et/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-hi/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-hy/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-in/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-ja/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SlimLauncher
5 | リセット
6 | 設定する
7 | エラー
8 |
9 | アプリ
10 | アクティビティ
11 | 任意のアプリを選択
12 | 任意のアクティビティを選択
13 |
14 | グリッドサイズ
15 | 行と列の数を選択
16 |
17 | カラーピッカー
18 | 下から色を選択して適用
19 |
20 | ホーム画面
21 |
22 | ドロワー
23 | 検索バーを有効にする
24 |
25 | ドック
26 | ドック アイコン
27 |
28 | ジェスチャー
29 | なし
30 | 左上にスワイプ
31 | 右上にスワイプ
32 |
33 | すべてのアプリ
34 |
35 |
--------------------------------------------------------------------------------
/res/values-ka/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-km/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/values-lo-rLA/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-lv/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-mn/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-ms/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-ne/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-no-rNO/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-rm/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-ro/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Lansator Slim
5 | Resetaţi
6 | Setare
7 | Eroare
8 |
9 | Aplicaţii
10 | Activități
11 | Selectați aplicație personalizată
12 | Selectați activitate personalizată
13 |
14 | Dimensiune grilă
15 | Selectaţi numărul de rânduri/coloane
16 | Rânduri
17 | Coloane
18 |
19 | Selector culoare
20 | Apăsaţi pe culoare mai jos pentru a aplica
21 | Hex:
22 |
23 | Ecranul de start
24 |
25 | Sertar
26 |
27 |
28 |
29 | Comenzi rapide lansator Slim
30 | Toate aplicațiile
31 | Modul de prezentare
32 | Setările de lansator
33 | Ecranul de start implicit
34 |
35 |
--------------------------------------------------------------------------------
/res/values-si/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-sl/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-sr/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Поново покрени
5 | Постави
6 | Грешка
7 |
8 | Апликације
9 | Активности
10 |
11 | Величина мреже
12 | Ред
13 | Колоне
14 |
15 | Бирач боје
16 |
17 |
18 |
19 |
20 | ништа
21 | Ништа
22 |
23 | Све апликације
24 |
25 |
--------------------------------------------------------------------------------
/res/values-sv/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Återställ
5 | Fel
6 |
7 | Appar
8 | Aktiviteter
9 | Välj anpassad aktivitet
10 |
11 | Rader
12 | Kolumner
13 |
14 | Färgväljare
15 | Hex:
16 |
17 | Hemskärm
18 |
19 |
20 |
21 | Gester
22 | Senaste app hittades inte.
23 | Inget
24 | Senaste app
25 |
26 | SlimLauncher-genvägar
27 | Alla appar
28 |
29 |
--------------------------------------------------------------------------------
/res/values-sw/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-sw340dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | 20dp
22 | 16sp
23 |
24 |
--------------------------------------------------------------------------------
/res/values-sw600dp/config.xml:
--------------------------------------------------------------------------------
1 |
2 | true
3 | true
4 |
5 |
--------------------------------------------------------------------------------
/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 | 0dp
20 | 26sp
21 | 850dp
22 | 525dp
23 |
24 |
25 | 56dp
26 |
27 |
28 | -1000dp
29 |
30 |
--------------------------------------------------------------------------------
/res/values-sw720dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
20 | 100dip
21 |
22 |
--------------------------------------------------------------------------------
/res/values-sw720dp-port/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
21 | 40dp
22 |
23 |
--------------------------------------------------------------------------------
/res/values-sw720dp/config.xml:
--------------------------------------------------------------------------------
1 |
2 | true
3 | true
4 |
5 |
6 |
7 | 90
8 |
9 |
10 | false
11 |
12 |
--------------------------------------------------------------------------------
/res/values-sw720dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 | 8dp
20 | 54dp
21 | 64dp
22 | 180dp
23 |
24 |
25 |
--------------------------------------------------------------------------------
/res/values-sw720dp/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
21 |
22 |
29 |
30 |
31 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-th/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-tl/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-v19/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
21 |
25 |
26 |
--------------------------------------------------------------------------------
/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
21 |
28 |
29 |
--------------------------------------------------------------------------------
/res/values-v25/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/res/values-zh-rHK/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values-zu/slim_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/values/slim_arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | - @string/gesture_target_nothing
7 | - @string/gesture_target_homescreen
8 | - @string/gesture_target_drawer
9 | - @string/gesture_target_previews
10 | - @string/gesture_target_settings
11 | - @string/gesture_target_last_app
12 | - @string/gesture_target_custom
13 |
14 |
15 |
16 | - nothing
17 | - default_homescreen
18 | - open_app_drawer
19 | - show_previews
20 | - show_settings
21 | - last_app
22 | - custom
23 |
24 |
25 |
26 |
27 | - @string/shortcut_action_launcher_apps
28 | - @string/shortcut_action_launcher_overview
29 | - @string/shortcut_action_launcher_settings
30 | - @string/shortcut_action_launcher_homescreen
31 |
32 |
33 |
34 | - **open_app_drawer**
35 | - **overview_mode**
36 | - **launcher_settings**
37 | - **default_homescreen**
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values/slim_dimnes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 70dip
5 |
6 |
--------------------------------------------------------------------------------
/res/xml/app_target_browser.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/res/xml/app_target_camera.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/res/xml/app_target_email.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/res/xml/app_target_gallery.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/res/xml/app_target_messenger.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/res/xml/app_target_phone.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/res/xml/backupscheme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/res/xml/default_workspace_4x4.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
27 |
28 |
29 |
30 |
31 |
35 |
36 |
37 |
38 |
39 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/res/xml/default_workspace_5x5.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
27 |
28 |
29 |
30 |
31 |
32 |
36 |
37 |
38 |
39 |
40 |
41 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/res/xml/default_workspace_5x6.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
28 |
29 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/res/xml/dock_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/res/xml/drawer_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/res/xml/homescreen_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/xml/launcher_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/res/xml/preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
13 |
14 |
18 |
19 |
23 |
24 |
28 |
29 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/source/src/com/android/launcher3/BuildConfig.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | public class BuildConfig {
4 |
5 | public static final String APPLICATION_ID = "com.slim.slimlauncher";
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/AppFilter.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.content.ComponentName;
4 | import android.text.TextUtils;
5 | import android.util.Log;
6 |
7 | public abstract class AppFilter {
8 |
9 | private static final boolean DBG = false;
10 | private static final String TAG = "AppFilter";
11 |
12 | public static AppFilter loadByName(String className) {
13 | if (TextUtils.isEmpty(className)) return null;
14 | if (DBG) Log.d(TAG, "Loading AppFilter: " + className);
15 | try {
16 | Class> cls = Class.forName(className);
17 | return (AppFilter) cls.newInstance();
18 | } catch (ClassNotFoundException e) {
19 | Log.e(TAG, "Bad AppFilter class", e);
20 | return null;
21 | } catch (InstantiationException e) {
22 | Log.e(TAG, "Bad AppFilter class", e);
23 | return null;
24 | } catch (IllegalAccessException e) {
25 | Log.e(TAG, "Bad AppFilter class", e);
26 | return null;
27 | } catch (ClassCastException e) {
28 | Log.e(TAG, "Bad AppFilter class", e);
29 | return null;
30 | }
31 | }
32 |
33 | public abstract boolean shouldShowApp(ComponentName app);
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/CustomAppWidget.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | public interface CustomAppWidget {
4 | public String getLabel();
5 |
6 | public int getPreviewImage();
7 |
8 | public int getIcon();
9 |
10 | public int getWidgetLayout();
11 |
12 | public int getSpanX();
13 |
14 | public int getSpanY();
15 |
16 | public int getMinSpanX();
17 |
18 | public int getMinSpanY();
19 |
20 | public int getResizeMode();
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/IconProvider.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.content.Context;
4 | import android.graphics.drawable.Drawable;
5 | import android.text.TextUtils;
6 | import android.util.Log;
7 |
8 | import com.android.launcher3.compat.LauncherActivityInfoCompat;
9 |
10 | import java.lang.reflect.InvocationTargetException;
11 | import java.util.Locale;
12 |
13 | public class IconProvider {
14 |
15 | private static final boolean DBG = false;
16 | private static final String TAG = "IconProvider";
17 |
18 | protected String mSystemState;
19 |
20 | public IconProvider() {
21 | updateSystemStateString();
22 | }
23 |
24 | public static IconProvider loadByName(String className, Context context) {
25 | if (TextUtils.isEmpty(className)) return new IconProvider();
26 | if (DBG) Log.d(TAG, "Loading IconProvider: " + className);
27 | try {
28 | Class> cls = Class.forName(className);
29 | return (IconProvider) cls.getDeclaredConstructor(Context.class).newInstance(context);
30 | } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
31 | | ClassCastException | NoSuchMethodException | InvocationTargetException e) {
32 | Log.e(TAG, "Bad IconProvider class", e);
33 | return new IconProvider();
34 | }
35 | }
36 |
37 | public void updateSystemStateString() {
38 | mSystemState = Locale.getDefault().toString();
39 | }
40 |
41 | public String getIconSystemState(String packageName) {
42 | return mSystemState;
43 | }
44 |
45 |
46 | public Drawable getIcon(LauncherActivityInfoCompat info, int iconDpi) {
47 | return info.getIcon(iconDpi);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/Insettable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3;
18 |
19 | import android.graphics.Rect;
20 |
21 | /**
22 | * Allows the implementing {@link View} to not draw underneath system bars.
23 | * e.g., notification bar on top and home key area on the bottom.
24 | */
25 | public interface Insettable {
26 |
27 | void setInsets(Rect insets);
28 | }
--------------------------------------------------------------------------------
/src/com/android/launcher3/LauncherBackupAgent.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.app.backup.BackupAgent;
4 | import android.app.backup.BackupDataInput;
5 | import android.app.backup.BackupDataOutput;
6 | import android.os.ParcelFileDescriptor;
7 |
8 | import com.android.launcher3.provider.RestoreDbTask;
9 |
10 | public class LauncherBackupAgent extends BackupAgent {
11 |
12 | @Override
13 | public void onRestore(
14 | BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) {
15 | // Doesn't do incremental backup/restore
16 | }
17 |
18 | @Override
19 | public void onBackup(
20 | ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) {
21 | // Doesn't do incremental backup/restore
22 | }
23 |
24 | @Override
25 | public void onRestoreFinished() {
26 | RestoreDbTask.setPending(this, true);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/LauncherClings.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3;
18 |
19 | import android.content.Context;
20 |
21 | @Deprecated
22 | public class LauncherClings {
23 | private static final String WORKSPACE_CLING_DISMISSED_KEY = "cling_gel.workspace.dismissed";
24 |
25 | public static void markFirstRunClingDismissed(Context ctx) {
26 | Utilities.getPrefs(ctx).edit()
27 | .putBoolean(WORKSPACE_CLING_DISMISSED_KEY, true)
28 | .apply();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/LauncherExterns.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3;
18 |
19 | import android.content.SharedPreferences;
20 |
21 | /**
22 | * This interface defines the set of methods that the Launcher activity exposes. Methods
23 | * here should be safe to call from classes outside of com.android.launcher3.*
24 | */
25 | public interface LauncherExterns {
26 |
27 | public boolean setLauncherCallbacks(LauncherCallbacks callbacks);
28 |
29 | public SharedPreferences getSharedPrefs();
30 |
31 | public void setLauncherOverlay(Launcher.LauncherOverlay overlay);
32 |
33 | void clearTypedText();
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/LauncherFiles.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import java.util.Arrays;
4 | import java.util.Collections;
5 | import java.util.List;
6 |
7 | /**
8 | * Central list of files the Launcher writes to the application data directory.
9 | *
10 | * To add a new Launcher file, create a String constant referring to the filename, and add it to
11 | * ALL_FILES, as shown below.
12 | */
13 | public class LauncherFiles {
14 |
15 | public static final String LAUNCHER_DB = "launcher.db";
16 | public static final String SHARED_PREFERENCES_KEY = "com.android.launcher3.prefs";
17 | public static final String MANAGED_USER_PREFERENCES_KEY = "com.android.launcher3.managedusers.prefs";
18 | // This preference file is not backed up to cloud.
19 | public static final String DEVICE_PREFERENCES_KEY = "com.android.launcher3.device.prefs";
20 | public static final String WIDGET_PREVIEWS_DB = "widgetpreviews.db";
21 | public static final String APP_ICONS_DB = "app_icons.db";
22 | private static final String XML = ".xml";
23 | public static final List ALL_FILES = Collections.unmodifiableList(Arrays.asList(
24 | LAUNCHER_DB,
25 | SHARED_PREFERENCES_KEY + XML,
26 | WIDGET_PREVIEWS_DB,
27 | MANAGED_USER_PREFERENCES_KEY + XML,
28 | DEVICE_PREFERENCES_KEY + XML,
29 | APP_ICONS_DB));
30 | }
31 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/LauncherProviderChangeListener.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | /**
4 | * This class is a listener for {@link LauncherProvider} changes. It gets notified in the
5 | * sendNotify method. This listener is needed because by default the Launcher suppresses
6 | * standard data change callbacks.
7 | */
8 | public interface LauncherProviderChangeListener {
9 |
10 | public void onLauncherProviderChange();
11 |
12 | public void onExtractedColorsChanged();
13 | }
14 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/LauncherTransitionable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3;
18 |
19 | /**
20 | * An interface to get callbacks during a launcher transition.
21 | */
22 | public interface LauncherTransitionable {
23 | void onLauncherTransitionPrepare(Launcher l, boolean animated, boolean multiplePagesVisible);
24 |
25 | void onLauncherTransitionStart(Launcher l, boolean animated, boolean toWorkspace);
26 |
27 | void onLauncherTransitionStep(Launcher l, float t);
28 |
29 | void onLauncherTransitionEnd(Launcher l, boolean animated, boolean toWorkspace);
30 | }
31 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/LogAccelerateInterpolator.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.animation.TimeInterpolator;
4 |
5 | public class LogAccelerateInterpolator implements TimeInterpolator {
6 |
7 | final float mLogScale;
8 | int mBase;
9 | int mDrift;
10 |
11 | public LogAccelerateInterpolator(int base, int drift) {
12 | mBase = base;
13 | mDrift = drift;
14 | mLogScale = 1f / computeLog(1, mBase, mDrift);
15 | }
16 |
17 | static float computeLog(float t, int base, int drift) {
18 | return (float) -Math.pow(base, -t) + 1 + (drift * t);
19 | }
20 |
21 | @Override
22 | public float getInterpolation(float t) {
23 | // Due to rounding issues, the interpolation doesn't quite reach 1 even though it should.
24 | // To account for this, we short-circuit to return 1 if the input is 1.
25 | return Float.compare(t, 1f) == 0 ? 1f : 1 - computeLog(1 - t, mBase, mDrift) * mLogScale;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/LogDecelerateInterpolator.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.animation.TimeInterpolator;
4 |
5 | public class LogDecelerateInterpolator implements TimeInterpolator {
6 |
7 | final float mLogScale;
8 | int mBase;
9 | int mDrift;
10 |
11 | public LogDecelerateInterpolator(int base, int drift) {
12 | mBase = base;
13 | mDrift = drift;
14 |
15 | mLogScale = 1f / computeLog(1, mBase, mDrift);
16 | }
17 |
18 | static float computeLog(float t, int base, int drift) {
19 | return (float) -Math.pow(base, -t) + 1 + (drift * t);
20 | }
21 |
22 | @Override
23 | public float getInterpolation(float t) {
24 | // Due to rounding issues, the interpolation doesn't quite reach 1 even though it should.
25 | // To account for this, we short-circuit to return 1 if the input is 1.
26 | return Float.compare(t, 1f) == 0 ? 1f : computeLog(t, mBase, mDrift) * mLogScale;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/OnAlarmListener.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | public interface OnAlarmListener {
4 | public void onAlarm(Alarm alarm);
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/PendingAddItemInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3;
18 |
19 | import android.content.ComponentName;
20 |
21 | /**
22 | * Meta data that is used for deferred binding.
23 | * e.g., this object is used to pass information on dragable targets when they are dropped onto
24 | * the workspace from another container.
25 | */
26 | public class PendingAddItemInfo extends ItemInfo {
27 |
28 | /**
29 | * The component that will be created.
30 | */
31 | public ComponentName componentName;
32 |
33 | @Override
34 | protected String dumpProperties() {
35 | return super.dumpProperties() + " componentName=" + componentName;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/SimpleOnStylusPressListener.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.view.MotionEvent;
4 | import android.view.View;
5 |
6 | import com.android.launcher3.StylusEventHelper.StylusButtonListener;
7 |
8 | /**
9 | * Simple listener that performs a long click on the view after a stylus button press.
10 | */
11 | public class SimpleOnStylusPressListener implements StylusButtonListener {
12 | private View mView;
13 |
14 | public SimpleOnStylusPressListener(View view) {
15 | mView = view;
16 | }
17 |
18 | public boolean onPressed(MotionEvent event) {
19 | return mView.isLongClickable() && mView.performLongClick();
20 | }
21 |
22 | public boolean onReleased(MotionEvent event) {
23 | return false;
24 | }
25 | }
--------------------------------------------------------------------------------
/src/com/android/launcher3/WorkspaceCallbacks.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.view.MotionEvent;
4 |
5 | public interface WorkspaceCallbacks {
6 |
7 | boolean onInterceptTouchEvent(MotionEvent event);
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/allapps/DefaultAppSearchController.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.android.launcher3.allapps;
17 |
18 | /**
19 | * The default search controller.
20 | */
21 | public class DefaultAppSearchController extends AllAppsSearchBarController {
22 |
23 | public DefaultAppSearchAlgorithm onInitializeSearch() {
24 | return new DefaultAppSearchAlgorithm(mApps.getApps());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/compat/LauncherActivityInfoCompat.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2014 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.compat;
18 |
19 | import android.content.ComponentName;
20 | import android.content.Context;
21 | import android.content.pm.ApplicationInfo;
22 | import android.content.pm.ResolveInfo;
23 | import android.graphics.drawable.Drawable;
24 |
25 | public abstract class LauncherActivityInfoCompat {
26 |
27 | LauncherActivityInfoCompat() {
28 | }
29 |
30 | /**
31 | * Creates a LauncherActivityInfoCompat for the primary user.
32 | */
33 | public static LauncherActivityInfoCompat fromResolveInfo(ResolveInfo info, Context context) {
34 | return new LauncherActivityInfoCompatV16(context, info);
35 | }
36 |
37 | public abstract ComponentName getComponentName();
38 |
39 | public abstract UserHandleCompat getUser();
40 |
41 | public abstract CharSequence getLabel();
42 |
43 | public abstract Drawable getIcon(int density);
44 |
45 | public abstract ApplicationInfo getApplicationInfo();
46 |
47 | public abstract long getFirstInstallTime();
48 | }
49 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/compat/PackageInstallerCompatV16.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2014 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.compat;
18 |
19 | import java.util.HashMap;
20 |
21 | public class PackageInstallerCompatV16 extends PackageInstallerCompat {
22 |
23 | PackageInstallerCompatV16() {
24 | }
25 |
26 | @Override
27 | public void onStop() {
28 | }
29 |
30 | @Override
31 | public HashMap updateAndGetActiveSessionCache() {
32 | return new HashMap<>();
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/compat/UserManagerCompatVM.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.compat;
18 |
19 | import android.annotation.TargetApi;
20 | import android.content.Context;
21 | import android.os.Build;
22 |
23 | @TargetApi(Build.VERSION_CODES.M)
24 | public class UserManagerCompatVM extends UserManagerCompatVL {
25 |
26 | UserManagerCompatVM(Context context) {
27 | super(context);
28 | }
29 |
30 | @Override
31 | public long getUserCreationTime(UserHandleCompat user) {
32 | return mUserManager.getUserCreationTime(user.getUser());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/compat/UserManagerCompatVN.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.compat;
18 |
19 | import android.annotation.TargetApi;
20 | import android.content.Context;
21 | import android.os.Build;
22 |
23 | @TargetApi(Build.VERSION_CODES.N)
24 | public class UserManagerCompatVN extends UserManagerCompatVM {
25 |
26 | UserManagerCompatVN(Context context) {
27 | super(context);
28 | }
29 |
30 | @Override
31 | public boolean isQuietModeEnabled(UserHandleCompat user) {
32 | return mUserManager.isQuietModeEnabled(user.getUser());
33 | }
34 |
35 | @Override
36 | public boolean isUserUnlocked(UserHandleCompat user) {
37 | return mUserManager.isUserUnlocked(user.getUser());
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/compat/UserManagerCompatVNMr1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.compat;
18 |
19 | import android.annotation.TargetApi;
20 | import android.content.Context;
21 | import android.os.Build;
22 |
23 | @TargetApi(Build.VERSION_CODES.N_MR1)
24 | public class UserManagerCompatVNMr1 extends UserManagerCompatVN {
25 |
26 | UserManagerCompatVNMr1(Context context) {
27 | super(context);
28 | }
29 |
30 | @Override
31 | public boolean isDemoUser() {
32 | return mUserManager.isDemoUser();
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/dragndrop/DragScroller.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.dragndrop;
18 |
19 | /**
20 | * Handles scrolling while dragging
21 | */
22 | public interface DragScroller {
23 | void scrollLeft();
24 |
25 | void scrollRight();
26 |
27 | /**
28 | * The touch point has entered the scroll area; a scroll is imminent.
29 | * This event will only occur while a drag is active.
30 | *
31 | * @param direction The scroll direction
32 | */
33 | boolean onEnterScrollArea(int x, int y, int direction);
34 |
35 | /**
36 | * The touch point has left the scroll area.
37 | * NOTE: This may not be called, if a drop occurs inside the scroll area.
38 | */
39 | boolean onExitScrollArea();
40 | }
41 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/keyboard/FocusedItemDecorator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.keyboard;
18 |
19 | import android.graphics.Canvas;
20 | import android.graphics.Rect;
21 | import android.support.v7.widget.RecyclerView;
22 | import android.support.v7.widget.RecyclerView.ItemDecoration;
23 | import android.support.v7.widget.RecyclerView.State;
24 | import android.view.View;
25 | import android.view.View.OnFocusChangeListener;
26 |
27 | /**
28 | * {@link ItemDecoration} for drawing and animating focused view background.
29 | */
30 | public class FocusedItemDecorator extends ItemDecoration {
31 |
32 | private FocusIndicatorHelper mHelper;
33 |
34 | public FocusedItemDecorator(View container) {
35 | mHelper = new FocusIndicatorHelper(container) {
36 |
37 | @Override
38 | public void viewToRect(View v, Rect outRect) {
39 | outRect.set(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
40 | }
41 | };
42 | }
43 |
44 | public OnFocusChangeListener getFocusListener() {
45 | return mHelper;
46 | }
47 |
48 | @Override
49 | public void onDraw(Canvas c, RecyclerView parent, State state) {
50 | mHelper.draw(c);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/model/AbstractUserComparator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.android.launcher3.model;
17 |
18 | import android.content.Context;
19 |
20 | import com.android.launcher3.ItemInfo;
21 | import com.android.launcher3.compat.UserHandleCompat;
22 | import com.android.launcher3.compat.UserManagerCompat;
23 |
24 | import java.util.Comparator;
25 |
26 | /**
27 | * A comparator to arrange items based on user profiles.
28 | */
29 | public abstract class AbstractUserComparator implements Comparator {
30 |
31 | private final UserManagerCompat mUserManager;
32 | private final UserHandleCompat mMyUser;
33 |
34 | public AbstractUserComparator(Context context) {
35 | mUserManager = UserManagerCompat.getInstance(context);
36 | mMyUser = UserHandleCompat.myUserHandle();
37 | }
38 |
39 | @Override
40 | public int compare(T lhs, T rhs) {
41 | if (mMyUser.equals(lhs.user)) {
42 | return -1;
43 | } else {
44 | Long aUserSerial = mUserManager.getSerialNumberForUser(lhs.user);
45 | Long bUserSerial = mUserManager.getSerialNumberForUser(rhs.user);
46 | return aUserSerial.compareTo(bUserSerial);
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/model/PackageItemInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.model;
18 |
19 | import android.graphics.Bitmap;
20 |
21 | import com.android.launcher3.ItemInfo;
22 |
23 | /**
24 | * Represents a {@link Package} in the widget tray section.
25 | */
26 | public class PackageItemInfo extends ItemInfo {
27 |
28 | /**
29 | * A bitmap version of the application icon.
30 | */
31 | public Bitmap iconBitmap;
32 |
33 | /**
34 | * Indicates whether we're using a low res icon.
35 | */
36 | public boolean usingLowResIcon;
37 |
38 | /**
39 | * Package name of the {@link ItemInfo}.
40 | */
41 | public String packageName;
42 |
43 | /**
44 | * Character that is used as a section name for the {@link ItemInfo#title}.
45 | * (e.g., "G" will be stored if title is "Google")
46 | */
47 | public String titleSectionName;
48 |
49 | PackageItemInfo(String packageName) {
50 | this.packageName = packageName;
51 | }
52 |
53 | @Override
54 | protected String dumpProperties() {
55 | return super.dumpProperties() + " packageName=" + packageName;
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/shortcuts/ShortcutKey.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.shortcuts;
2 |
3 | import android.content.ComponentName;
4 | import android.content.Intent;
5 |
6 | import com.android.launcher3.ShortcutInfo;
7 | import com.android.launcher3.compat.UserHandleCompat;
8 | import com.android.launcher3.util.ComponentKey;
9 |
10 | /**
11 | * A key that uniquely identifies a shortcut using its package, id, and user handle.
12 | */
13 | public class ShortcutKey extends ComponentKey {
14 |
15 | public ShortcutKey(String packageName, UserHandleCompat user, String id) {
16 | // Use the id as the class name.
17 | super(new ComponentName(packageName, id), user);
18 | }
19 |
20 | public static ShortcutKey fromInfo(ShortcutInfoCompat shortcutInfo) {
21 | return new ShortcutKey(shortcutInfo.getPackage(), shortcutInfo.getUserHandle(),
22 | shortcutInfo.getId());
23 | }
24 |
25 | public static ShortcutKey fromIntent(Intent intent, UserHandleCompat user) {
26 | String shortcutId = intent.getStringExtra(
27 | ShortcutInfoCompat.EXTRA_SHORTCUT_ID);
28 | return new ShortcutKey(intent.getPackage(), user, shortcutId);
29 | }
30 |
31 | public static ShortcutKey fromShortcutInfo(ShortcutInfo info) {
32 | return fromIntent(info.getPromisedIntent(), info.user);
33 | }
34 |
35 | public String getId() {
36 | return componentName.getClassName();
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/testing/DummyWidget.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.testing;
2 |
3 | import android.appwidget.AppWidgetProviderInfo;
4 |
5 | import com.android.launcher3.CustomAppWidget;
6 | import com.android.launcher3.R;
7 |
8 | public class DummyWidget implements CustomAppWidget {
9 | @Override
10 | public String getLabel() {
11 | return "Dumb Launcher Widget";
12 | }
13 |
14 | @Override
15 | public int getPreviewImage() {
16 | return 0;
17 | }
18 |
19 | @Override
20 | public int getIcon() {
21 | return 0;
22 | }
23 |
24 | @Override
25 | public int getWidgetLayout() {
26 | return R.layout.zzz_dummy_widget;
27 | }
28 |
29 | @Override
30 | public int getSpanX() {
31 | return 2;
32 | }
33 |
34 | @Override
35 | public int getSpanY() {
36 | return 2;
37 | }
38 |
39 | @Override
40 | public int getMinSpanX() {
41 | return 1;
42 | }
43 |
44 | @Override
45 | public int getMinSpanY() {
46 | return 1;
47 | }
48 |
49 | @Override
50 | public int getResizeMode() {
51 | return AppWidgetProviderInfo.RESIZE_BOTH;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/testing/ToggleWeightWatcher.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.testing;
2 |
3 | import android.app.Activity;
4 | import android.content.SharedPreferences;
5 | import android.os.Bundle;
6 | import android.view.View;
7 |
8 | import com.android.launcher3.Launcher;
9 | import com.android.launcher3.LauncherAppState;
10 | import com.android.launcher3.Utilities;
11 | import com.android.launcher3.util.TestingUtils;
12 |
13 | public class ToggleWeightWatcher extends Activity {
14 |
15 | @Override
16 | protected void onCreate(Bundle savedInstanceState) {
17 | super.onCreate(savedInstanceState);
18 |
19 | SharedPreferences sp = Utilities.getPrefs(this);
20 | boolean show = sp.getBoolean(TestingUtils.SHOW_WEIGHT_WATCHER, true);
21 |
22 | show = !show;
23 | sp.edit().putBoolean(TestingUtils.SHOW_WEIGHT_WATCHER, show).apply();
24 |
25 | Launcher launcher = (Launcher) LauncherAppState.getInstance().getModel().getCallback();
26 | if (launcher != null && launcher.mWeightWatcher != null) {
27 | launcher.mWeightWatcher.setVisibility(show ? View.VISIBLE : View.GONE);
28 | }
29 | finish();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/CellAndSpan.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.util;
2 |
3 | /**
4 | * Base class which represents an area on the grid.
5 | */
6 | public class CellAndSpan {
7 |
8 | /**
9 | * Indicates the X position of the associated cell.
10 | */
11 | public int cellX = -1;
12 |
13 | /**
14 | * Indicates the Y position of the associated cell.
15 | */
16 | public int cellY = -1;
17 |
18 | /**
19 | * Indicates the X cell span.
20 | */
21 | public int spanX = 1;
22 |
23 | /**
24 | * Indicates the Y cell span.
25 | */
26 | public int spanY = 1;
27 |
28 | public CellAndSpan() {
29 | }
30 |
31 | public CellAndSpan(int cellX, int cellY, int spanX, int spanY) {
32 | this.cellX = cellX;
33 | this.cellY = cellY;
34 | this.spanX = spanX;
35 | this.spanY = spanY;
36 | }
37 |
38 | public void copyFrom(CellAndSpan copy) {
39 | cellX = copy.cellX;
40 | cellY = copy.cellY;
41 | spanX = copy.spanX;
42 | spanY = copy.spanY;
43 | }
44 |
45 | public String toString() {
46 | return "(" + cellX + ", " + cellY + ": " + spanX + ", " + spanY + ")";
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/FlagOp.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.util;
2 |
3 | public abstract class FlagOp {
4 |
5 | public static FlagOp NO_OP = new FlagOp() {
6 | };
7 |
8 | private FlagOp() {
9 | }
10 |
11 | public static FlagOp addFlag(final int flag) {
12 | return new FlagOp() {
13 | @Override
14 | public int apply(int flags) {
15 | return flags | flag;
16 | }
17 | };
18 | }
19 |
20 | public static FlagOp removeFlag(final int flag) {
21 | return new FlagOp() {
22 | @Override
23 | public int apply(int flags) {
24 | return flags & ~flag;
25 | }
26 | };
27 | }
28 |
29 | public int apply(int flags) {
30 | return flags;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/MultiHashMap.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.util;
18 |
19 | import java.util.ArrayList;
20 | import java.util.HashMap;
21 |
22 | /**
23 | * A utility map from keys to an ArrayList of values.
24 | */
25 | public class MultiHashMap extends HashMap> {
26 |
27 | public MultiHashMap() {
28 | }
29 |
30 | public MultiHashMap(int size) {
31 | super(size);
32 | }
33 |
34 | public void addToList(K key, V value) {
35 | ArrayList list = get(key);
36 | if (list == null) {
37 | list = new ArrayList<>();
38 | list.add(value);
39 | put(key, list);
40 | } else {
41 | list.add(value);
42 | }
43 | }
44 |
45 | @Override
46 | public MultiHashMap clone() {
47 | MultiHashMap map = new MultiHashMap<>(size());
48 | for (Entry> entry : entrySet()) {
49 | map.put(entry.getKey(), new ArrayList(entry.getValue()));
50 | }
51 | return map;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/NoLocaleSqliteContext.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.util;
2 |
3 | import android.content.Context;
4 | import android.content.ContextWrapper;
5 | import android.database.DatabaseErrorHandler;
6 | import android.database.sqlite.SQLiteDatabase;
7 | import android.database.sqlite.SQLiteDatabase.CursorFactory;
8 |
9 | /**
10 | * A context wrapper which creates databases without support for localized collators.
11 | */
12 | public class NoLocaleSqliteContext extends ContextWrapper {
13 |
14 | // TODO: Use the flag defined in Context when the new SDK is available
15 | private static final int MODE_NO_LOCALIZED_COLLATORS = 0x0010;
16 |
17 | public NoLocaleSqliteContext(Context context) {
18 | super(context);
19 | }
20 |
21 | @Override
22 | public SQLiteDatabase openOrCreateDatabase(
23 | String name, int mode, CursorFactory factory, DatabaseErrorHandler errorHandler) {
24 | return super.openOrCreateDatabase(
25 | name, mode | MODE_NO_LOCALIZED_COLLATORS, factory, errorHandler);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/PillWidthRevealOutlineProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2016 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.util;
18 |
19 | import android.graphics.Rect;
20 |
21 | /**
22 | * Extension of {@link PillRevealOutlineProvider} which only changes the width of the pill.
23 | */
24 | public class PillWidthRevealOutlineProvider extends PillRevealOutlineProvider {
25 |
26 | private final int mStartLeft;
27 | private final int mStartRight;
28 |
29 | public PillWidthRevealOutlineProvider(Rect pillRect, int left, int right) {
30 | super(0, 0, pillRect);
31 | mOutline.set(pillRect);
32 | mStartLeft = left;
33 | mStartRight = right;
34 | }
35 |
36 | @Override
37 | public void setProgress(float progress) {
38 | mOutline.left = (int) (progress * mPillRect.left + (1 - progress) * mStartLeft);
39 | mOutline.right = (int) (progress * mPillRect.right + (1 - progress) * mStartRight);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/StringFilter.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.util;
2 |
3 | import java.util.Set;
4 |
5 | /**
6 | * Abstract class to filter a set of strings.
7 | */
8 | public abstract class StringFilter {
9 |
10 | private StringFilter() {
11 | }
12 |
13 | public static StringFilter matchesAll() {
14 | return new StringFilter() {
15 | @Override
16 | public boolean matches(String str) {
17 | return true;
18 | }
19 | };
20 | }
21 |
22 | public static StringFilter of(final Set validEntries) {
23 | return new StringFilter() {
24 | @Override
25 | public boolean matches(String str) {
26 | return validEntries.contains(str);
27 | }
28 | };
29 | }
30 |
31 | public abstract boolean matches(String str);
32 | }
33 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/Thunk.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.util;
18 |
19 | import java.lang.annotation.ElementType;
20 | import java.lang.annotation.Retention;
21 | import java.lang.annotation.RetentionPolicy;
22 | import java.lang.annotation.Target;
23 |
24 | /**
25 | * Indicates that the given field or method has package visibility solely to prevent the creation
26 | * of a synthetic method. In practice, you should treat this field/method as if it were private.
27 | *
28 | *
29 | * When a private method is called from an inner class, the Java compiler generates a simple
30 | * package private shim method that the class generated from the inner class can call. This results
31 | * in unnecessary bloat and runtime method call overhead. It also gets us closer to the dex method
32 | * count limit.
33 | *
34 | *
35 | * If you'd like to see warnings for these synthetic methods in eclipse, turn on:
36 | * Window > Preferences > Java > Compiler > Errors/Warnings > "Access to a non-accessible member
37 | * of an enclosing type".
38 | *
39 | */
40 | @Retention(RetentionPolicy.SOURCE)
41 | @Target({ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.TYPE})
42 | public @interface Thunk {
43 | }
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/TouchController.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.util;
2 |
3 | import android.view.MotionEvent;
4 |
5 | public interface TouchController {
6 | boolean onTouchEvent(MotionEvent ev);
7 |
8 | boolean onInterceptTouchEvent(MotionEvent ev);
9 | }
10 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/widget/PendingAddShortcutInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.android.launcher3.widget;
17 |
18 | import android.content.ComponentName;
19 | import android.content.pm.ActivityInfo;
20 |
21 | import com.android.launcher3.LauncherSettings;
22 | import com.android.launcher3.PendingAddItemInfo;
23 |
24 | /**
25 | * Meta data used for late binding of the short cuts.
26 | *
27 | * @see {@link PendingAddItemInfo}
28 | */
29 | public class PendingAddShortcutInfo extends PendingAddItemInfo {
30 |
31 | ActivityInfo activityInfo;
32 |
33 | public PendingAddShortcutInfo(ActivityInfo activityInfo) {
34 | this.activityInfo = activityInfo;
35 | componentName = new ComponentName(activityInfo.packageName, activityInfo.name);
36 | itemType = LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/widget/WidgetsRowViewHolder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.android.launcher3.widget;
17 |
18 | import android.support.v7.widget.RecyclerView.ViewHolder;
19 | import android.view.ViewGroup;
20 |
21 | import com.android.launcher3.BubbleTextView;
22 | import com.android.launcher3.R;
23 |
24 | public class WidgetsRowViewHolder extends ViewHolder {
25 |
26 | public final ViewGroup cellContainer;
27 | public final BubbleTextView title;
28 |
29 | public WidgetsRowViewHolder(ViewGroup v) {
30 | super(v);
31 |
32 | cellContainer = (ViewGroup) v.findViewById(R.id.widgets_cell_list);
33 | title = (BubbleTextView) v.findViewById(R.id.section);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/org/slim/launcher/SlimDeviceProfile.java:
--------------------------------------------------------------------------------
1 | package org.slim.launcher;
2 |
3 | import com.android.launcher3.DeviceProfile;
4 |
5 | import org.slim.launcher.settings.SettingsProvider;
6 |
7 | public class SlimDeviceProfile {
8 |
9 | public int workspacePaddingTop;
10 |
11 | @SuppressWarnings("unused")
12 | public SlimDeviceProfile(SlimLauncher slimLauncher) {
13 | }
14 |
15 | public void updateFromPreferences() {
16 |
17 | boolean showSearchBar = SettingsProvider.getBoolean(SlimLauncher.getInstance(),
18 | SettingsProvider.KEY_SHOW_SEARCH_BAR, true);
19 |
20 | DeviceProfile profile = SlimLauncher.getInstance().getDeviceProfile();
21 |
22 | //Rect searchBarBounds = profile.getSearchBarBounds(false);
23 |
24 | workspacePaddingTop = 0;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/org/slim/launcher/settings/DockFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The SlimRoms Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.slim.launcher.settings;
18 |
19 | import android.os.Bundle;
20 |
21 | import com.android.launcher3.R;
22 |
23 | import org.slim.launcher.preference.NumberPickerPreference;
24 |
25 | public class DockFragment extends SettingsPreferenceFragment {
26 |
27 | @Override
28 | public void onCreate(Bundle savedInstanceState) {
29 | super.onCreate(savedInstanceState);
30 | addPreferencesFromResource(R.xml.dock_preferences);
31 |
32 | final NumberPickerPreference dockIcons = (NumberPickerPreference)
33 | findPreference(SettingsProvider.KEY_DOCK_ICONS);
34 |
35 | if (mProfile != null) {
36 | if (SettingsProvider.getInt(getActivity(),
37 | SettingsProvider.KEY_DOCK_ICONS, 0) < 1) {
38 | SettingsProvider.putInt(getActivity(),
39 | SettingsProvider.KEY_DOCK_ICONS, mProfile.numHotseatIcons);
40 | }
41 | dockIcons.setDefaultValue(mProfile.numHotseatIcons);
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/org/slim/launcher/settings/DrawerFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The SlimRoms Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.slim.launcher.settings;
18 |
19 | import android.os.Bundle;
20 |
21 | import com.android.launcher3.R;
22 |
23 | public class DrawerFragment extends SettingsPreferenceFragment {
24 |
25 | @Override
26 | public void onCreate(Bundle savedInstanceState) {
27 | super.onCreate(savedInstanceState);
28 |
29 | addPreferencesFromResource(R.xml.drawer_preferences);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/org/slim/launcher/settings/FolderFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The SlimRoms Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.slim.launcher.settings;
18 |
19 | import android.os.Bundle;
20 | import android.preference.Preference;
21 |
22 | public class FolderFragment extends SettingsPreferenceFragment
23 | implements Preference.OnPreferenceChangeListener {
24 |
25 | @Override
26 | public void onCreate(Bundle savedInstanceState) {
27 | super.onCreate(savedInstanceState);
28 | }
29 |
30 | @Override
31 | public boolean onPreferenceChange(Preference preference, Object newValue) {
32 | return true;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/org/slim/launcher/settings/GeneralFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The SlimRoms Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.slim.launcher.settings;
18 |
19 | import android.os.Bundle;
20 |
21 | public class GeneralFragment extends SettingsPreferenceFragment {
22 |
23 | @Override
24 | public void onCreate(Bundle savedInstanceState) {
25 | super.onCreate(savedInstanceState);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/org/slim/launcher/settings/HomescreenFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The SlimRoms Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.slim.launcher.settings;
18 |
19 | import android.os.Bundle;
20 |
21 | import com.android.launcher3.R;
22 |
23 | public class HomescreenFragment extends SettingsPreferenceFragment {
24 |
25 | @Override
26 | public void onCreate(Bundle savedInstanceState) {
27 | super.onCreate(savedInstanceState);
28 |
29 | addPreferencesFromResource(R.xml.homescreen_preferences);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/org/slim/launcher/settings/SettingsKeys.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The SlimRoms Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.slim.launcher.settings;
18 |
19 | public interface SettingsKeys {
20 |
21 | String DEFAULT_HOMESCREEN = "default_homescreen";
22 |
23 | // Homescreen
24 | String KEY_SHOW_SEARCH_BAR = "show_search_bar";
25 | String KEY_HOMESCREEN_GRID = "homescreen_grid";
26 | String KEY_SHOW_SHADOW = "show_shadow";
27 |
28 | // Drawer
29 | String KEY_DRAWER_SEARCH_ENABLED = "drawer_search_bar";
30 |
31 | // Dock
32 | String KEY_DOCK_ICONS = "dock_icon_count";
33 |
34 | // Gestures
35 | String LEFT_UP_GESTURE_ACTION = "left_up_gesture_action";
36 | String MIDDLE_UP_GESTURE_ACTION = "middle_up_gesture_action";
37 | String RIGHT_UP_GESTURE_ACTION = "right_up_gesture_action";
38 | String LEFT_DOWN_GESTURE_ACTION = "left_down_gesture_action";
39 | String MIDDLE_DOWN_GESTURE_ACTION = "middle_down_gesture_action";
40 | String RIGHT_DOWN_GESTURE_ACTION = "right_down_gesture_action";
41 | String PINCH_GESTURE_ACTION = "pinch_gesture_action";
42 | String SPREAD_GESTURE_ACTION = "spread_gesture_action";
43 | String DOUBLE_TAP_GESTURE_ACTION = "double_tap_gesture_action";
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/src/org/slim/launcher/settings/SettingsPreferenceFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 The SlimRoms Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.slim.launcher.settings;
18 |
19 | import android.content.Context;
20 | import android.os.Bundle;
21 | import android.preference.PreferenceFragment;
22 | import android.view.MenuItem;
23 |
24 | import com.android.launcher3.InvariantDeviceProfile;
25 | import com.android.launcher3.LauncherAppState;
26 |
27 | public class SettingsPreferenceFragment extends PreferenceFragment {
28 |
29 | InvariantDeviceProfile mProfile;
30 |
31 | Context mContext;
32 |
33 | @Override
34 | public void onCreate(Bundle savedInstanceState) {
35 | super.onCreate(savedInstanceState);
36 |
37 | mProfile = LauncherAppState.getInstanceNoCreate().getInvariantDeviceProfile();
38 |
39 | mContext = getActivity();
40 | }
41 |
42 | @Override
43 | public boolean onOptionsItemSelected(MenuItem item) {
44 | switch (item.getItemId()) {
45 | case android.R.id.home:
46 | getActivity().onBackPressed();
47 | return true;
48 | }
49 | return super.onOptionsItemSelected(item);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src_config/com/android/launcher3/config/ProviderConfig.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.config;
18 |
19 | import com.android.launcher3.BuildConfig;
20 |
21 | public class ProviderConfig {
22 |
23 | public static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".settings";
24 |
25 | public static boolean IS_DOGFOOD_BUILD = true;
26 | }
27 |
--------------------------------------------------------------------------------
/tests/Android.mk:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2015 The Android Open Source Project
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | #
15 |
16 | LOCAL_PATH := $(call my-dir)
17 | include $(CLEAR_VARS)
18 |
19 | LOCAL_MODULE_TAGS := tests
20 | LOCAL_STATIC_JAVA_LIBRARIES := android-support-test ub-uiautomator
21 |
22 | LOCAL_SRC_FILES := $(call all-java-files-under, src)
23 |
24 | LOCAL_SDK_VERSION := current
25 |
26 | LOCAL_PACKAGE_NAME := SlimLauncherTests
27 |
28 | LOCAL_INSTRUMENTATION_FOR := SlimLauncher
29 |
30 | include $(BUILD_PACKAGE)
31 |
--------------------------------------------------------------------------------
/tests/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/tests/src/com/android/launcher3/util/TestLauncherProvider.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.util;
2 |
3 | import android.content.Context;
4 | import android.database.sqlite.SQLiteOpenHelper;
5 |
6 | import com.android.launcher3.LauncherProvider;
7 |
8 | /**
9 | * An extension of LauncherProvider backed up by in-memory database.
10 | */
11 | public class TestLauncherProvider extends LauncherProvider {
12 |
13 | @Override
14 | public boolean onCreate() {
15 | return true;
16 | }
17 |
18 | @Override
19 | protected synchronized void createDbIfNotExists() {
20 | if (mOpenHelper == null) {
21 | mOpenHelper = new MyDatabaseHelper(getContext());
22 | }
23 | }
24 |
25 | public SQLiteOpenHelper getHelper() {
26 | createDbIfNotExists();
27 | return mOpenHelper;
28 | }
29 |
30 | @Override
31 | protected void notifyListeners() { }
32 |
33 | private static class MyDatabaseHelper extends DatabaseHelper {
34 | public MyDatabaseHelper(Context context) {
35 | super(context, null, null);
36 | initIds();
37 | }
38 |
39 | @Override
40 | public long getDefaultUserSerial() {
41 | return 0;
42 | }
43 |
44 | @Override
45 | protected void onEmptyDbCreated() { }
46 | }
47 | }
--------------------------------------------------------------------------------
/tests/src/com/android/launcher3/util/Wait.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.util;
2 |
3 | import android.os.SystemClock;
4 |
5 | /**
6 | * A utility class for waiting for a condition to be true.
7 | */
8 | public class Wait {
9 |
10 | private static final long DEFAULT_SLEEP_MS = 200;
11 |
12 | public static boolean atMost(Condition condition, long timeout) {
13 | return atMost(condition, timeout, DEFAULT_SLEEP_MS);
14 | }
15 |
16 | public static boolean atMost(Condition condition, long timeout, long sleepMillis) {
17 | long endTime = SystemClock.uptimeMillis() + timeout;
18 | while (SystemClock.uptimeMillis() < endTime) {
19 | try {
20 | if (condition.isTrue()) {
21 | return true;
22 | }
23 | } catch (Throwable t) {
24 | // Ignore
25 | }
26 | SystemClock.sleep(sleepMillis);
27 | }
28 |
29 | // Check once more before returning false.
30 | try {
31 | if (condition.isTrue()) {
32 | return true;
33 | }
34 | } catch (Throwable t) {
35 | // Ignore
36 | }
37 | return false;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------