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

Commit b299051a authored by Philip P. Moltmann's avatar Philip P. Moltmann Committed by android-build-merger
Browse files

Merge "Handle more config changes and handle onDestroy" into nyc-dev

am: 383189f4

* commit '383189f4':
  Handle more config changes and handle onDestroy

Change-Id: I5659ea33f9d2747cb866adab392c5f5a1ce3baac
parents b0fa8b0c 383189f4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@

        <activity
            android:name=".ui.PrintActivity"
            android:configChanges="screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection"
            android:configChanges="mnc|mnc|touchscreen|navigation|screenLayout|screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection|density"
            android:permission="android.permission.BIND_PRINT_SPOOLER_SERVICE"
            android:theme="@style/Theme.PrintActivity">
            <intent-filter>
+6 −1
Original line number Diff line number Diff line
@@ -510,7 +510,12 @@ public final class PageContentRepository {
        public void destroy() {
            if (mBoundToService) {
                mBoundToService = false;
                try {
                    mContext.unbindService(AsyncRenderer.this);
                } catch (IllegalArgumentException e) {
                    // Service might have been forcefully unbound in onDestroy()
                    Log.e(LOG_TAG, "Cannot unbind service", e);
                }
            }

            mPageContentCache.invalidate();
+21 −7
Original line number Diff line number Diff line
@@ -268,7 +268,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
                new Runnable() {
            @Override
            public void run() {
                if (isFinishing()) {
                if (isFinishing() || isDestroyed()) {
                    // onPause might have not been able to cancel the job, see PrintActivity#onPause
                    // To be sure, cancel the job again. Double canceling does no harm.
                    mSpoolerProvider.getSpooler().setPrintJobState(mPrintJob.getId(),
@@ -320,7 +320,8 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat

                // If we are finishing or we are in a state that we do not need any
                // data from the printing app, then no need to finish.
                if (isFinishing() || (isFinalState(mState) && !mPrintedDocument.isUpdating())) {
                if (isFinishing() || isDestroyed() ||
                        (isFinalState(mState) && !mPrintedDocument.isUpdating())) {
                    return;
                }
                setState(STATE_PRINT_CANCELED);
@@ -617,6 +618,17 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
        }
    }

    @Override
    protected void onDestroy() {
        if (mPrintedDocument != null) {
            mPrintedDocument.cancel(true);
        }

        doFinish();

        super.onDestroy();
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
@@ -960,7 +972,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
    }

    private void ensureProgressUiShown() {
        if (isFinishing()) {
        if (isFinishing() || isDestroyed()) {
            return;
        }
        if (mUiState != UI_STATE_PROGRESS) {
@@ -972,7 +984,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
    }

    private void ensurePreviewUiShown() {
        if (isFinishing()) {
        if (isFinishing() || isDestroyed()) {
            return;
        }
        if (mUiState != UI_STATE_PREVIEW) {
@@ -983,7 +995,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
    }

    private void ensureErrorUiShown(CharSequence message, int action) {
        if (isFinishing()) {
        if (isFinishing() || isDestroyed()) {
            return;
        }
        if (mUiState != UI_STATE_ERROR) {
@@ -1350,7 +1362,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat

    @Override
    public void onLoaderReset(Loader<List<PrintServiceInfo>> loader) {
        if (!isFinishing()) {
        if (!(isFinishing() || isDestroyed())) {
            onLoadFinished(loader, null);
        }
    }
@@ -2033,7 +2045,9 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
            mSpoolerProvider.destroy();
        }

        if (mProgressMessageController != null) {
            setState(mProgressMessageController.cancel());
        }

        if (mState != STATE_INITIALIZING) {
            mPrintedDocument.finish();