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

Commit 383189f4 authored by Philip P. Moltmann's avatar Philip P. Moltmann Committed by Android (Google) Code Review
Browse files

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

parents 7cdc320a 172d840c
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();