├── app
├── .gitignore
├── debug.jks
└── src
│ └── main
│ ├── res
│ ├── values-sw600dp
│ │ ├── config.xml
│ │ └── dimens.xml
│ ├── drawable-hdpi
│ │ ├── weather_01.png
│ │ ├── weather_01n.png
│ │ ├── weather_02.png
│ │ ├── weather_02n.png
│ │ ├── weather_03.png
│ │ ├── weather_03n.png
│ │ ├── weather_04.png
│ │ ├── weather_04n.png
│ │ ├── weather_09.png
│ │ ├── weather_10.png
│ │ ├── weather_10n.png
│ │ ├── weather_11.png
│ │ ├── weather_13.png
│ │ ├── weather_50.png
│ │ ├── widget_tile.png
│ │ ├── ic_shortcut_home.png
│ │ ├── workspace_bg.9.png
│ │ ├── launcher_clock_top.png
│ │ ├── page_hover_left.9.png
│ │ ├── page_hover_right.9.png
│ │ ├── tile_shadow_top.9.png
│ │ ├── virtual_preload.9.png
│ │ ├── launcher_clock_base.png
│ │ ├── launcher_clock_hour.png
│ │ ├── launcher_clock_minute.png
│ │ ├── launcher_clock_second.png
│ │ ├── tile_shadow_bottom.9.png
│ │ ├── widget_resize_frame.9.png
│ │ ├── weather_none_available.png
│ │ ├── widget_resize_shadow.9.png
│ │ ├── page_hover_left_active.9.png
│ │ ├── page_hover_right_active.9.png
│ │ └── virtual_preload_folder.9.png
│ ├── drawable-mdpi
│ │ ├── weather_01.png
│ │ ├── weather_01n.png
│ │ ├── weather_02.png
│ │ ├── weather_02n.png
│ │ ├── weather_03.png
│ │ ├── weather_03n.png
│ │ ├── weather_04.png
│ │ ├── weather_04n.png
│ │ ├── weather_09.png
│ │ ├── weather_10.png
│ │ ├── weather_10n.png
│ │ ├── weather_11.png
│ │ ├── weather_13.png
│ │ ├── weather_50.png
│ │ ├── widget_tile.png
│ │ ├── ic_shortcut_home.png
│ │ ├── workspace_bg.9.png
│ │ ├── launcher_clock_top.png
│ │ ├── page_hover_left.9.png
│ │ ├── page_hover_right.9.png
│ │ ├── tile_shadow_top.9.png
│ │ ├── virtual_preload.9.png
│ │ ├── launcher_clock_base.png
│ │ ├── launcher_clock_hour.png
│ │ ├── launcher_clock_minute.png
│ │ ├── launcher_clock_second.png
│ │ ├── tile_shadow_bottom.9.png
│ │ ├── widget_resize_frame.9.png
│ │ ├── weather_none_available.png
│ │ ├── widget_resize_shadow.9.png
│ │ ├── page_hover_left_active.9.png
│ │ ├── page_hover_right_active.9.png
│ │ └── virtual_preload_folder.9.png
│ ├── drawable-xhdpi
│ │ ├── weather_01.png
│ │ ├── weather_02.png
│ │ ├── weather_03.png
│ │ ├── weather_04.png
│ │ ├── weather_09.png
│ │ ├── weather_10.png
│ │ ├── weather_11.png
│ │ ├── weather_13.png
│ │ ├── weather_50.png
│ │ ├── weather_01n.png
│ │ ├── weather_02n.png
│ │ ├── weather_03n.png
│ │ ├── weather_04n.png
│ │ ├── weather_10n.png
│ │ ├── widget_tile.png
│ │ ├── workspace_bg.9.png
│ │ ├── ic_shortcut_home.png
│ │ ├── page_hover_left.9.png
│ │ ├── tile_shadow_top.9.png
│ │ ├── virtual_preload.9.png
│ │ ├── launcher_clock_base.png
│ │ ├── launcher_clock_hour.png
│ │ ├── launcher_clock_top.png
│ │ ├── page_hover_right.9.png
│ │ ├── tile_shadow_bottom.9.png
│ │ ├── launcher_clock_minute.png
│ │ ├── launcher_clock_second.png
│ │ ├── weather_none_available.png
│ │ ├── widget_resize_frame.9.png
│ │ ├── widget_resize_shadow.9.png
│ │ ├── page_hover_left_active.9.png
│ │ ├── page_hover_right_active.9.png
│ │ └── virtual_preload_folder.9.png
│ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_round.png
│ │ ├── ic_launcher_background.png
│ │ └── ic_launcher_foreground.png
│ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_round.png
│ │ ├── ic_launcher_background.png
│ │ └── ic_launcher_foreground.png
│ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_round.png
│ │ ├── ic_launcher_background.png
│ │ └── ic_launcher_foreground.png
│ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_round.png
│ │ ├── ic_launcher_background.png
│ │ └── ic_launcher_foreground.png
│ ├── values
│ │ ├── ids.xml
│ │ ├── integers.xml
│ │ └── arrays.xml
│ ├── xml
│ │ ├── provider_paths.xml
│ │ ├── sleep_admin_policy.xml
│ │ ├── backupscheme.xml
│ │ ├── launcher_debug_preferences.xml
│ │ ├── launcher_hidden_preferences.xml
│ │ ├── shortcuts.xml
│ │ ├── app_target_email.xml
│ │ ├── launcher_backup_preferences.xml
│ │ ├── app_target_browser.xml
│ │ ├── app_target_camera.xml
│ │ ├── app_target_gallery.xml
│ │ ├── app_target_phone.xml
│ │ └── app_target_messenger.xml
│ ├── drawable-xxhdpi
│ │ ├── weather_01.png
│ │ ├── weather_01n.png
│ │ ├── weather_02.png
│ │ ├── weather_02n.png
│ │ ├── weather_03.png
│ │ ├── weather_03n.png
│ │ ├── weather_04.png
│ │ ├── weather_04n.png
│ │ ├── weather_09.png
│ │ ├── weather_10.png
│ │ ├── weather_10n.png
│ │ ├── weather_11.png
│ │ ├── weather_13.png
│ │ ├── weather_50.png
│ │ ├── widget_tile.png
│ │ ├── workspace_bg.9.png
│ │ ├── ic_shortcut_home.png
│ │ ├── launcher_clock_base.png
│ │ ├── launcher_clock_hour.png
│ │ ├── launcher_clock_top.png
│ │ ├── page_hover_left.9.png
│ │ ├── page_hover_right.9.png
│ │ ├── tile_shadow_top.9.png
│ │ ├── virtual_preload.9.png
│ │ ├── launcher_clock_minute.png
│ │ ├── launcher_clock_second.png
│ │ ├── tile_shadow_bottom.9.png
│ │ ├── widget_resize_frame.9.png
│ │ ├── page_hover_left_active.9.png
│ │ ├── virtual_preload_folder.9.png
│ │ ├── weather_none_available.png
│ │ ├── widget_resize_shadow.9.png
│ │ └── page_hover_right_active.9.png
│ ├── drawable-xxxhdpi
│ │ ├── weather_01.png
│ │ ├── weather_02.png
│ │ ├── weather_03.png
│ │ ├── weather_04.png
│ │ ├── weather_09.png
│ │ ├── weather_10.png
│ │ ├── weather_11.png
│ │ ├── weather_13.png
│ │ ├── weather_50.png
│ │ ├── weather_01n.png
│ │ ├── weather_02n.png
│ │ ├── weather_03n.png
│ │ ├── weather_04n.png
│ │ ├── weather_10n.png
│ │ ├── workspace_bg.9.png
│ │ ├── ic_shortcut_home.png
│ │ ├── launcher_clock_top.png
│ │ ├── launcher_clock_base.png
│ │ ├── launcher_clock_hour.png
│ │ ├── launcher_clock_minute.png
│ │ ├── launcher_clock_second.png
│ │ ├── weather_none_available.png
│ │ ├── widget_resize_frame.9.png
│ │ └── widget_resize_shadow.9.png
│ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_round.png
│ │ ├── ic_launcher_background.png
│ │ └── ic_launcher_foreground.png
│ ├── raw
│ │ └── keep.xml
│ ├── values-en-rGB
│ │ └── strings.xml
│ ├── drawable
│ │ ├── bg_white_round_rect.xml
│ │ ├── card_round_rect.xml
│ │ ├── launcher_clock_background.xml
│ │ ├── round_rect_primary.xml
│ │ ├── gutter_horizontal.xml
│ │ ├── ic_check_white.xml
│ │ ├── ic_desktop.xml
│ │ ├── ic_widget_resize_handle.xml
│ │ ├── bg_pixel_qsb_connector.xml
│ │ ├── ic_close.xml
│ │ ├── plane.xml
│ │ ├── ic_backup.xml
│ │ ├── ic_list_remove.xml
│ │ ├── ic_edit_no_shadow.xml
│ │ ├── ic_restore_white.xml
│ │ ├── bg_qsb_mic.xml
│ │ ├── ic_behavior.xml
│ │ ├── ic_restore.xml
│ │ ├── ic_uninstall_no_shadow.xml
│ │ ├── ic_file_restore.xml
│ │ ├── ic_actionbar_accept.xml
│ │ ├── ic_undo_black_24dp.xml
│ │ ├── ic_check.xml
│ │ ├── ic_remove_no_shadow.xml
│ │ ├── horizontal_ellipsis.xml
│ │ ├── ic_share.xml
│ │ ├── bg_qsb_pill.xml
│ │ ├── ic_information.xml
│ │ ├── ic_info_no_shadow.xml
│ │ ├── bg_search_bar_round.xml
│ │ ├── ic_images.xml
│ │ ├── ic_dock.xml
│ │ ├── ic_import_export.xml
│ │ ├── ic_ui.xml
│ │ ├── opa_assistant_logo.xml
│ │ ├── ic_twitter.xml
│ │ ├── all_apps_divider.xml
│ │ ├── quantum_panel_shape.xml
│ │ ├── quantum_panel_shape_dark.xml
│ │ ├── all_apps_search_hint.xml
│ │ ├── ic_super_g_color.xml
│ │ ├── quantum_panel.xml
│ │ ├── quantum_panel_dark.xml
│ │ ├── widget_internal_focus_bg.xml
│ │ └── container_fastscroll_popup_bg.xml
│ ├── layout
│ │ ├── qsb_wide_experiment.xml
│ │ ├── widget_list_divider.xml
│ │ ├── planes.xml
│ │ ├── qsb_connector.xml
│ │ ├── system_shortcut_icons.xml
│ │ ├── icon_item.xml
│ │ ├── system_shortcut_icon_only.xml
│ │ ├── fragment_selectable_apps.xml
│ │ ├── popup_container.xml
│ │ ├── main_item.xml
│ │ ├── plane_widget.xml
│ │ ├── widget_cell.xml
│ │ ├── activity_icon_picker.xml
│ │ ├── backup_blank.xml
│ │ ├── shortcuts_item.xml
│ │ ├── widgets_scroll_container.xml
│ │ ├── activity_backup_list.xml
│ │ ├── qsb_without_mic.xml
│ │ ├── qsb_wide_without_mic.xml
│ │ ├── app_icon.xml
│ │ ├── appwidget_not_ready.xml
│ │ ├── folder_application.xml
│ │ ├── qsb_blocker_view.xml
│ │ ├── workspace_screen.xml
│ │ ├── icon_category_loading.xml
│ │ ├── qsb_container.xml
│ │ ├── activity_settings.xml
│ │ ├── hotseat.xml
│ │ ├── activity_edit_icon.xml
│ │ ├── all_apps_icon.xml
│ │ ├── appwidget_error.xml
│ │ ├── all_apps_search_divider.xml
│ │ └── icon_pack_item.xml
│ ├── values-v26
│ │ └── styles.xml
│ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ ├── menu
│ │ ├── menu_edit_icon.xml
│ │ ├── menu_hide_apps.xml
│ │ └── cab_delete_wallpapers.xml
│ ├── animator
│ │ ├── fade_out.xml
│ │ ├── fade_in.xml
│ │ ├── fly_in.xml
│ │ └── fly_out.xml
│ ├── values-sw720dp
│ │ ├── config.xml
│ │ └── dimens.xml
│ ├── values-v23
│ │ └── styles.xml
│ ├── anim
│ │ ├── no_anim.xml
│ │ ├── decelerate_quart.xml
│ │ ├── decelerate_quint.xml
│ │ ├── disco_bounce_section1.xml
│ │ ├── disco_bounce_section2.xml
│ │ ├── disco_bounce_section3.xml
│ │ └── fade_out.xml
│ ├── values-zh-rHK
│ │ └── strings.xml
│ ├── drawable-anydpi
│ │ └── launcher_clock.xml
│ ├── values-sw340dp
│ │ └── dimens.xml
│ └── drawable-ldrtl
│ │ └── container_fastscroll_popup_bg.xml
│ ├── ic_launcher-web.png
│ └── java
│ └── ch
│ └── deletescape
│ ├── lawnchair
│ ├── OnAlarmListener.java
│ ├── gestures
│ │ ├── GestureHandler.kt
│ │ ├── Gesture.kt
│ │ ├── dt2s
│ │ │ └── SleepDeviceAdmin.kt
│ │ └── GestureController.kt
│ ├── AppFilter.java
│ ├── popup
│ │ └── theme
│ │ │ ├── IPopupThemer.kt
│ │ │ ├── PopupBaseTheme.kt
│ │ │ └── PopupCardTheme.kt
│ ├── util
│ │ ├── TouchController.java
│ │ ├── Provider.java
│ │ ├── MapHashMap.java
│ │ ├── FlagOp.java
│ │ ├── LabelComparator.java
│ │ ├── StringFilter.java
│ │ ├── NoLocaleSqliteContext.java
│ │ └── CellAndSpan.java
│ ├── config
│ │ ├── IThemer.kt
│ │ ├── ThemeProvider.kt
│ │ └── ProviderConfig.kt
│ ├── allapps
│ │ ├── UnicodeStrippedAppSearchController.java
│ │ ├── theme
│ │ │ ├── AllAppsVerticalTheme.kt
│ │ │ └── IAllAppsThemer.kt
│ │ ├── DefaultAppSearchController.java
│ │ └── UnicodeStrippedAppSearchAlgorithm.java
│ ├── LauncherProviderChangeListener.java
│ ├── widget
│ │ └── WidgetListRowEntry.java
│ ├── ItemInfoWithIcon.java
│ ├── pixelify
│ │ └── Util.java
│ ├── preferences
│ │ ├── PreferenceProvider.kt
│ │ └── GoogleNowPreference.kt
│ ├── BlankActivity.kt
│ ├── iconpack
│ │ └── DefaultIconPack.java
│ ├── App.java
│ ├── PreferenceAppFilter.java
│ ├── kustomsupport
│ │ └── AutoFinishTransparentActivity.java
│ ├── SimpleOnStylusPressListener.java
│ ├── EditableItemInfo.kt
│ ├── LauncherFiles.java
│ ├── StringSetAppFilter.java
│ ├── LauncherBackupAgent.java
│ ├── LogAccelerateInterpolator.java
│ ├── LogDecelerateInterpolator.java
│ ├── Insettable.java
│ ├── badge
│ │ └── FolderBadgeInfo.java
│ ├── LauncherTransitionable.java
│ └── compat
│ │ └── UserManagerCompatVNMr1.java
│ └── wallpaperpicker
│ ├── WallpaperFiles.java
│ ├── glrenderer
│ ├── GLES20IdImpl.java
│ └── GLId.java
│ └── common
│ ├── WallpaperManagerCompatV16.java
│ └── WallpaperManagerCompatVN.java
├── lawnfeed
├── .gitignore
├── src
│ └── main
│ │ ├── ic_launcher-web.png
│ │ ├── res
│ │ ├── xml
│ │ │ └── file_paths.xml
│ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ ├── ic_launcher_round.png
│ │ │ ├── ic_launcher_background.png
│ │ │ └── ic_launcher_foreground.png
│ │ ├── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ └── java
│ │ └── ch
│ │ └── deletescape
│ │ └── lawnchair
│ │ └── lawnfeed
│ │ └── LauncherClientProxyService.kt
└── proguard-rules.pro
├── launcherclient
├── .gitignore
├── src
│ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── res
│ │ └── values
│ │ │ └── strings.xml
│ │ ├── aidl
│ │ └── ch
│ │ │ └── deletescape
│ │ │ └── lawnchair
│ │ │ └── launcherclient
│ │ │ ├── WindowLayoutParams.aidl
│ │ │ ├── ILauncherClientProxyCallback.aidl
│ │ │ └── ILauncherClientProxy.aidl
│ │ └── java
│ │ └── ch
│ │ └── deletescape
│ │ └── lawnchair
│ │ └── launcherclient
│ │ └── LauncherClientProxyConnection.kt
├── build.gradle
└── proguard-rules.pro
├── settings.gradle
├── banner.png
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── scripts
├── changelog.sh
├── deploy-hockeyapp.sh
└── s3-upload.sh
├── gradle.properties
├── crowdin.yml
└── .gitignore
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/lawnfeed/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/launcherclient/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':launcherclient', ':lawnfeed'
2 |
--------------------------------------------------------------------------------
/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/banner.png
--------------------------------------------------------------------------------
/app/debug.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/debug.jks
--------------------------------------------------------------------------------
/launcherclient/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw600dp/config.xml:
--------------------------------------------------------------------------------
1 |
2 | true
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/launcherclient/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | LauncherClient
3 |
4 |
--------------------------------------------------------------------------------
/lawnfeed/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_01.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_01n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_01n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_02.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_02n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_02n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_03.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_03n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_03n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_04.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_04n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_04n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_09.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_10.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_10n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_10n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_11.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_13.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_50.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/widget_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/widget_tile.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_01.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_01n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_01n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_02.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_02n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_02n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_03.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_03n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_03n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_04.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_04n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_04n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_09.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_10.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_10n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_10n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_11.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_13.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_50.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/widget_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/widget_tile.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_01.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_02.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_03.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_04.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_09.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_10.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_11.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_13.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_50.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/provider_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_01n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_01n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_02n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_02n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_03n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_03n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_04n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_04n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_10n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_10n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/widget_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/widget_tile.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_01.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_01n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_01n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_02.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_02n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_02n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_03.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_03n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_03n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_04.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_04n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_04n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_09.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_10.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_10n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_10n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_11.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_13.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_50.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/widget_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/widget_tile.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_01.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_02.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_03.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_04.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_09.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_10.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_11.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_13.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_50.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/xml/file_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_shortcut_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/ic_shortcut_home.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_shortcut_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/ic_shortcut_home.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_01n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_01n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_02n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_02n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_03n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_03n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_04n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_04n.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_10n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_10n.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/launcher_clock_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/launcher_clock_top.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/page_hover_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/page_hover_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/page_hover_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/page_hover_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/tile_shadow_top.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/tile_shadow_top.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/virtual_preload.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/virtual_preload.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/launcher_clock_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/launcher_clock_top.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/page_hover_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/page_hover_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/page_hover_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/page_hover_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/tile_shadow_top.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/tile_shadow_top.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/virtual_preload.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/virtual_preload.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_shortcut_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/ic_shortcut_home.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/page_hover_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/page_hover_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/tile_shadow_top.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/tile_shadow_top.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/virtual_preload.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/virtual_preload.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_shortcut_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/ic_shortcut_home.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/workspace_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/workspace_bg.9.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/launcher_clock_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/launcher_clock_base.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/launcher_clock_hour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/launcher_clock_hour.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/launcher_clock_minute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/launcher_clock_minute.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/launcher_clock_second.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/launcher_clock_second.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/tile_shadow_bottom.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/tile_shadow_bottom.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/launcher_clock_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/launcher_clock_base.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/launcher_clock_hour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/launcher_clock_hour.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/launcher_clock_minute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/launcher_clock_minute.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/launcher_clock_second.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/launcher_clock_second.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/tile_shadow_bottom.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/tile_shadow_bottom.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/launcher_clock_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/launcher_clock_base.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/launcher_clock_hour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/launcher_clock_hour.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/launcher_clock_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/launcher_clock_top.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/page_hover_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/page_hover_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/tile_shadow_bottom.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/tile_shadow_bottom.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/launcher_clock_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/launcher_clock_base.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/launcher_clock_hour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/launcher_clock_hour.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/launcher_clock_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/launcher_clock_top.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/page_hover_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/page_hover_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/page_hover_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/page_hover_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/tile_shadow_top.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/tile_shadow_top.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/virtual_preload.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/virtual_preload.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_shortcut_home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/ic_shortcut_home.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/launcher_clock_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/launcher_clock_top.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/weather_none_available.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/weather_none_available.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/weather_none_available.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/weather_none_available.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/launcher_clock_minute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/launcher_clock_minute.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/launcher_clock_second.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/launcher_clock_second.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weather_none_available.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/weather_none_available.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/launcher_clock_minute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/launcher_clock_minute.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/launcher_clock_second.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/launcher_clock_second.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/tile_shadow_bottom.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/tile_shadow_bottom.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/launcher_clock_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/launcher_clock_base.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/launcher_clock_hour.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/launcher_clock_hour.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/raw/keep.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/launcherclient/src/main/aidl/ch/deletescape/lawnchair/launcherclient/WindowLayoutParams.aidl:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.launcherclient;
2 |
3 | parcelable WindowLayoutParams;
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/OnAlarmListener.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | public interface OnAlarmListener {
4 | void onAlarm(Alarm alarm);
5 | }
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/page_hover_left_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/page_hover_left_active.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/page_hover_right_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/page_hover_right_active.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/virtual_preload_folder.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-hdpi/virtual_preload_folder.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/page_hover_left_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/page_hover_left_active.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/page_hover_right_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/page_hover_right_active.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/virtual_preload_folder.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-mdpi/virtual_preload_folder.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/page_hover_left_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/page_hover_left_active.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/page_hover_right_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/page_hover_right_active.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/virtual_preload_folder.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xhdpi/virtual_preload_folder.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/page_hover_left_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/page_hover_left_active.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/virtual_preload_folder.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/virtual_preload_folder.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/weather_none_available.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/weather_none_available.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/launcher_clock_minute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/launcher_clock_minute.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/launcher_clock_second.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/launcher_clock_second.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/weather_none_available.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/weather_none_available.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/widget_resize_frame.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/widget_resize_frame.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/widget_resize_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxxhdpi/widget_resize_shadow.9.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-hdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-hdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-mdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-mdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/page_hover_right_active.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/app/src/main/res/drawable-xxhdpi/page_hover_right_active.9.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xxhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LawnchairLauncher/Lawnchair-V1/HEAD/lawnfeed/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/xml/sleep_admin_policy.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values-en-rGB/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EEEE, d MMMM
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_white_round_rect.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/card_round_rect.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/launcher_clock_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/gestures/GestureHandler.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.gestures
2 |
3 | import ch.deletescape.lawnchair.Launcher
4 |
5 | abstract class GestureHandler(val launcher: Launcher) {
6 |
7 | abstract fun onGestureTrigger()
8 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/gestures/Gesture.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.gestures
2 |
3 | import android.view.MotionEvent
4 |
5 | interface Gesture {
6 |
7 | val isEnabled: Boolean
8 |
9 | fun onTouchEvent(ev: MotionEvent): Boolean
10 | }
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/qsb_wide_experiment.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Feb 23 08:18:40 SGT 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.5-all.zip
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_rect_primary.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v26/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/AppFilter.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | import android.content.ComponentName;
4 | import android.content.Context;
5 |
6 | public interface AppFilter {
7 |
8 | boolean shouldShowApp(ComponentName app, Context context);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_list_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/popup/theme/IPopupThemer.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.popup.theme
2 |
3 | interface IPopupThemer {
4 |
5 | val itemBg: Int
6 | val childItemBg: Int
7 | val itemSpacing: Int
8 | val backgroundRadius: Int
9 | val wrapInMain: Boolean
10 | }
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/gutter_horizontal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/backupscheme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/util/TouchController.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.util;
2 |
3 | import android.view.MotionEvent;
4 |
5 | public interface TouchController {
6 |
7 | boolean onControllerTouchEvent(MotionEvent ev);
8 | boolean onControllerInterceptTouchEvent(MotionEvent ev);
9 | }
10 |
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_check_white.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_edit_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/planes.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/scripts/changelog.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | if [ ! -z "$TRAVIS_TAG" ]
4 | then
5 | TRAVIS_COMMIT_RANGE="$(git describe --abbrev=0 --tags $TRAVIS_TAG^)..$TRAVIS_TAG"
6 | fi
7 |
8 | GIT_COMMIT_LOG="$(git log --format='%s (by %cn)' $TRAVIS_COMMIT_RANGE)"
9 | printf '%s\n' "$GIT_COMMIT_LOG" | while IFS= read -r line
10 | do
11 | echo "- ${line}"
12 | done
13 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/qsb_connector.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 200
4 | 200
5 |
6 | 245
7 | 75
8 | 0
9 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/fade_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/fade_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_desktop.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/system_shortcut_icons.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/config/IThemer.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.config
2 |
3 | import android.content.Context
4 | import ch.deletescape.lawnchair.allapps.theme.IAllAppsThemer
5 | import ch.deletescape.lawnchair.popup.theme.IPopupThemer
6 |
7 | interface IThemer {
8 |
9 | fun allAppsTheme(context: Context): IAllAppsThemer
10 | fun popupTheme(context: Context): IPopupThemer
11 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_widget_resize_handle.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_pixel_qsb_connector.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_close.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/icon_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
--------------------------------------------------------------------------------
/scripts/deploy-hockeyapp.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | BRANCH=$1
4 |
5 | curl \
6 | -F status="2" \
7 | -F notify="1" \
8 | -F tags="$BRANCH" \
9 | -F dsym=@"proguard-$MAJOR_MINOR.$TRAVIS_BUILD_NUMBER.txt" \
10 | -F ipa=@"Lawnchair-$MAJOR_MINOR.$TRAVIS_BUILD_NUMBER.apk" \
11 | -H "X-HockeyAppToken: $HOCKEYAPP_TOKEN" \
12 | https://rink.hockeyapp.net/api/2/apps/$HOCKEYAPP_APPID/app_versions/upload
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw720dp/config.xml:
--------------------------------------------------------------------------------
1 |
2 | true
3 |
4 |
5 |
6 | 90
7 |
8 |
9 | false
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/system_shortcut_icon_only.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/launcherclient/src/main/aidl/ch/deletescape/lawnchair/launcherclient/ILauncherClientProxyCallback.aidl:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.launcherclient;
2 |
3 | interface ILauncherClientProxyCallback {
4 |
5 | void overlayScrollChanged(float progress);
6 |
7 | void overlayStatusChanged(int status);
8 |
9 | void onServiceConnected();
10 |
11 | void onServiceDisconnected();
12 |
13 | void onQsbResult(int resultCode);
14 | }
15 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/allapps/UnicodeStrippedAppSearchController.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.allapps;
2 |
3 | /**
4 | * The unicode stripped search controller.
5 | */
6 | public class UnicodeStrippedAppSearchController extends AllAppsSearchBarController {
7 |
8 | public DefaultAppSearchAlgorithm onInitializeSearch() {
9 | return new UnicodeStrippedAppSearchAlgorithm(mApps.getUnfilteredApps());
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_selectable_apps.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/config/ThemeProvider.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.config
2 |
3 | object ThemeProvider {
4 |
5 | // single instance for whole app
6 | private var themerIMPL: IThemer? = null
7 |
8 | fun init(flags: IThemer) {
9 | themerIMPL = flags
10 | }
11 |
12 | fun getThemer(): IThemer {
13 | if (themerIMPL == null)
14 | return ThemerImpl()
15 | return themerIMPL as IThemer
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/plane.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Lawnfeed
3 | Update available
4 | A new version of Lawnfeed is available to download!
5 | Downloading...
6 | Error downloading file
7 | Lawnfeed Updates
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_backup.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/popup/theme/PopupBaseTheme.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.popup.theme
2 |
3 | import ch.deletescape.lawnchair.R
4 |
5 | class PopupBaseTheme : IPopupThemer {
6 |
7 | override val itemBg = R.drawable.bg_white_round_rect
8 | override val childItemBg = R.drawable.bg_white_round_rect
9 | override val itemSpacing = R.dimen.popup_items_spacing
10 | override val backgroundRadius = R.dimen.bg_round_rect_radius
11 | override val wrapInMain = false
12 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/popup/theme/PopupCardTheme.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.popup.theme
2 |
3 | import ch.deletescape.lawnchair.R
4 |
5 | class PopupCardTheme : IPopupThemer {
6 |
7 | override val itemBg = R.drawable.bg_white_round_rect
8 | override val childItemBg = R.drawable.card_round_rect
9 | override val itemSpacing = R.dimen.popup_items_spacing
10 | override val backgroundRadius = R.dimen.bg_round_rect_radius
11 | override val wrapInMain = false
12 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/LauncherProviderChangeListener.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
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 | void onLauncherProviderChange();
11 |
12 | void onExtractedColorsChanged();
13 | }
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_list_remove.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/gestures/dt2s/SleepDeviceAdmin.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.gestures.dt2s
2 |
3 | import android.app.admin.DeviceAdminReceiver
4 | import android.content.Context
5 | import android.content.Intent
6 |
7 | import ch.deletescape.lawnchair.R
8 |
9 | class SleepDeviceAdmin : DeviceAdminReceiver() {
10 |
11 | override fun onDisableRequested(context: Context, intent: Intent): CharSequence {
12 | return context.getString(R.string.dt2s_admin_warning)
13 | }
14 | }
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_hide_apps.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/popup_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/wallpaperpicker/WallpaperFiles.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.wallpaperpicker;
2 |
3 | /**
4 | * Central list of files the WallpaperPicker writes to the application data directory.
5 | */
6 | public class WallpaperFiles {
7 |
8 | public static final String DEFAULT_WALLPAPER_THUMBNAIL = "default_thumb2.jpg";
9 | public static final String DEFAULT_WALLPAPER_THUMBNAIL_OLD = "default_thumb.jpg";
10 | public static final String WALLPAPER_IMAGES_DB = "saved_wallpaper_images.db";
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/allapps/theme/AllAppsVerticalTheme.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.allapps.theme
2 |
3 | import android.content.Context
4 | import ch.deletescape.lawnchair.R
5 |
6 | class AllAppsVerticalTheme(context: Context) : AllAppsBaseTheme(context) {
7 |
8 | override val iconLayout = R.layout.all_apps_icon_vertical
9 | override fun numIconPerRow(default: Int) = 1
10 | override fun iconHeight(default: Int) = context.resources.getDimensionPixelSize(R.dimen.all_apps_vertical_row_height)
11 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_edit_no_shadow.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_restore_white.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_qsb_mic.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/main_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/plane_widget.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_behavior.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_restore.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/launcher_debug_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
11 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/widget/WidgetListRowEntry.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.widget;
2 |
3 | import java.util.ArrayList;
4 |
5 | import ch.deletescape.lawnchair.model.PackageItemInfo;
6 |
7 | public class WidgetListRowEntry {
8 | public final PackageItemInfo pkgItem;
9 | public String titleSectionName;
10 | public final ArrayList widgets;
11 |
12 | public WidgetListRowEntry(PackageItemInfo packageItemInfo, ArrayList arrayList) {
13 | this.pkgItem = packageItemInfo;
14 | this.widgets = arrayList;
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_uninstall_no_shadow.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/ItemInfoWithIcon.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | import android.graphics.Bitmap;
4 |
5 | public abstract class ItemInfoWithIcon extends ItemInfo {
6 | public Bitmap iconBitmap;
7 | public boolean usingLowResIcon;
8 |
9 | protected ItemInfoWithIcon() {
10 | }
11 |
12 | protected ItemInfoWithIcon(ItemInfoWithIcon itemInfoWithIcon) {
13 | super(itemInfoWithIcon);
14 | this.iconBitmap = itemInfoWithIcon.iconBitmap;
15 | this.usingLowResIcon = itemInfoWithIcon.usingLowResIcon;
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_cell.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/util/Provider.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.util;
2 |
3 | public abstract class Provider {
4 | public abstract Object get();
5 |
6 | public static Provider of(Object obj) {
7 | return new ProviderImpl(obj);
8 | }
9 |
10 | static final class ProviderImpl extends Provider {
11 | final Object value;
12 |
13 | ProviderImpl(Object obj) {
14 | this.value = obj;
15 | }
16 |
17 | @Override
18 | public Object get() {
19 | return this.value;
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_file_restore.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_icon_picker.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
--------------------------------------------------------------------------------
/launcherclient/src/main/java/ch/deletescape/lawnchair/launcherclient/LauncherClientProxyConnection.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.launcherclient
2 |
3 | import android.content.Context
4 |
5 | class LauncherClientProxyConnection(
6 | private val context: Context,
7 | private val proxyPackage: String = "ch.deletescape.lawnchair.launcherclientproxy",
8 | private val overlayEnabled: Boolean) {
9 |
10 |
11 | companion object {
12 | const val SERVICE_DISCONNECTED = 0
13 | const val SERVICE_CONNECTED = 1
14 | const val SERVICE_CONNECTING = 2
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_actionbar_accept.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/pixelify/Util.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.pixelify;
2 |
3 | import android.content.IntentFilter;
4 |
5 | public class Util {
6 |
7 | public static IntentFilter createIntentFilter(String... Actions) {
8 | IntentFilter intentFilter = new IntentFilter();
9 | for (String action : Actions) {
10 | intentFilter.addAction(action);
11 | }
12 | intentFilter.addDataScheme("package");
13 | intentFilter.addDataSchemeSpecificPart("com.google.android.googlequicksearchbox", 0);
14 | return intentFilter;
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_undo_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_check.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/backup_blank.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
15 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/preferences/PreferenceProvider.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.preferences
2 |
3 | import android.content.Context
4 |
5 | object PreferenceProvider {
6 |
7 | // single instance for whole app
8 | private var preferenceIMPL: IPreferenceProvider? = null
9 |
10 | fun init(flags: IPreferenceProvider) {
11 | preferenceIMPL = flags
12 | }
13 |
14 | fun getPreferences(context: Context): IPreferenceProvider {
15 | if (preferenceIMPL == null)
16 | return PreferenceImpl(context)
17 | return preferenceIMPL as IPreferenceProvider
18 | }
19 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/shortcuts_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/BlankActivity.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair
2 |
3 | import android.app.Activity
4 | import android.os.Bundle
5 |
6 |
7 | class BlankActivity : Activity() {
8 |
9 | override fun onCreate(savedInstanceState: Bundle?) {
10 | super.onCreate(savedInstanceState)
11 |
12 | if (intent == null || !intent.hasExtra("action")) {
13 | finish()
14 | return
15 | }
16 |
17 | when (intent.getStringExtra("action")) {
18 | "setDefaultLauncher" -> Utilities.setDefaultLauncher(this)
19 | }
20 |
21 | finish()
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/util/MapHashMap.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.util;
2 |
3 | import java.util.HashMap;
4 |
5 | public class MapHashMap extends HashMap> {
6 |
7 | public HashMap getOrCreate(K1 key) {
8 | HashMap list = get(key);
9 | if (list == null) {
10 | list = new HashMap<>();
11 | put(key, list);
12 | }
13 | return list;
14 | }
15 |
16 | public void putAllToMap(K1 key, HashMap values) {
17 | HashMap map = getOrCreate(key);
18 | map.putAll(values);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_remove_no_shadow.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/iconpack/DefaultIconPack.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.iconpack;
2 |
3 | import android.graphics.drawable.Drawable;
4 |
5 | import ch.deletescape.lawnchair.compat.LauncherActivityInfoCompat;
6 |
7 | public class DefaultIconPack extends IconPack {
8 |
9 | public DefaultIconPack() {
10 | super(null, null, null, null, null, null, 1f, null);
11 | }
12 |
13 | @Override
14 | public Drawable getIcon(LauncherActivityInfoCompat info) {
15 | return info.getIcon(0);
16 | }
17 |
18 | @Override
19 | public String getPackageName() {
20 | return "";
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/launcher_hidden_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
12 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/App.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | import android.app.Application;
4 |
5 | import ch.deletescape.lawnchair.preferences.PreferenceImpl;
6 | import ch.deletescape.lawnchair.preferences.PreferenceProvider;
7 |
8 | public class App extends Application {
9 |
10 | @Override
11 | public void onCreate() {
12 | super.onCreate();
13 |
14 | PreferenceProvider.INSTANCE.init(new PreferenceImpl(this));
15 | // Ensure we have a version value written so we can easily migrate in v2
16 | PreferenceProvider.INSTANCE.getPreferences(this).setConfigVersion(100);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/horizontal_ellipsis.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/fly_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
15 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/PreferenceAppFilter.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | import android.content.ComponentName;
4 | import android.content.Context;
5 |
6 | import ch.deletescape.lawnchair.preferences.IPreferenceProvider;
7 |
8 | public class PreferenceAppFilter implements AppFilter {
9 |
10 | @Override
11 | public boolean shouldShowApp(ComponentName app, Context context) {
12 | if (app.getPackageName().equals(context.getPackageName()))
13 | return false;
14 | IPreferenceProvider prefs = Utilities.getPrefs(context);
15 | return !Utilities.isAppHidden(context, app.flattenToString());
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/fly_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
15 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
13 | org.gradle.daemon=true
14 | org.gradle.parallel=true
15 | org.gradle.configureondemand=true
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widgets_scroll_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
16 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/kustomsupport/AutoFinishTransparentActivity.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.kustomsupport;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.content.Intent;
6 | import android.os.Bundle;
7 | import android.support.annotation.Nullable;
8 |
9 | public class AutoFinishTransparentActivity extends Activity {
10 | @Override
11 | protected void onCreate(@Nullable Bundle savedInstanceState) {
12 | super.onCreate(savedInstanceState);
13 | finish();
14 | }
15 |
16 | public static void start(Context context) {
17 | context.startActivity(new Intent(context, AutoFinishTransparentActivity.class));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v23/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/SimpleOnStylusPressListener.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | import android.view.View;
4 |
5 | import ch.deletescape.lawnchair.StylusEventHelper.StylusButtonListener;
6 |
7 | /**
8 | * Simple listener that performs a long click on the view after a stylus button press.
9 | */
10 | public class SimpleOnStylusPressListener implements StylusButtonListener {
11 | private View mView;
12 |
13 | public SimpleOnStylusPressListener(View view) {
14 | mView = view;
15 | }
16 |
17 | public boolean onPressed() {
18 | return mView.isLongClickable() && mView.performLongClick();
19 | }
20 |
21 | public boolean onReleased() {
22 | return false;
23 | }
24 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_share.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_qsb_pill.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/EditableItemInfo.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair
2 |
3 | import android.content.ComponentName
4 | import android.content.Context
5 | import android.graphics.Bitmap
6 | import android.os.Parcelable
7 | import android.os.UserHandle
8 |
9 | interface EditableItemInfo : Parcelable {
10 |
11 | fun getTitle(): String
12 | fun getTitle(context: Context): String?
13 | fun setTitle(context: Context, title: String?)
14 | fun getIcon(context: Context): String?
15 | fun setIcon(context: Context, icon: String?)
16 | fun reloadIcon(launcher: Launcher)
17 | fun getIconBitmap(iconCache: IconCache): Bitmap
18 |
19 | val type: Int
20 | val user: UserHandle
21 | val componentName: ComponentName?
22 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_information.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_backup_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_info_no_shadow.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_search_bar_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/scripts/s3-upload.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | # Upload files to custom S3 using curl
3 | # Example: ./s3-upload.sh play.minio.io example.txt bucket Q3AM3UQ867SPQQA43P2F zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG
4 |
5 | HOST=$3
6 |
7 | FILE=$1
8 | BUCKET=$2
9 | RESOURCE="/${BUCKET}/${FILE}"
10 | CONTENT_TYPE=$(mimetype -b $FILE)
11 | TIMESTAMP=$(date -R)
12 | STRING_TO_SIGN="PUT\n\n${CONTENT_TYPE}\n${TIMESTAMP}\n${RESOURCE}"
13 |
14 | S3_KEY=$4
15 | S3_SECRET=$5
16 |
17 | SIGNATURE=$(echo -n ${STRING_TO_SIGN} | openssl sha1 -hmac ${S3_SECRET} -binary | base64)
18 | curl -X PUT -T "${FILE}" \
19 | -H "Host: ${HOST}" \
20 | -H "Date: ${TIMESTAMP}" \
21 | -H "Content-Type: ${CONTENT_TYPE}" \
22 | -H "Authorization: AWS ${S3_KEY}:${SIGNATURE}" \
23 | https://${HOST}${RESOURCE}
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_images.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: /app/src/main/res/values/strings.xml
3 | translation: /app/src/main/res/values-%android_code%/%original_file_name%
4 | languages_mapping:
5 | android_code:
6 | ar: ar
7 | ca: ca
8 | cs: cs
9 | da: da
10 | de: de
11 | es-ES: es
12 | el: el
13 | fa: fa
14 | fi: fi
15 | fr: fr
16 | hi: hi
17 | hu: hu
18 | id: in
19 | it: it
20 | he: iw
21 | ja: ja
22 | ko: ko
23 | nl: nl
24 | no: no
25 | ro: ro
26 | pl: pl
27 | ru: ru
28 | sk: sk
29 | sr: sr
30 | sv-SE: sv
31 | tr: tr
32 | uk: uk
33 | vi: vi
34 | zh-CN: zh
35 | en-PT: pir
36 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/qsb_without_mic.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_dock.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_import_export.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/qsb_wide_without_mic.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
18 |
--------------------------------------------------------------------------------
/lawnfeed/src/main/java/ch/deletescape/lawnchair/lawnfeed/LauncherClientProxyService.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.lawnfeed
2 |
3 | import android.app.Service
4 | import android.content.Intent
5 | import android.os.IBinder
6 |
7 | class LauncherClientProxyService : Service() {
8 |
9 | override fun onBind(intent: Intent): IBinder? {
10 | return getBinder()
11 | }
12 |
13 | override fun onUnbind(intent: Intent?): Boolean {
14 | binder?.onUnbind()
15 | binder = null
16 | stopSelf()
17 | return super.onUnbind(intent)
18 | }
19 |
20 | private fun getBinder(): ProxyImpl {
21 | if (binder == null) {
22 | binder = ProxyImpl(applicationContext)
23 | }
24 | return binder!!
25 | }
26 |
27 | private var binder: ProxyImpl? = null
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/LauncherFiles.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | /**
4 | * Central list of files the Launcher writes to the application data directory.
5 | */
6 | public class LauncherFiles {
7 |
8 | public static final String LAUNCHER_DB = "launcher.db";
9 | public static final String SHARED_PREFERENCES_KEY = BuildConfig.APPLICATION_ID + "_preferences";
10 | public static final String OLD_SHARED_PREFERENCES_KEY = "ch.deletescape.lawnchair.prefs";
11 | public static final String MANAGED_USER_PREFERENCES_KEY = "ch.deletescape.lawnchair.managedusers.prefs";
12 |
13 | public static final String WIDGET_PREVIEWS_DB = "widgetpreviews.db";
14 | public static final String APP_ICONS_DB = "app_icons.db";
15 | public static final String APP_SHORTCUTS_DB = "app_shortcuts.db";
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/allapps/theme/IAllAppsThemer.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.allapps.theme
2 |
3 | interface IAllAppsThemer {
4 |
5 | val backgroundColor : Int
6 | val backgroundColorBlur : Int
7 | fun iconTextColor(backgroundAlpha: Int) : Int
8 | val iconTextLines : Int
9 | val searchTextColor : Int
10 | /*
11 | * this color is also used for the market search button, the market item divider and the search bar divider
12 | * currently ignored as hint color for round search bar
13 | */
14 | val searchBarHintTextColor : Int
15 | val fastScrollerHandleColor : Int
16 | val fastScrollerPopupTintColor: Int
17 | val fastScrollerPopupTextColor : Int
18 |
19 | val iconLayout: Int
20 | fun numIconPerRow(default: Int): Int
21 | fun iconHeight(default: Int): Int
22 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/util/FlagOp.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.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 int apply(int flags) {
12 | return flags;
13 | }
14 |
15 | public static FlagOp addFlag(final int flag) {
16 | return new FlagOp() {
17 | @Override
18 | public int apply(int flags) {
19 | return flags | flag;
20 | }
21 | };
22 | }
23 |
24 | public static FlagOp removeFlag(final int flag) {
25 | return new FlagOp() {
26 | @Override
27 | public int apply(int flags) {
28 | return flags & ~flag;
29 | }
30 | };
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/no_anim.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_ui.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/decelerate_quart.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/decelerate_quint.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 |
21 |
--------------------------------------------------------------------------------
/launcherclient/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 | apply plugin: 'kotlin-android'
3 |
4 | android {
5 | compileSdkVersion 27
6 | buildToolsVersion '27.0.3'
7 |
8 | defaultConfig {
9 | minSdkVersion 21
10 | targetSdkVersion 27
11 | versionCode 1
12 | versionName "1.0"
13 |
14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
15 |
16 | }
17 |
18 | buildTypes {
19 | release {
20 | minifyEnabled false
21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22 | }
23 | }
24 | }
25 |
26 | dependencies {
27 | implementation fileTree(include: ['*.jar'], dir: 'libs')
28 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
29 | }
30 |
31 | repositories {
32 | mavenCentral()
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/wallpaperpicker/glrenderer/GLES20IdImpl.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.wallpaperpicker.glrenderer;
2 |
3 | import android.opengl.GLES20;
4 |
5 | public class GLES20IdImpl implements GLId {
6 | private final int[] mTempIntArray = new int[1];
7 |
8 | @Override
9 | public int generateTexture() {
10 | GLES20.glGenTextures(1, mTempIntArray, 0);
11 | GLES20Canvas.checkError();
12 | return mTempIntArray[0];
13 | }
14 |
15 | @Override
16 | public void glGenBuffers(int n, int[] buffers, int offset) {
17 | GLES20.glGenBuffers(n, buffers, offset);
18 | GLES20Canvas.checkError();
19 | }
20 |
21 | @Override
22 | public void glDeleteTextures(int n, int[] textures, int offset) {
23 | GLES20.glDeleteTextures(n, textures, offset);
24 | GLES20Canvas.checkError();
25 | }
26 |
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/util/LabelComparator.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.util;
2 |
3 | import java.text.Collator;
4 | import java.util.Comparator;
5 |
6 | public class LabelComparator implements Comparator {
7 | private final Collator mCollator = Collator.getInstance();
8 |
9 | @Override
10 | public int compare(String str, String str2) {
11 | boolean isLetterOrDigit;
12 | boolean i = false;
13 | isLetterOrDigit = str.length() > 0 && Character.isLetterOrDigit(str.codePointAt(0));
14 | if (str2.length() > 0) {
15 | i = Character.isLetterOrDigit(str2.codePointAt(0));
16 | }
17 | if (isLetterOrDigit && !i) {
18 | return -1;
19 | }
20 | if (isLetterOrDigit || !i) {
21 | return this.mCollator.compare(str, str2);
22 | }
23 | return 1;
24 | }
25 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/StringSetAppFilter.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | import android.content.ComponentName;
4 | import android.content.Context;
5 |
6 | import java.util.HashSet;
7 | import java.util.Set;
8 |
9 | public class StringSetAppFilter extends PreferenceAppFilter {
10 | private Set mHiddenComponents = new HashSet<>();
11 |
12 | StringSetAppFilter() {
13 | mHiddenComponents.add(ComponentName.unflattenFromString("com.google.android.apps.wallpaper/.picker.CategoryPickerActivity"));
14 | mHiddenComponents.add(ComponentName.unflattenFromString("com.google.android.googlequicksearchbox/.VoiceSearchActivity"));
15 | }
16 |
17 | @Override
18 | public boolean shouldShowApp(ComponentName app, Context context) {
19 | return !mHiddenComponents.contains(app) && super.shouldShowApp(app, context);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/util/StringFilter.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.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 abstract boolean matches(String str);
14 |
15 | public static StringFilter matchesAll() {
16 | return new StringFilter() {
17 | @Override
18 | public boolean matches(String str) {
19 | return true;
20 | }
21 | };
22 | }
23 |
24 | public static StringFilter of(final Set validEntries) {
25 | return new StringFilter() {
26 | @Override
27 | public boolean matches(String str) {
28 | return validEntries.contains(str);
29 | }
30 | };
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/res/values-zh-rHK/strings.xml:
--------------------------------------------------------------------------------
1 |
18 |
19 |
20 | M月dd日EEEE
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/app_icon.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/shortcuts.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-anydpi/launcher_clock.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | -
6 |
7 |
8 | -
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/appwidget_not_ready.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/opa_assistant_logo.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/folder_application.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
19 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # macOS turds
2 | .DS_Store
3 |
4 | # Built application files
5 | *.apk
6 | *.ap_
7 |
8 | # Calculated md5 checksums
9 | *.md5sum
10 |
11 | # Files for the ART/Dalvik VM
12 | *.dex
13 |
14 | # Java class files
15 | *.class
16 |
17 | # Generated files
18 | bin/
19 | gen/
20 | out/
21 |
22 | # Gradle files
23 | .gradle/
24 | build/
25 |
26 | # Local configuration file (sdk path, etc)
27 | local.properties
28 |
29 | # Proguard folder generated by Eclipse
30 | proguard/
31 |
32 | # Log Files
33 | *.log
34 |
35 | # Android Studio Navigation editor temp files
36 | .navigation/
37 |
38 | # Android Studio captures folder
39 | captures/
40 |
41 | # Intellij
42 | *.iml
43 | .idea
44 |
45 | # External native build folder generated in Android Studio 2.2 and later
46 | .externalNativeBuild
47 |
48 | # Google Services (e.g. APIs or Firebase)
49 | google-services.json
50 |
51 | # Freeline
52 | freeline.py
53 | freeline/
54 | freeline_project_description.json
55 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_twitter.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/qsb_blocker_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/LauncherBackupAgent.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
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 ch.deletescape.lawnchair.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 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/all_apps_divider.xml:
--------------------------------------------------------------------------------
1 |
15 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/disco_bounce_section1.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/disco_bounce_section2.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/disco_bounce_section3.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/quantum_panel_shape.xml:
--------------------------------------------------------------------------------
1 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/quantum_panel_shape_dark.xml:
--------------------------------------------------------------------------------
1 |
16 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/workspace_screen.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/all_apps_search_hint.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/wallpaperpicker/common/WallpaperManagerCompatV16.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.wallpaperpicker.common;
2 |
3 | import android.app.WallpaperManager;
4 | import android.content.Context;
5 | import android.graphics.Rect;
6 |
7 | import java.io.IOException;
8 | import java.io.InputStream;
9 |
10 | public class WallpaperManagerCompatV16 extends WallpaperManagerCompat {
11 | protected WallpaperManager mWallpaperManager;
12 |
13 | public WallpaperManagerCompatV16(Context context) {
14 | mWallpaperManager = WallpaperManager.getInstance(context.getApplicationContext());
15 | }
16 |
17 | @Override
18 | public void setStream(InputStream data, Rect visibleCropHint, boolean allowBackup,
19 | int whichWallpaper) throws IOException {
20 | mWallpaperManager.setStream(data);
21 | }
22 |
23 | @Override
24 | public void clear(int whichWallpaper) throws IOException {
25 | mWallpaperManager.clear();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/LogAccelerateInterpolator.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | import android.animation.TimeInterpolator;
4 |
5 | public class LogAccelerateInterpolator implements TimeInterpolator {
6 |
7 | int mBase;
8 | int mDrift;
9 | final float mLogScale;
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 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/LogDecelerateInterpolator.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair;
2 |
3 | import android.animation.TimeInterpolator;
4 |
5 | public class LogDecelerateInterpolator implements TimeInterpolator {
6 |
7 | int mBase;
8 | int mDrift;
9 | final float mLogScale;
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 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_target_email.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | - @string/which_wallpaper_option_home_screen
4 | - @string/which_wallpaper_option_lock_screen
5 | - @string/which_wallpaper_option_home_screen_and_lock_screen
6 |
7 |
8 |
9 | - @string/dt2s_disabled
10 | - @string/dt2s_deviceadmin
11 | - @string/dt2s_timeout
12 | - @string/dt2s_root
13 |
14 |
15 |
16 |
17 | - ch.deletescape.lawnchair.gestures.dt2s.DoubleTapGesture$SleepGestureHandlerDeviceAdmin
18 | - ch.deletescape.lawnchair.gestures.dt2s.DoubleTapGesture$SleepGestureHandlerTimeout
19 | - ch.deletescape.lawnchair.gestures.dt2s.DoubleTapGesture$SleepGestureHandlerRoot
20 |
21 |
--------------------------------------------------------------------------------
/lawnfeed/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/launcher_backup_preferences.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
12 |
13 |
14 |
15 |
18 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/launcherclient/src/main/aidl/ch/deletescape/lawnchair/launcherclient/ILauncherClientProxy.aidl:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.launcherclient;
2 |
3 | import android.os.Bundle;
4 | import ch.deletescape.lawnchair.launcherclient.WindowLayoutParams;
5 | import ch.deletescape.lawnchair.launcherclient.ILauncherClientProxyCallback;
6 |
7 | interface ILauncherClientProxy {
8 |
9 | void closeOverlay(int options);
10 |
11 | void endScroll();
12 |
13 | void onPause();
14 |
15 | void onResume();
16 |
17 | void onScroll(float progress);
18 |
19 | void openOverlay(int options);
20 |
21 | void startScroll();
22 |
23 | void windowAttached(inout WindowLayoutParams attrs, int options);
24 |
25 | void windowAttached2(inout Bundle bundle);
26 |
27 | void setActivityState(int activityState);
28 |
29 | void windowDetached(boolean isChangingConfigurations);
30 |
31 | void onQsbClick(inout Intent intent);
32 |
33 | int init(ILauncherClientProxyCallback callback);
34 |
35 | int reconnect();
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/icon_category_loading.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
12 |
13 |
18 |
19 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_target_browser.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_target_camera.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_target_gallery.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw340dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 | 20dp
21 | 16sp
22 |
23 | 6dp
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/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 ch.deletescape.lawnchair;
18 |
19 | import android.graphics.Rect;
20 |
21 | /**
22 | * Allows the implementing {@code 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 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/wallpaperpicker/glrenderer/GLId.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 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 ch.deletescape.wallpaperpicker.glrenderer;
18 |
19 | // This mimics corresponding GL functions.
20 | public interface GLId {
21 | int generateTexture();
22 |
23 | void glGenBuffers(int n, int[] buffers, int offset);
24 |
25 | void glDeleteTextures(int n, int[] textures, int offset);
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_super_g_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/lawnfeed/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\papho\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/launcherclient/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\papho\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/config/ProviderConfig.kt:
--------------------------------------------------------------------------------
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 ch.deletescape.lawnchair.config
18 |
19 | import ch.deletescape.lawnchair.BuildConfig
20 |
21 | object ProviderConfig {
22 |
23 | @JvmField
24 | var AUTHORITY = BuildConfig.APPLICATION_ID + ".settings"
25 |
26 | fun init(packageName: String) {
27 | AUTHORITY = packageName + ".settings"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/cab_delete_wallpapers.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_target_phone.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/wallpaperpicker/common/WallpaperManagerCompatVN.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.wallpaperpicker.common;
2 |
3 | import android.content.Context;
4 | import android.graphics.Rect;
5 | import android.os.Build;
6 | import android.support.annotation.RequiresApi;
7 |
8 | import java.io.IOException;
9 | import java.io.InputStream;
10 |
11 | public class WallpaperManagerCompatVN extends WallpaperManagerCompatV16 {
12 | public WallpaperManagerCompatVN(Context context) {
13 | super(context);
14 | }
15 |
16 | @RequiresApi(api = Build.VERSION_CODES.N)
17 | @Override
18 | public void setStream(final InputStream data, Rect visibleCropHint, boolean allowBackup,
19 | int whichWallpaper) throws IOException {
20 | mWallpaperManager.setStream(data, visibleCropHint, allowBackup, whichWallpaper);
21 | }
22 |
23 | @RequiresApi(api = Build.VERSION_CODES.N)
24 | @Override
25 | public void clear(int whichWallpaper) throws IOException {
26 | mWallpaperManager.clear(whichWallpaper);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 | 0dp
19 |
20 |
21 | 56dp
22 |
23 |
24 | -1000dp
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/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 ch.deletescape.lawnchair.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 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/preferences/GoogleNowPreference.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.preferences
2 |
3 | import android.content.Context
4 | import android.support.v14.preference.SwitchPreference
5 | import android.util.AttributeSet
6 | import ch.deletescape.lawnchair.R
7 | import ch.deletescape.lawnchair.overlay.ILauncherClient
8 |
9 | class GoogleNowPreference(context: Context, attrs: AttributeSet) : SwitchPreference(context, attrs) {
10 |
11 | private val enabledState = ILauncherClient.getEnabledState(context)
12 |
13 | init {
14 | isEnabled = enabledState == ILauncherClient.ENABLED
15 | if (!isEnabled) {
16 | if (enabledState == ILauncherClient.DISABLED_NO_PROXY_APP)
17 | setSummary(R.string.lawnfeed_not_found)
18 | if (enabledState == ILauncherClient.DISABLED_CLIENT_OUTDATED)
19 | setSummary(R.string.lawnfeed_incompatible)
20 | if (enabledState == ILauncherClient.DISABLED_NO_GOOGLE_APP)
21 | setSummary(R.string.google_app_not_found)
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/badge/FolderBadgeInfo.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.badge;
2 |
3 | import ch.deletescape.lawnchair.Utilities;
4 |
5 | public class FolderBadgeInfo extends BadgeInfo {
6 | private int mNumNotifications;
7 |
8 | public FolderBadgeInfo() {
9 | super(null);
10 | }
11 |
12 | public void addBadgeInfo(BadgeInfo badgeInfo) {
13 | if (badgeInfo != null) {
14 | mNumNotifications += badgeInfo.getNotificationKeys().size();
15 | mNumNotifications = Utilities.boundToRange(mNumNotifications, 0, 999);
16 | }
17 | }
18 |
19 | public void subtractBadgeInfo(BadgeInfo badgeInfo) {
20 | if (badgeInfo != null) {
21 | mNumNotifications -= badgeInfo.getNotificationKeys().size();
22 | mNumNotifications = Utilities.boundToRange(mNumNotifications, 0, 999);
23 | }
24 | }
25 |
26 | @Override
27 | public int getNotificationCount() {
28 | return 0;
29 | }
30 |
31 | public boolean hasBadge() {
32 | return mNumNotifications > 0;
33 | }
34 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/util/NoLocaleSqliteContext.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.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 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/quantum_panel.xml:
--------------------------------------------------------------------------------
1 |
16 |
22 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/allapps/UnicodeStrippedAppSearchAlgorithm.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.allapps;
2 |
3 | import java.util.List;
4 |
5 | import ch.deletescape.lawnchair.AppInfo;
6 | import ch.deletescape.lawnchair.LauncherAppState;
7 | import ch.deletescape.lawnchair.util.UnicodeFilter;
8 |
9 | /**
10 | * A search algorithm that changes every non-ascii characters to theirs ascii equivalents and
11 | * then performs comparison.
12 | */
13 | public class UnicodeStrippedAppSearchAlgorithm extends DefaultAppSearchAlgorithm {
14 | public UnicodeStrippedAppSearchAlgorithm(List apps) {
15 | super(apps);
16 | }
17 |
18 | @Override
19 | protected boolean matches(AppInfo info, String query) {
20 | if (info.componentName.getPackageName().equals(LauncherAppState.getInstanceNoCreate().getContext().getPackageName()))
21 | return false;
22 |
23 | String title = UnicodeFilter.filter(info.title.toString().toLowerCase());
24 | String strippedQuery = UnicodeFilter.filter(query.trim());
25 |
26 | return super.matches(title, strippedQuery);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/quantum_panel_dark.xml:
--------------------------------------------------------------------------------
1 |
16 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_target_messenger.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/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 ch.deletescape.lawnchair;
18 |
19 | /**
20 | * An interface to get callbacks during a launcher transition.
21 | */
22 | public interface LauncherTransitionable {
23 | void onLauncherTransitionPrepare(boolean multiplePagesVisible);
24 |
25 | void onLauncherTransitionStart();
26 |
27 | void onLauncherTransitionStep(float t);
28 |
29 | void onLauncherTransitionEnd(boolean toWorkspace);
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_internal_focus_bg.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 | -
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/qsb_container.xml:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/fade_out.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/container_fastscroll_popup_bg.xml:
--------------------------------------------------------------------------------
1 |
16 |
18 |
19 |
22 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
12 |
18 |
19 |
20 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-ldrtl/container_fastscroll_popup_bg.xml:
--------------------------------------------------------------------------------
1 |
16 |
18 |
19 |
22 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/hotseat.xml:
--------------------------------------------------------------------------------
1 |
15 |
18 |
19 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_edit_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
23 |
24 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/all_apps_icon.xml:
--------------------------------------------------------------------------------
1 |
15 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw720dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 | 8dp
19 | 54dp
20 | 64dp
21 |
22 |
24 | 40dp
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/appwidget_error.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
25 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/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 ch.deletescape.lawnchair.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 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/all_apps_search_divider.xml:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/util/CellAndSpan.java:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.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 void copyFrom(CellAndSpan copy) {
32 | cellX = copy.cellX;
33 | cellY = copy.cellY;
34 | spanX = copy.spanX;
35 | spanY = copy.spanY;
36 | }
37 |
38 | public CellAndSpan(int cellX, int cellY, int spanX, int spanY) {
39 | this.cellX = cellX;
40 | this.cellY = cellY;
41 | this.spanX = spanX;
42 | this.spanY = spanY;
43 | }
44 |
45 | public String toString() {
46 | return "(" + cellX + ", " + cellY + ": " + spanX + ", " + spanY + ")";
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/deletescape/lawnchair/gestures/GestureController.kt:
--------------------------------------------------------------------------------
1 | package ch.deletescape.lawnchair.gestures
2 |
3 | import android.text.TextUtils
4 | import android.view.MotionEvent
5 | import ch.deletescape.lawnchair.Launcher
6 | import ch.deletescape.lawnchair.gestures.dt2s.DoubleTapGesture
7 | import ch.deletescape.lawnchair.util.TouchController
8 |
9 | class GestureController(val launcher: Launcher) : TouchController {
10 |
11 | private val doubleTapGesture = DoubleTapGesture(this)
12 |
13 | override fun onControllerInterceptTouchEvent(ev: MotionEvent): Boolean {
14 | return false
15 | }
16 |
17 | override fun onControllerTouchEvent(ev: MotionEvent): Boolean {
18 | return false
19 | }
20 |
21 | fun createGestureHandler(className: String): GestureHandler? {
22 | if (!TextUtils.isEmpty(className)) {
23 | try {
24 | return Class.forName(className).getConstructor(Launcher::class.java).newInstance(launcher) as? GestureHandler
25 | } catch (t: Throwable) {
26 | }
27 | }
28 | return null
29 | }
30 |
31 | fun onBlankAreaTouch(ev: MotionEvent) {
32 | doubleTapGesture.isEnabled && doubleTapGesture.onTouchEvent(ev)
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/icon_pack_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
19 |
20 |
30 |
31 |
--------------------------------------------------------------------------------