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

Commit 07cf6982 authored by Fs00's avatar Fs00
Browse files

Use onSaveInstanceState to persist saved state

parent d5d05e7a
Loading
Loading
Loading
Loading
+23 −11
Original line number Diff line number Diff line
@@ -69,7 +69,6 @@ import com.shockwave.pdfium.PdfDocument;
import com.shockwave.pdfium.PdfPasswordException;

import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.NonConfigurationInstance;
import org.jetbrains.annotations.NotNull;

import java.io.File;
@@ -85,6 +84,10 @@ public class MainActivity extends CyaneaAppCompatActivity {
    private PrintManager mgr;
    private SharedPreferences prefManager;

    private Uri uri;
    private int pageNumber = 0;
    private String pdfPassword;

    private boolean isBottomNavigationHidden = false;

    private ActivityMainBinding viewBinding;
@@ -118,7 +121,11 @@ public class MainActivity extends CyaneaAppCompatActivity {
        onFirstInstall();
        onFirstUpdate();

        if (savedInstanceState != null) {
            restoreInstanceState(savedInstanceState);
        } else {
            readUriFromIntent(getIntent());
        }
        if (uri == null) {
            pickFile();
            setTitle("");
@@ -127,6 +134,20 @@ public class MainActivity extends CyaneaAppCompatActivity {
        }
    }

    @Override
    protected void onSaveInstanceState(@NonNull Bundle outState) {
        outState.putParcelable("uri", uri);
        outState.putInt("pageNumber", pageNumber);
        outState.putString("pdfPassword", pdfPassword);
        super.onSaveInstanceState(outState);
    }

    private void restoreInstanceState(Bundle savedState) {
        uri = savedState.getParcelable("uri");
        pageNumber = savedState.getInt("pageNumber");
        pdfPassword = savedState.getString("pdfPassword");
    }

    private void onFirstInstall() {
        boolean isFirstRun = prefManager.getBoolean("FIRSTINSTALL", true);
        if (isFirstRun) {
@@ -164,15 +185,6 @@ public class MainActivity extends CyaneaAppCompatActivity {
        uri = intentUri;
    }

    @NonConfigurationInstance
    Uri uri;

    @NonConfigurationInstance
    Integer pageNumber = 0;

    @NonConfigurationInstance
    String pdfPassword;

    private String pdfFileName = "";

    private byte[] downloadedPdfFileContent;