Loading core/java/android/app/servertransaction/ClientTransaction.java +27 −0 Original line number Diff line number Diff line Loading @@ -298,6 +298,33 @@ public class ClientTransaction implements Parcelable, ObjectPoolItem { return result; } @Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append("ClientTransaction{"); if (mTransactionItems != null) { // #addTransactionItem sb.append("\n transactionItems=["); final int size = mTransactionItems.size(); for (int i = 0; i < size; i++) { sb.append("\n ").append(mTransactionItems.get(i)); } sb.append("\n ]"); } else { // #addCallback sb.append("\n callbacks=["); final int size = mActivityCallbacks != null ? mActivityCallbacks.size() : 0; for (int i = 0; i < size; i++) { sb.append("\n ").append(mActivityCallbacks.get(i)); } sb.append("\n ]"); // #setLifecycleStateRequest sb.append("\n stateRequest=").append(mLifecycleStateRequest); } sb.append("\n}"); return sb.toString(); } /** Dump transaction items callback items and final lifecycle state request. */ void dump(@NonNull String prefix, @NonNull PrintWriter pw, @NonNull ClientTransactionHandler transactionHandler) { Loading core/java/android/app/servertransaction/TransactionExecutor.java +4 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,10 @@ public class TransactionExecutor { executeCallbacks(transaction); executeLifecycleState(transaction); } } catch (Exception e) { Slog.e(TAG, "Failed to execute the transaction: " + transactionToString(transaction, mTransactionHandler)); throw e; } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } Loading services/core/java/com/android/server/wm/ClientLifecycleManager.java +5 −1 Original line number Diff line number Diff line Loading @@ -64,6 +64,10 @@ class ClientLifecycleManager { final IApplicationThread client = transaction.getClient(); try { transaction.schedule(); } catch (RemoteException e) { Slog.w(TAG, "Failed to deliver transaction for " + client + "\ntransaction=" + transaction); throw e; } finally { if (!(client instanceof Binder)) { // If client is not an instance of Binder - it's a remote call and at this point it Loading Loading @@ -157,7 +161,7 @@ class ClientLifecycleManager { try { scheduleTransaction(transaction); } catch (RemoteException e) { Slog.e(TAG, "Failed to deliver transaction for " + transaction.getClient()); Slog.e(TAG, "Failed to deliver pending transaction", e); } } mPendingTransactions.clear(); Loading Loading
core/java/android/app/servertransaction/ClientTransaction.java +27 −0 Original line number Diff line number Diff line Loading @@ -298,6 +298,33 @@ public class ClientTransaction implements Parcelable, ObjectPoolItem { return result; } @Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append("ClientTransaction{"); if (mTransactionItems != null) { // #addTransactionItem sb.append("\n transactionItems=["); final int size = mTransactionItems.size(); for (int i = 0; i < size; i++) { sb.append("\n ").append(mTransactionItems.get(i)); } sb.append("\n ]"); } else { // #addCallback sb.append("\n callbacks=["); final int size = mActivityCallbacks != null ? mActivityCallbacks.size() : 0; for (int i = 0; i < size; i++) { sb.append("\n ").append(mActivityCallbacks.get(i)); } sb.append("\n ]"); // #setLifecycleStateRequest sb.append("\n stateRequest=").append(mLifecycleStateRequest); } sb.append("\n}"); return sb.toString(); } /** Dump transaction items callback items and final lifecycle state request. */ void dump(@NonNull String prefix, @NonNull PrintWriter pw, @NonNull ClientTransactionHandler transactionHandler) { Loading
core/java/android/app/servertransaction/TransactionExecutor.java +4 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,10 @@ public class TransactionExecutor { executeCallbacks(transaction); executeLifecycleState(transaction); } } catch (Exception e) { Slog.e(TAG, "Failed to execute the transaction: " + transactionToString(transaction, mTransactionHandler)); throw e; } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } Loading
services/core/java/com/android/server/wm/ClientLifecycleManager.java +5 −1 Original line number Diff line number Diff line Loading @@ -64,6 +64,10 @@ class ClientLifecycleManager { final IApplicationThread client = transaction.getClient(); try { transaction.schedule(); } catch (RemoteException e) { Slog.w(TAG, "Failed to deliver transaction for " + client + "\ntransaction=" + transaction); throw e; } finally { if (!(client instanceof Binder)) { // If client is not an instance of Binder - it's a remote call and at this point it Loading Loading @@ -157,7 +161,7 @@ class ClientLifecycleManager { try { scheduleTransaction(transaction); } catch (RemoteException e) { Slog.e(TAG, "Failed to deliver transaction for " + transaction.getClient()); Slog.e(TAG, "Failed to deliver pending transaction", e); } } mPendingTransactions.clear(); Loading