History log of /frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1d0d514dac43857f4475648a331eeccd481aa4db 12-Apr-2018 Bryce Lee <brycelee@google.com> Remove temporary logging.

This changelist reverts the following CLs that added temporary
logging:
d946f86f124fca87c757100e49ba7d5b206c8a44
a33c13df134ee3618c72e70a69433a27b934702f
e7b2f6920bcb4a989da4798a72fcc61d0572dd60

Fixes: 71506345
Test: presubmit
Change-Id: Icfc016a752e5ac2bfb1537be67cda1c4ea3e6442
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
d946f86f124fca87c757100e49ba7d5b206c8a44 17-Jan-2018 Bryce Lee <brycelee@google.com> Add more logging to Activity Lifecycler.

This changelist introduces temporary logging targeting an issue
where lifecycle transactions are executing for non-existent client
records. Additional details are retained and exposed in this case
to help better understand what is happening.

Bug: 71506345
Test: manual
Change-Id: Ibfdbbd5ef0c465294709383405403aa0d3508ecb
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
0447068f27f4d8c44052026878740cbcd7d598fa 11-Jan-2018 Andrii Kulian <akulian@google.com> Fix object pool for lifecycler

The original implementation of object pool for lifecycle
transactions tried to always recycle objects after a
transaction was scheduled. In case when a client was running
in the same process this lead to objects being emptied before
it could actually perform the transaction.
Also when checking if object was already in the pool we should
use "==" instead of equality check.

Bug: 70554032
Bug: 71346774
Test: com.android.server.am.ClientLifecycleManagerTests
Test: android.app.servertransaction.ObjectPoolTests
Change-Id: I85fb3dae4589c2390e00a37144da0d285d16d151
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
0bd8d42c0a2e28d99d4ed29a93fa2443b7b1bbcc 09-Jan-2018 Bryce Lee <brycelee@google.com> Pause activity when making visible from stopped state.

It is possible for an activity to become visible without gaining
focus. For example, if a paused activity in split-screen finishes
itself, the activity below will become visible. Currently this
activity will not exit the stopped state. This changelist
addresses this inconsistency by cycling the activity to paused if
it becomes visible in the stopped state.

Change-Id: I170d586793dadb0d6ff59d1ad68f2d94699f9ca6
Bug: 71582913
Test: atest ActivityRecordTests#testPausingWhenVisibleFromStopped
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
5249bb11b7644be073263138dab5c12d7de4a078 03-Jan-2018 Andrii Kulian <akulian@google.com> Revert "Fix object pool for lifecycler"

This reverts commit 1c110302fe3236e7477020aa11b9cb0b8226328a.

Reason for revert: Trying to recycle already recycled item on rotation.

Change-Id: I1ae8337da28aa0923cc1d77a23f2ab5e42957495
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
1c110302fe3236e7477020aa11b9cb0b8226328a 21-Dec-2017 Andrii Kulian <akulian@google.com> Fix object pool for lifecycler

The original implementation of object pool for lifecycle
transactions tried to always recycle objects after a
transaction was scheduled. In case when a client was running
in the same process this lead to objects being emptied before
it could actually perform the transaction.
Also when checking if object was already in the pool we should
use "==" instead of equality check.

Bug: 70568084
Bug: 70526039
Bug: 70616950
Test: android.app.servertransaction.ObjectPoolTests
Change-Id: I45eeecc189b9a458d8efdfed256b81cf0baf8b95
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
9c5ea9c153fcc1f0fd2cfd35a77f26bf2849c48e 07-Dec-2017 Andrii Kulian <akulian@google.com> Implement object pool for lifecycler

Lifecycler currently creates a lot of extra objects for transactions
and transaction items. This change adds an object pool, so that all
objects that are used in lifecycler will be reused as soon as a
transaction is scheduled.

This also fixes parcelling/unparcelling of IVoiceInteractor in launch
activity transaction item.

Bug: 64797980
Bug: 69977460
Test: android.app.servertransaction.ObjectPoolTests
Change-Id: I49125e28447f3565338b61dab6de843fcc1ca9cd
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
88e05cb84427c23bb2e23626968f2e8431b6f273 06-Dec-2017 Andrii Kulian <akulian@google.com> Add transaction executor

This adds TransactionExecutor class, that takes care of executing
a multi-stage ActivityManager client transaction in correct order.

First it executes all callbacks, while also making sure to transition
to the right pre- and post-execution state if requested.
In the end it cycles to the final requested lifecycle state.

This also switches activity launch process to use lifecycler - it
initializes activity launch and sets final desired state in the same
transaction.

Bug: 64797980
Test: android.app.servertransaction.TransactionExecutorTests
Change-Id: I306f9396fab263682f580cc8c924a3cedb40ef89
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
6b9d3a1400fea76f7c6be535b332a27cb21522b3 16-Nov-2017 Andrii Kulian <akulian@google.com> Add transaction unit tests

Bug: 64797980
Test: android.app.servertransaction.ClientTransactionTests
Test: android.app.servertransaction.TransactionParcelTests
Change-Id: I108bacc819e9d43d0a2f5a30338ae88674a53239
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java
446e824e22692ee217b5b15e4f0de6add6e83d2a 27-Oct-2017 Andrii Kulian <akulian@google.com> Add basic lifecycle transaction containers

This adds basic containers for holding some messages to a client,
that are related to activity lifecycle. Each transaction can hold
a list of callbacks and a final lifecycle state.

Some requests from ActivityManager to client that target activities
are now switched to use transactions. Scheduling, preparing and
executing a request is moved outside of ActivityThread class to
corresponding transaction items.

Bug: 64797980
Test: Existing AM CTS tests pass
Change-Id: I96df20787b3d792f655c9500e8a71032264d02cd
/frameworks/base/core/java/android/app/servertransaction/ClientTransaction.java