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

Commit eb01628b authored by Philip P. Moltmann's avatar Philip P. Moltmann
Browse files

Update print jobs appropriately in the print settings.

- Always use a fresh print job as once the print job goes away it cannot
  be read. Before we were stuck with the last state which might not been
  the last state
- make loaders relative to fragment to avoid loader id duplications with
  other ids of the activity.

Fixes: 28315242
Change-Id: I57eeb64b44b5d77b2092c22b175407131f7baf97
parent 1624f69a
Loading
Loading
Loading
Loading
+15 −15
Original line number Diff line number Diff line
@@ -63,7 +63,6 @@ public class PrintJobSettingsFragment extends SettingsPreferenceFragment {
    private Preference mMessagePreference;

    private PrintJobId mPrintJobId;
    private PrintJob mPrintJob;

    @Override
    protected int getMetricsCategory() {
@@ -134,19 +133,23 @@ public class PrintJobSettingsFragment extends SettingsPreferenceFragment {

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        PrintJob printJob = getPrintJob();

        if (printJob != null) {
            switch (item.getItemId()) {
                case MENU_ITEM_ID_CANCEL: {
                getPrintJob().cancel();
                    printJob.cancel();
                    finish();
                    return true;
                }

                case MENU_ITEM_ID_RESTART: {
                getPrintJob().restart();
                    printJob.restart();
                    finish();
                    return true;
                }
            }
        }

        return super.onOptionsItemSelected(item);
    }
@@ -161,10 +164,7 @@ public class PrintJobSettingsFragment extends SettingsPreferenceFragment {
    }

    private PrintJob getPrintJob() {
        if (mPrintJob == null) {
            mPrintJob = mPrintManager.getPrintJob(mPrintJobId);
        }
        return mPrintJob;
        return mPrintManager.getPrintJob(mPrintJobId);
    }

    private void updateUi() {
+1 −1
Original line number Diff line number Diff line
@@ -606,7 +606,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
        @Override
        public Loader<List<PrinterInfo>> onCreateLoader(int id, Bundle args) {
            if (id == LOADER_ID_PRINTERS_LOADER) {
                return new PrintersLoader(getActivity());
                return new PrintersLoader(getContext());
            }
            return null;
        }
+3 −5
Original line number Diff line number Diff line
@@ -115,12 +115,10 @@ public class PrintSettingsFragment extends ProfileSettingsPreferenceFragment
        getPreferenceScreen().removePreference(mActivePrintJobsCategory);

        mPrintJobsController = new PrintJobsController();
        getActivity().getLoaderManager().initLoader(LOADER_ID_PRINT_JOBS_LOADER, null,
                mPrintJobsController);
        getLoaderManager().initLoader(LOADER_ID_PRINT_JOBS_LOADER, null, mPrintJobsController);

        mPrintServicesController = new PrintServicesController();
        getActivity().getLoaderManager().initLoader(LOADER_ID_PRINT_SERVICES, null,
                mPrintServicesController);
        getLoaderManager().initLoader(LOADER_ID_PRINT_SERVICES, null, mPrintServicesController);
    }

    @Override
@@ -294,7 +292,7 @@ public class PrintSettingsFragment extends ProfileSettingsPreferenceFragment
        @Override
        public Loader<List<PrintJobInfo>> onCreateLoader(int id, Bundle args) {
            if (id == LOADER_ID_PRINT_JOBS_LOADER) {
                return new PrintJobsLoader(getActivity());
                return new PrintJobsLoader(getContext());
            }
            return null;
        }