Fix endless loop in calling registerCallback/unregisterCallback

Bug: 268740192
Test: atest SharedConnectivityManagerTest
Change-Id: I388c3cee8b2877fe7e4f254e33ad13a5d2f616c2
This commit is contained in:
Isaac Katzenelson
2023-02-11 00:49:44 +00:00
parent b08c0e0584
commit c173a8661f

View File

@@ -101,13 +101,13 @@ public abstract class SharedConnectivityService extends Service {
@Override
public void registerCallback(ISharedConnectivityCallback callback) {
checkPermissions();
mHandler.post(() -> registerCallback(callback));
mHandler.post(() -> onRegisterCallback(callback));
}
@Override
public void unregisterCallback(ISharedConnectivityCallback callback) {
checkPermissions();
mHandler.post(() -> unregisterCallback(callback));
mHandler.post(() -> onUnregisterCallback(callback));
}
@Override
@@ -147,7 +147,7 @@ public abstract class SharedConnectivityService extends Service {
};
}
private void registerCallback(ISharedConnectivityCallback callback) {
private void onRegisterCallback(ISharedConnectivityCallback callback) {
// Listener gets triggered on first register using cashed data
if (!notifyTetherNetworkUpdate(callback) || !notifyKnownNetworkUpdate(callback)
|| !notifySettingsStateUpdate(callback)
@@ -167,7 +167,7 @@ public abstract class SharedConnectivityService extends Service {
}
}
private void unregisterCallback(ISharedConnectivityCallback callback) {
private void onUnregisterCallback(ISharedConnectivityCallback callback) {
DeathRecipient deathRecipient = mDeathRecipientMap.get(callback);
if (deathRecipient != null) {
callback.asBinder().unlinkToDeath(deathRecipient, 0);