Skip to content

robotjatek/WPLauncherES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WPLauncher ES

A reimplementation of my original WPLauncher project using OpenGL ES. The goal remains the same: a WP7/8 style launcher, now with no external UI frameworks.

Planned features

  • WP7/8 style live tiles
  • App list
  • Pin apps to the screen
  • Installed apps and custom "widgets"
  • Resizable tiles
  • 4/6 column mode

Tech stack

  • Java
  • OpenGL ES3.2
  • API Level 34

Description

Description

Milestones

This is a living roadmap, all future milestones are refined as I go, and subject to change.

M1 - POC / pre-alpha

M1 is all about laying the groundwork. Don't expect anything fancy here. At this phase the application is barely usable.

  • 4 columns
  • Show something on the tiles
  • Show app icon on tiles
  • Listview for the installed apps
  • Icon on list elements
  • Swipe between start page and application list page
  • Handle tap event on tiles
  • Long press on tiles
  • Long press on list items
  • Context menu
  • Pin installed apps to the screen
  • Unpin installed apps from the main screen
  • Launch app from the app list
  • Launch pinned apps
  • Uninstall app
  • Data structure to store tiles on the main screen
  • Rearrange tiles on the grid
  • Persist tile arrangement

M1.5

Consolidation

  • Extract draw contexts
  • App-list state machine (also fixed fling to keep momentum)
  • Tile-grid state machine
  • Fix de-select bug when rearranging tiles

M2 - MVP / alpha

M2 is the beginning of making the launcher usable in everyday use-cases.

  • Start working on "launcher apps/widgets/live tiles"
    • Clock
    • Launcher settings
    • Show notification count on tiles
    • Show notification content on corresponding tiles
  • Change accent color
  • Settings service
  • Persist settings
  • Resize tiles
  • Generic list view
  • Stack view
  • Basic flex layout
    • Support row and column layout modes
    • Support alignment
    • Flex layout as a child of flex layout
  • Absolute layout
    • Use Absolute layout for static tiles
  • Use an Icon UI element instead of basic textures for icons to be able to use them in layouts
  • Basic UI elements
    • Button
    • Checkbox

M2.5

I'm already daily-driving, you shouldn't be.

  • Checkbox border
  • Fix: pin the same tile multiple times
  • Don't show uninstall in the context menu for internal and system apps
  • Fix: tile overlap after resize
  • Remove uninstalled app from the applist/tilegrid
  • Fix: Updated app is removed from the grid and app-list instead of updating
  • Adjust notification count on tiles - don't allow overlap with the icon
  • Fix: Scrolling while swiping on the main screen (scrolling on tile-grid keeps working, WHILE in SWIPING state) -- keeping an eye out, this was a sneaky one
  • Fix: Some notifications are counted multiple times
  • Use AbsoluteLayout in the ClockHUB tile
  • Press "Home" button to jump back to the top of the tile-grid

M3 - beta

Try to make it usable for the less crazy people

  • GLES 3.2
  • Make ContextMenu and MenuOption to use layouts and labels
  • Make ListItem use high level UI components
  • Fix: janky scroll on the TileGrid + remain in ScrollState while flinging
  • More tiles & specific tiles for common apps
    • Tasks
    • Photos
    • Weather
    • Messenger
    • Messages
    • Contacts
  • Feedback to the user when clicked (Rotation/animations/etc)
  • Animation after swipe
  • Generic carousel view
  • Gesture system refactor
  • Reconsider tile reflow logic (tile occupancy bool map, for every tile top to bottom -> remove -> find the highest available pos where it fits -> place?)
  • Optimizations
  • Bug fixes
  • Multi lang support
  • Light mode/Dark mode support
    • Dropdown
  • Radiobutton
  • Disable landscape mode
  • Re-ask for permissions from the launcher settings
  • Search bar in the app-list
  • Scissor test on tiles to prevent drawing out of the tile

M3.5

Try it at your own risk

  • Maybe a closed beta (?)
  • TBD

M4 - RC

  • Landscape mode support
  • Background image with transparent tiles
  • 6 column mode setting
  • WP7/7.8 start screen setting
  • Custom tile color

Bugs that need repro:

  • Fix: black bar in the place of the notification count when all previous notifications were dismissed (on real hardware, needs repro)
  • Fix: sometimes tiles don't spin when there is a notification (detected on real hardware, needs repro)
  • Fix: Tile bg after resize is dark (needs repro)

Current progress

M3 is in progress

Planned live custom tiles / "widgets"

Widgets with live data

  • Me (Timeline / notifications / tasks / slideshows / weather info / travel info / clock / twitter / fb / etc.)
  • Photos slideshow
  • Messages
  • Weather
  • Clock / Time
  • News feed
  • Tasks
  • Calendar
  • Email
  • Hungarian name days

Information gathering via public API-s. When public API-s are not available extract information from system notifications if its possible

About

WPLauncher rewrite in OpenGL ES

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages