History log of /frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ebee1a38832871cc9d77114f211d87de488d5f6a 09-Sep-2016 Geoffrey Pitsch <gpitsch@google.com> Refactor TileLifecycleManagerTest to eliminate flakes

Changed to be purely a unit test, no inter-system integration.
Context binds are mocked, uses verify to check callbacks directly.
Parameterize the bind retry delay so tests can set to zero.

Change-Id: I798823c7c79978261fceac26002f819e3800c711
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
af2076afb32d7a49c2a6f8afba8e28e88677041f 31-Aug-2016 Geoffrey Pitsch <gpitsch@google.com> Mock PackageManager for TileLifecycleManagerTests

Slices ~10 seconds off the systemui target test time.

Wrapped calls to the different PackageManager APIs with
PackageManagerAdapter, which should change to a cleaner
abstraction as we write more tests.

Change-Id: I91ac9959de05a06ed484e49648203729159a482e
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
34f6cbc288bfcd627cd6af4199123f7edc3e02c1 30-Aug-2016 Jason Monk <jmonk@google.com> Fix QS CTS failure caused by tile backup

The CTS tests weren't receiving the onTileAdded callbacks since the
shade was not in the listening state when tiles were added. This is
not possible for users (since tiles are added while the UI is
listening), but add a flushMessagesAndUnbind call to make sure the
tiles always receive onTileAdded.

Since now flushMessagesAndUnbind can be called before a real call
to setBindService(true), add a clause that will clear out its
immediate unbind state.

Change-Id: Idd13c432a4af5741813da9a9b1b292a47fd9443b
Fixes: 31147742
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
baade7573f35a5de0779dbe052c9963a8d447422 25-Aug-2016 Jason Monk <jmonk@google.com> Backup system QS tiles

Add QS tiles to the backup list. Non-system tiles will get removed
since they won't be installed when restore happens.

Change-Id: Iccf6e773384c45bd4d1f10c21aa8af356b3920d2
Bug: 28782938
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
ee68fd889c2dfcd895b8e73fc39d7b97826dc3d8 23-Jun-2016 Jason Monk <jmonk@google.com> QS: Don't use ComponentName to identify tiles

Evidently some apps redirect/obscure tiles in a way that makes
creating a ComponentName from the TileService useless. Instead
generate a token which will be a much more stable way of identifying
tiles henceforth.

Change-Id: Id68550bcdcdc3e3987f09380f258610e7a5aca85
Fixes: 29121793
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
6edbefdd54ead90fd30fc36159ef8dd779b6b274 23-Jun-2016 Jason Monk <jmonk@google.com> QS: Hacks to fix bigger problems in TileService binding

Bug: 29121793
Change-Id: I9cb8d8ee36ce5cc77ba3c11decb1b3a797fd7999
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
8753e184f967d1db91de34cb66aae0a977259a60 22-Jun-2016 Jason Monk <jmonk@google.com> QS Tiles: Fix some problems with connecting through intent

- Don't send Tile through intent, it can cause crashes
- Clean up other issues surrounding this

Change-Id: I08c626cf39b36d349592c1e0b81627b9bc7eeeb3
Fixes: 29519485
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
a3453b8bd9af44566c6a31fd0156cc76e6028f6d 17-Jun-2016 Jason Monk <jmonk@google.com> QS API: Fix mService and mTile being null once and for all

Change-Id: Idd82e4c2f6cfc2b30432e15e23963c1d7a959e43
Fixes: 29121793
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
604c2f9440743f72f136505b2b6afe6f2aed9072 06-Jun-2016 Will Harmon <xlythe@google.com> Fix crash when an app with an active quicksettings tile is updated to no longer have that tile.

Fixes: 28721139
Change-Id: Ib53c7cc08e9378420a5fed3459c1e17864b28802
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
6d21e0d8d2da2a94e47af8b8f0b93a50972ab480 25-May-2016 Jason Monk <jmonk@google.com> QS API: Handle return value from bindServiceAsUser

To avoid crashes better.

Change-Id: I72e74729fbc0b1400c21e1ebc165b565ecd13fba
Fixes: 28721139
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
624cbe2d8c99f78487870be3390bfe8d23c32c5f 02-May-2016 Jason Monk <jmonk@google.com> Update QS custom tile icons when they change

When an app updates to change their default tile icon, pick up on
the change. When listening this comes from the TileLifecycleManager
and when not listening this guts picked up next time listening starts.

Change-Id: Ib730f02ed54ca1c1ba72ce50adf7dcf91f01738f
Fixes: 27911877
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
29c93ce05ddc999d85ca95a4e274666a0f99df5c 20-Apr-2016 Jason Monk <jmonk@google.com> QS tile lifecycle management

Ensure we send out the current QSService and Tile to the TileService
before we write to mWrapper allowing other commands to come through.

Change-Id: Ia3f470083d97d85fa726b1add3706db6278c7d1e
Fixes: 27871492
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
97d2272be0bf3e77474e7ff9984217dfe247f4d0 07-Apr-2016 Jason Monk <jmonk@google.com> Allow mode of TileService to be changed

Since the mode of a tile service was set in onTileAdded, it couldn't
be controlled by developers if they updated their tile. To handle
the mode has been moved to a boolean meta-data flag to indicate
a tile should be an active tile.

Bug: 28043969
Change-Id: I6403d34f8cb70809edc07769389d5a1f835c1ab3
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
1c2fea8df7054d1bc23945c38460a123ce453c4a 11-Mar-2016 Jason Monk <jmonk@google.com> Fix QS FBE-ness

- Get service info for encryption-unaware apps
- SysUI assumes tiles in unavailable state when waiting for
binding
- Attempt rebind after unlock is complete
- Fix random crash that was making testing hard

Bug: 26940789
Bug: 27556723
Change-Id: I0b3600d35d4c74bb0d6c47a34a7d267bb9731bc4
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
1ffa11b9b2d647d2cbfbc5a0bb8b4ee6c188ccc3 08-Mar-2016 Jason Monk <jmonk@google.com> Don't cache QS custom tiles across users

Then it doesn't bind to the right user causing all sorts of badness
(10000).

Bug: 27527669
Change-Id: I28eff8b4bb0e0cfe56d041c6f0980282781af8aa
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
c0d7058b14c24cd07912f5629c26b39b7b4673d5 29-Jan-2016 Winson <winsonc@google.com> Referencing static interpolators.

Change-Id: I5d2292016e869ed533f5873e373a1eccce651fc5
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
9429513cc3ea6e58e330865bd621b57cb3477551 12-Jan-2016 Jason Monk <jmonk@google.com> Round out the QS API

- Add startActivityAndCollapse, to make collapsing the shade easy
- Add isSecure()
- Add isLocked()
- Add unlockandRun(Runnable)
- Add unavailable, active, and inactive states

The states are added to allow consistent UI across OEM devices, by
allowing UI tweaking and tinting to match system tiles with custom
ones.

The combination of isSecure() and isLocked() and unlockAndRun(Runnable)
allows all combinations of launching show when lockend and triggering
an unlock when needed for sensitive tiles.

Change-Id: Iade98ad9f2c22aa174e62090d8ccd44c86f3bb3c
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
51c444be145815e5f3d8321126f22df5792377eb 06-Jan-2016 Jason Monk <jmonk@google.com> QS Customize panel cleanup

- Use better service management to ensure onTileAdded and onTileRemoved
are sent.
- Fix not always registered as tunable bug.

Bug: 26423350
Change-Id: I56156de8e0edf903509dac594b471700068ebe3e
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
fe8f6826ce3c2beeb1fce54c67978ce69f849407 21-Dec-2015 Jason Monk <jmonk@google.com> More QS Tile modes in the API

Allow tiles to request when they are bound instead of doing it
automatically for them when in the listening state. Only one
of these modes is allowed for a given tile, meaning it can either
push updates when it thinks they matter, or it can be told when
to update.

Change-Id: I165b39dddb836df90d253aeb5ebea48e62ea0dae
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
d5a204f16e7c71ffdbc6c8307a4134dcc1efd60d 21-Dec-2015 Jason Monk <jmonk@google.com> Better service management for QS 3rd party tiles

Better wrapper around the service that will handle rebinding
when it dies, binding when it becomes available, and forwarding
along all messages to the service once it binds.

Also better handling of too many services at a time. Will only
ever bind to at most 3 tiles and will manage which ones are most
important to show based on pending clicks, last update, etc.

Change-Id: I5f4da0bc751f7eb25baa32e5c0bb9f1bc418f5bb
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java