Update AppBannerManager so that it can create and dismiss Banners
commitc37d5efbd2bc8f622979f569f8ca002baf6c3ccd
authordfalcantara@chromium.org <dfalcantara@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 21 Feb 2014 15:07:39 +0000 (21 15:07 +0000)
committerdfalcantara@chromium.org <dfalcantara@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 21 Feb 2014 15:07:39 +0000 (21 15:07 +0000)
tree2fbc2fb7d146f2a939b2afbd4c1cc4bd2b1d40b8
parent2648d5f9c0fd79753c607777902fc4a7752bd35d
Update AppBannerManager so that it can create and dismiss Banners

* AppBannerManager is given the ability to create banners.  See
  the C++ header for details on how the asynchronous pipeline works.

* DetailsDelegate class is added to provide information to the
  AppBannerManager about packages being advertised.

* AppBannerManager dismisses banners after navigations.

* AppBannerManager fires intents provided by the DetailsDelegate
  to launch the Play store and installer.

* AppBannerView is notified when the install state changes so it
  can update its buttons.

Design doc (has image showing how the pipeline works, text is out of date):
http://goo.gl/a77OXx

Depends on:
https://chromiumcodereview.appspot.com/141853007/
https://chromiumcodereview.appspot.com/156013005/

NOTRY=true
BUG=341556

Review URL: https://codereview.chromium.org/156343002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252557 0039d316-1c4b-4281-b951-d872f2087c98
chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java
chrome/android/java/src/org/chromium/chrome/browser/banners/AppData.java
chrome/android/java/src/org/chromium/chrome/browser/banners/AppDetailsDelegate.java [new file with mode: 0644]
chrome/browser/android/banners/app_banner_manager.cc
chrome/browser/android/banners/app_banner_manager.h