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

Commit e61c4a03 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Proper handling of unrecoverable status." into rvc-dev am: c7b99da1

Change-Id: Ie4466b5b3fb8eedf3ecfb15edf636353df1181ae
parents 8aa5048f c7b99da1
Loading
Loading
Loading
Loading
+15 −3
Original line number Original line Diff line number Diff line
@@ -1488,6 +1488,10 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
    }
    }


    private void onDataLoaderUnrecoverable() {
    private void onDataLoaderUnrecoverable() {
        if (TextUtils.isEmpty(mPackageName)) {
            // The package has not been installed.
            return;
        }
        final PackageManagerService packageManagerService = mPm;
        final PackageManagerService packageManagerService = mPm;
        final String packageName = mPackageName;
        final String packageName = mPackageName;
        mHandler.post(() -> {
        mHandler.post(() -> {
@@ -2610,12 +2614,14 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
                    case IDataLoaderStatusListener.DATA_LOADER_STOPPED:
                    case IDataLoaderStatusListener.DATA_LOADER_STOPPED:
                    case IDataLoaderStatusListener.DATA_LOADER_DESTROYED:
                    case IDataLoaderStatusListener.DATA_LOADER_DESTROYED:
                        return;
                        return;
                }

                if (mDestroyed || mDataLoaderFinished) {
                    switch (status) {
                        case IDataLoaderStatusListener.DATA_LOADER_UNRECOVERABLE:
                        case IDataLoaderStatusListener.DATA_LOADER_UNRECOVERABLE:
                            onDataLoaderUnrecoverable();
                            onDataLoaderUnrecoverable();
                            return;
                            return;
                    }
                    }

                if (mDestroyed || mDataLoaderFinished) {
                    return;
                    return;
                }
                }


@@ -2678,6 +2684,12 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
                            }
                            }
                            break;
                            break;
                        }
                        }
                        case IDataLoaderStatusListener.DATA_LOADER_UNRECOVERABLE:
                            mDataLoaderFinished = true;
                            onSessionVerificationFailure(
                                    new PackageManagerException(INSTALL_FAILED_MEDIA_UNAVAILABLE,
                                            "DataLoader reported unrecoverable failure."));
                            return;
                    }
                    }
                } catch (RemoteException e) {
                } catch (RemoteException e) {
                    // In case of streaming failure we don't want to fail or commit the session.
                    // In case of streaming failure we don't want to fail or commit the session.