History log of /frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8c4a19c8c6b57d4c6dbbc652d887881e21bf4ec8 20-Mar-2018 Amin Shaikh <ashaikh@google.com> Fix QSTileImpl NPE on startup.

Do not call protected methods before the object is fully instantiated.
Remove paranoid null check for private final nonnull fields for
sublasses of QSTileImpl.

Fixes: 75995708
Test: runtest systemui
Change-Id: I0a11131d796e08d598d696babdf3d7db30e02149
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
607223f3b7a1c4dc3ac995f742f8d2da50d85ffc 19-Feb-2018 Narayan Kamath <narayan@google.com> Remove uses of libcore.util.Objects.hashCode / equals.

Use public API in java.util.Objects instead.

Test: make
Change-Id: I413280f254743a2efa2640a2194693aeb5980605
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
b3daf2b88c86243db85dd8425df8d3a59d3b3d4d 17-Oct-2017 Evan Laird <evanlaird@google.com> Fix incorrect colors for CustomTile in QS

Add support for Supplier<Icon> in QSTile.State, allowing a method for
CustomTile not to cache the drawable for its IconViews. This fixes the
problem that the ImageViews in QQS and QS were trying to use the same
drawable and putting it in a bad state.

Test: Add 3rd party tile to first position in QS and turn on/off; visual
Change-Id: I408d6391a718fcb3f847e72bd303551d2d004dbb
Fixes: 67356768
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
1c6116cbbb0c8000b576443e4b13026b1d8529d9 06-Sep-2017 Jason Monk <jmonk@google.com> Update QS if the content gets stale

For system tiles this is more often, but for 3P tiles its pretty rare
except for on boot.

Test: runtest systemui
Fixes: 34804413

Change-Id: I166e2ab6a609acd63b9b4f19579bab12beabba27
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
cb4b31d396df49bd55db64b1c40122656c6ec534 03-May-2017 Jason Monk <jmonk@google.com> Fix QS visibility logs missing some info

Test: runtest systemui
Change-Id: I6deb71576b137dfbd51f863e88ad939d4f3fab1b
Fixes: 35454347
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
1a74942fbfa36bf62013b51d8ad9fb4c0e44c6f4 28-Apr-2017 Jeff Sharkey <jsharkey@android.com> Respond to API council feedback.

Test: builds
Bug: 37752002
Change-Id: I7ae1699c4c5e1a098d16465c41fb41510478b678
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
8c09ac7435c62a8ba2e34d57a7ac3be2ddf23adc 16-Mar-2017 Jason Monk <jmonk@google.com> Clean up and cover more QS metrics

Change-Id: I4ab5e54398024c8b16ca8223f0639aadcdef4377
Fixes: 34801532
Test: runtest systemui
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
e5b770e47d44a40d412c7d42010b2cf67920d9e3 04-Mar-2017 Jason Monk <jmonk@google.com> Updated QS UI

- Adds footer to QS which contains the date/alarm info
and all touch targets (settings, edit, etc.)
- Swaps out emergency + carrier text on cell tile for a
standard CarrierText from lock screen in the header
to make the header only contain status info.
- Add dividing line
- Work on animations

Test: runtest systemui
Change-Id: I97dfea1b1ea7006b53eb61ac3a1f942c64dd282d
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
702e2ebf9fbfb715c1d9b716683c9e4d182b575e 03-Mar-2017 Jason Monk <jmonk@google.com> Add plugin API for individual QS tiles

This will allow prototyping of individual QS tiles and/or their
visual representation without having to write a plugin for the
entire panel. This will allow quick iteration on QS UI + dual
target tiles.

Test: Install plugin using new API
Change-Id: I05ca9d9f5a200a1dad2c3582251a36edb5cb9aba
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
6f352aab0e191d784befbd9aded1e7985a207b55 03-Mar-2017 Jason Monk <jmonk@google.com> Fix small tile state issue

On catching exception was assigning to an unused value.

Test: make
Change-Id: Ic70759f02cabdbc3833c94bb89c1e3a776fbbf59
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
ec34da8f6f31c5ee1e543c0c7999a067487e0ce9 24-Feb-2017 Jason Monk <jmonk@google.com> Add method for plugins to reference global dependencies

The new annotation versioning system allows plugins to share common
global interfaces that can be versioned on their own. To facilitate
this add a static method for plugins to get a hold of dependencies.
To get any dependency a plugin must @Requires it so it can be version
checked.

Test: Plugin that uses the new call.
Change-Id: I8e01260f8fbc14465502d506a7aa08212795ad9b
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
dd9bda81f698043a0110d4e2178d20cb160ba829 24-Feb-2017 Jeff Sharkey <jsharkey@android.com> Delete @removed APIs that never shipped.

These were never part of any public API level, so apps should never
have been using them.

Test: builds, boots
Bug: 31241513
Change-Id: I4fc8f5c325da56694a5db98acc995a22d4947805
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
792e43cbe8f661f682a5428ca33d48bc2155138e 06-Feb-2017 Jason Monk <jmonk@google.com> Merge "Add tile information to ACTION_QS_TILE_PREFERENCES intent" am: ff1d8da55e am: 74a8b6543f am: a8e10e5f20
am: 6e8c039e24

Change-Id: If9ed9697cc042375abd3d77b1eb4020d2798f96c
6e8c039e24a66bbaca61e596a2d5ae97a734077d 06-Feb-2017 Jason Monk <jmonk@google.com> Merge "Add tile information to ACTION_QS_TILE_PREFERENCES intent" am: ff1d8da55e am: 74a8b6543f
am: a8e10e5f20

Change-Id: I1585be50ecf4409f552b5ef5c91de1092a01e199
8d2e9a9b304f06a13f949d5eb1951f63fbba2cbb 24-Jan-2017 Akira Oshimi <akira.x.oshimi@sonymobile.com> Add tile information to ACTION_QS_TILE_PREFERENCES intent

One application can provide two or more custom Quick Settings tiles.
But there is no way to know which tile is long-pressed from application
side because ACTION_QS_TILE_PREFERENCES intent that is sent when
long-pressed doesn't have any additional information. So the component
name and state of the tile should be added to the intent.

Bug: 34832801
Test: manual - long press a custom tile

Change-Id: Iaa884cd944f19a2f007cbde645e8f8b1198bffb7
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
9c7844cb91b43929d0a86b1c90aa1efb37f5463a 18-Jan-2017 Jason Monk <jmonk@google.com> Work on sysui dependencies

One of the many problems with PhoneStatusBar is that it holds
dependencies for many other parts of SysUI. Fix this by creating
a static method of grabbing dependencies that are global to sysui
this cleans up a lot of chains of interdependence.

Also add easy way to inject mocks of these dependencies for the
purpose of testing.

Test: runtest systemui
Change-Id: Ia0e947faea62d15b665facada47ac9916c99f895
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
3250885c9feb9b42d60058a823c57a027c0dcf58 18-Jan-2017 Jason Monk <jmonk@google.com> Visual refresh for QS

Adds circles and things

Test: visual
Change-Id: I7d974fcfe6257357abfd1a7d0ee521f0e6cee588
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
76471a5d9ec3a5d66c43f6afa5d7274c6d58a8ca 06-Dec-2016 jackqdyulei <jackqdyulei@google.com> Add TileColorPicker to remove hardcoded tile state color

1. Remove hardcoded color qs_tile_tint_* in colors.xml
2. Add tint_color_selector.xml which uses colorForeground and alpha
to tint.
3. Use TileColorPicker to grab tile state colors from
tint_color_selector.xml and provide them to customTile and BatteryTile

Bug: 32592245
Test: make -j40 SystemUITests
Change-Id: Ie5fc828c3c6d4e1f192643592c034f462fae5313
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
d67f6d9cc6e2ac8aeb50aec5c16521e883313eb1 12-Dec-2016 Jason Monk <jmonk@google.com> Fix animations for app QS tiles. am: d2274f848c
am: 46f24b6707

Change-Id: Ibf818c7f003a9f79483b09b6b0e2f3756e0e563b
46f24b670761f3cb7b06febb9dc4cd124a562405 12-Dec-2016 Jason Monk <jmonk@google.com> Fix animations for app QS tiles.
am: d2274f848c

Change-Id: I32fdb2e9047e402650e374024fcc7cb39b2a83f9
d2274f848c586d86404ae14dfb8d11a02ee4867a 12-Dec-2016 Jason Monk <jmonk@google.com> Fix animations for app QS tiles.

Use correct context for third party tile drawable creation, also
fix comparison so that AVDs don't animate multiple times.

Change-Id: Ifcf7b818304d6677eacf080ed8c22893c91fdf73
Fixes: 32779384
Test: Install app with animated app QS tile.
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
383db5ebcc3a4a615faf249bf4f126f42e80b82e 22-Jun-2016 Tamas Berghammer <tberghammer@google.com> Update package names to work with the proto3 compiler

Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
ac2561e8206ac42921bb6ddbb0a5972fb360e394 01-Nov-2016 Wale Ogunwale <ogunwale@google.com> Make window token add/remove APIs require displayId

Window tokens can now only be on one display, so we now require clients
that want to add/remove window tokens to specify the display they would
like the token to be created on. This simplifies the token handling code
in WM and will be useful moving forward for clients that want to add
windows to external displays.

Test: Existing tests pass
Change-Id: I6b2d8d58a913b3624f1a9a7bebbb99315613f103
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
95319337979b2c6fe81c17d6a14c2704bcaa5a0d 17-Oct-2016 Yoshinori Hirano <yoshinori.hirano@sonymobile.com> Merge "Avoid automatically mirroring Drawable of CustomTile"
am: 9a904d68c7

Change-Id: I337620f4a2514a00a6b49275cadde6087e11dddf
eb09362c729aaf5f91597d88de49d099f9f95c60 17-Aug-2016 Yoshinori Hirano <yoshinori.hirano@sonymobile.com> Avoid automatically mirroring Drawable of CustomTile

Developers of custom tiles should decide whether
the Drawable of their own tiles should be automatically mirrored.
So State#autoMirrorDrawable should be false by default.

Bug: 30930145
Test: manual - change to RTL language and open Quick Settings

Change-Id: Ia3fd8c2aeddb4a27b9ecfaaf52edbcce01fd7f48
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.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/CustomTile.java
294af233a9c653e2166e0be6c61f082253ff5bca 25-Jun-2016 Will Harmon <xlythe@google.com> Allow system apps to have disabled QS tiles.

Otherwise the tile can get removed on bootup if the tile is disabled by
default.

Fixes: 29509725

Change-Id: Icc6b63b6cf9b9cdca367c79c3175896c87041e05
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
a5f6ed355eb19a64fc881f0159b8a8cd3a4fb5f5 22-Jun-2016 Jason Monk <jmonk@google.com> QS: Fix default icon handling for services

Change-Id: I3b25df8b8d02cd99a943571de14cf0a8c5b051bd
Fixes: 29452288
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.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/CustomTile.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/CustomTile.java
4a906f9da6f49ef26f6bd4690338a19ade7cd55f 20-Apr-2016 Jason Monk <jmonk@google.com> QS custom tiles - better handling of invalid icons

Change-Id: I7b174a078a9df840eb73def101d865a8d630db19
Fixes: 27871180
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.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/CustomTile.java
39c98e652fd3e0e3ea3a334d60ba6ee979985978 16-Mar-2016 Jason Monk <jmonk@google.com> QS edit drag and drop accessibility

Bug: 27667843
Change-Id: Ief0980af25d855942b0565e5a9bfcc0d266bdbe0
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.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/CustomTile.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/CustomTile.java
724214a87828ad0fe8a44db796a1f4e74eeae521 19-Feb-2016 Jason Monk <jmonk@google.com> Add TileService settings API

It will be used for long-clicks on TileServices when available.
Otherwise will default back to app info for the app providing the
tile.

Bug: 27269699
Change-Id: Iaf1ee1e6fe6e1357cda32c74bfdc0c26af0f5901
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
76c67aa361f65dfb2f5e03d06cc1ccebce9cecd9 19-Feb-2016 Jason Monk <jmonk@google.com> Add QS long-press -> Settings

Bug: 27269699
Change-Id: I861cb65dbb6609d9c95d5341f5f5aebc3cc519f3
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
62b63a02d7ca630e3ad39991ea6550cab57e5d22 02-Feb-2016 Jason Monk <jmonk@google.com> Rewrite QS customizer

Instead of custom draginess, use RecyclerView with a GridLayoutManager.

Still needs a bit of work, but the overall feel is significantly better
than before.

Change-Id: I3b3927472f69721e265ef7591de2f3052862f392
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
c767a1f988d6847bc4873d57ec4485c54120fe2c 01-Feb-2016 Jason Monk <jmonk@google.com> Merge "Add some cmds for statusbar"
34a5cef6298cc44fc0614c4747c4b17137cff441 29-Jan-2016 Jason Monk <jmonk@google.com> Let SysUI watch TileService's dialog lifecycle

That way it can better handle tokens and service binding.

Change-Id: I9b882181ecbe52a65e731a2c45f1d296315884b4
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
7e53f20c835ae2614c92717a6fc222b345c75036 28-Jan-2016 Jason Monk <jmonk@google.com> Add some cmds for statusbar

They will be used for tests?!

Also move around where some of the tile lifecycle happens so that
it can easily be shared with these commands.

Change-Id: I72386afce5a2d335df45ecc5946679efcd826bae
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java
f6e9228b8a97603d3ceb8f0d61e8d87cf19bd21f 27-Jan-2016 Chris Wren <cwren@android.com> move framework metrics over to new proto

Change-Id: Ie46e946dc787350c15c10aa4385a6b7df7e181a8
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.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/CustomTile.java
66c89c15a0baabf001e69498dbc09903f72cc63d 06-Jan-2016 Jason Monk <jmonk@google.com> Add API for System QS tiles to set status icons

Allow system apps that have a Quick Settings tile to show a
status bar icon. If the quick settings tile is removed, the
status bar icon will no longer be shown.

Change-Id: I875b962bbdf4ff863012de688a3dd29a8d7e11ab
/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.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/CustomTile.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/CustomTile.java