tree 791e8a024420d9fc398174c0a56fc1722d4c771c
parent c0d915deae318c4c30a55e001b01619203ad677d
parent 5fcaab43e603ceabd1d71ec355c8a0b59aac8cf0
author Sunny Goyal <sunnygoyal@google.com> 1442267222 +0000
committer Android Git Automerger <android-git-automerger@android.com> 1442267222 +0000

am 5fcaab43: am ea9ad5ce: Merge remote-tracking branch \'origin/ub-launcher3-burnaby\' into mnc-dev

* commit '5fcaab43e603ceabd1d71ec355c8a0b59aac8cf0': (76 commits)
  Restoring provider behavior for reloading app on old devices   > For older devices, launcher will only reload in case of inserts with specific query parameters   > For older devices, launcehr will notify content observers of any internal inserts   > Chaning TAG for Launcher provider as max logging tag is only 23 characters
  Removing items which are on invalid screen
  Preventing null pointer crash when opening a folder
  Revert workaround for move to default screen on home intent.
  Fixing NPE in recycler view scroll bar.
  Adding workaround for regression caused by ag/752175
  Adding gradle script for Android Studio
  Override the overscroll color for the widget rows.
  Adding graphic for all apps empty search screen.
  Using GET_UNINSTALLED_PACKAGES flag when getting packageInfo for a managed profile app
  Revert "Adding viewId for the QSB"
  Adding viewId for the QSB
  Fixing issue with missing scroll bar after fast-scrolling and searching.
  Fixing an issue where you would inadvertently start fastscrolling.
  Pending bind callbacks should be cleared before starting the loader, similar to startBinding
  Fixing widgets container inactive scroll bar color.
  Making the detached scrollbar catch up faster to the actual scroll position.
  Updating theme to use the light theme by default, instead of wallpaper theme   > This allows us to use all the goodness of material theme   > Cursor in folder edit text is no longer 1px wide
  Updating the target sdk to launcher
  Using the usermanager api to get creation time
  ...
