Skip to content

Commit b2521df

Browse files
author
tiann
committed
FIX: ClientTransactionHandler for Android Q.
TODO: remove the annoying static proxy for transaction, it is difficult to maintain.
1 parent 47334a2 commit b2521df

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

VirtualApp/lib/src/main/java/android/app/ClientTransactionHandler.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import android.util.MergedConfiguration;
2727

2828
import java.util.List;
29+
import java.util.Map;
2930

3031
/**
3132
* Defines operations that a {@link ClientTransaction} or its items
@@ -155,4 +156,12 @@ public abstract void handleRelaunchActivity(ActivityThread.ActivityClientRecord
155156
* Used to check if we should report relaunch to WM.
156157
* */
157158
public abstract void reportRelaunch(IBinder token, PendingTransactionActions pendingActions);
159+
160+
public abstract Map getActivitiesToBeDestroyed();
161+
162+
public abstract Activity getActivity(IBinder token);
163+
164+
public abstract void updatePendingActivityConfiguration(IBinder arg1, Configuration arg2);
165+
166+
public abstract void handleTopResumedActivityChanged(IBinder arg1, boolean arg2, String arg3);
158167
}

VirtualApp/lib/src/main/java/android/app/TransactionHandlerProxy.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.lody.virtual.remote.StubActivityRecord;
2222

2323
import java.util.List;
24+
import java.util.Map;
2425

2526
import mirror.android.app.ActivityManagerNative;
2627
import mirror.android.app.IActivityManager;
@@ -204,4 +205,24 @@ public void handleRelaunchActivity(ActivityClientRecord r, PendingTransactionAct
204205
public void reportRelaunch(IBinder token, PendingTransactionActions pendingActions) {
205206
originalHandler.reportRelaunch(token, pendingActions);
206207
}
208+
209+
@Override
210+
public Map getActivitiesToBeDestroyed() {
211+
return originalHandler.getActivitiesToBeDestroyed();
212+
}
213+
214+
@Override
215+
public Activity getActivity(IBinder token) {
216+
return originalHandler.getActivity(token);
217+
}
218+
219+
@Override
220+
public void updatePendingActivityConfiguration(IBinder arg1, Configuration arg2) {
221+
originalHandler.updatePendingActivityConfiguration(arg1, arg2);
222+
}
223+
224+
@Override
225+
public void handleTopResumedActivityChanged(IBinder arg1, boolean arg2, String arg3) {
226+
originalHandler.handleTopResumedActivityChanged(arg1, arg2, arg3);
227+
}
207228
}

0 commit comments

Comments
 (0)