Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e9727f5 authored by Hall Liu's avatar Hall Liu
Browse files

Set sIsInitialized to false and add logging

When the service goes away due to a remote exception, set sIsInitialized
to false as well as setting the service to null.
Also log the serviceconnection disconnect.

Bug: 70032958
Test: cts
Change-Id: I34c1ea804537c62bd4348ba3aeeca7ba2c0becb6
parent 06e314f6
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -347,6 +347,7 @@ public class MbmsDownloadSession implements AutoCloseable {

                    @Override
                    public void onServiceDisconnected(ComponentName name) {
                        Log.w(LOG_TAG, "bindAndInitialize: Remote service disconnected");
                        sIsInitialized.set(false);
                        mService.set(null);
                    }
@@ -385,6 +386,7 @@ public class MbmsDownloadSession implements AutoCloseable {
        } catch (RemoteException e) {
            Log.w(LOG_TAG, "Remote process died");
            mService.set(null);
            sIsInitialized.set(false);
            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
        }
    }
@@ -438,6 +440,7 @@ public class MbmsDownloadSession implements AutoCloseable {
            }
        } catch (RemoteException e) {
            mService.set(null);
            sIsInitialized.set(false);
            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
            return;
        }
@@ -521,6 +524,7 @@ public class MbmsDownloadSession implements AutoCloseable {
            downloadService.download(request);
        } catch (RemoteException e) {
            mService.set(null);
            sIsInitialized.set(false);
            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
        }
    }
@@ -542,6 +546,7 @@ public class MbmsDownloadSession implements AutoCloseable {
            return downloadService.listPendingDownloads(mSubscriptionId);
        } catch (RemoteException e) {
            mService.set(null);
            sIsInitialized.set(false);
            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
            return Collections.emptyList();
        }
@@ -583,6 +588,7 @@ public class MbmsDownloadSession implements AutoCloseable {
            }
        } catch (RemoteException e) {
            mService.set(null);
            sIsInitialized.set(false);
            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
            return;
        }
@@ -622,6 +628,7 @@ public class MbmsDownloadSession implements AutoCloseable {
                }
            } catch (RemoteException e) {
                mService.set(null);
                sIsInitialized.set(false);
                sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
            }
        } finally {
@@ -658,6 +665,7 @@ public class MbmsDownloadSession implements AutoCloseable {
            }
        } catch (RemoteException e) {
            mService.set(null);
            sIsInitialized.set(false);
            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
            return;
        }
@@ -686,6 +694,7 @@ public class MbmsDownloadSession implements AutoCloseable {
            return downloadService.getDownloadStatus(downloadRequest, fileInfo);
        } catch (RemoteException e) {
            mService.set(null);
            sIsInitialized.set(false);
            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
            return STATUS_UNKNOWN;
        }
@@ -727,6 +736,7 @@ public class MbmsDownloadSession implements AutoCloseable {
            }
        } catch (RemoteException e) {
            mService.set(null);
            sIsInitialized.set(false);
            sendErrorToApp(MbmsErrors.ERROR_MIDDLEWARE_LOST, null);
        }
    }