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
This commit is contained in:
@@ -63,7 +63,6 @@ public class PrintJobSettingsFragment extends SettingsPreferenceFragment {
|
||||
private Preference mMessagePreference;
|
||||
|
||||
private PrintJobId mPrintJobId;
|
||||
private PrintJob mPrintJob;
|
||||
|
||||
@Override
|
||||
protected int getMetricsCategory() {
|
||||
@@ -134,17 +133,21 @@ public class PrintJobSettingsFragment extends SettingsPreferenceFragment {
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case MENU_ITEM_ID_CANCEL: {
|
||||
getPrintJob().cancel();
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
PrintJob printJob = getPrintJob();
|
||||
|
||||
case MENU_ITEM_ID_RESTART: {
|
||||
getPrintJob().restart();
|
||||
finish();
|
||||
return true;
|
||||
if (printJob != null) {
|
||||
switch (item.getItemId()) {
|
||||
case MENU_ITEM_ID_CANCEL: {
|
||||
printJob.cancel();
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
case MENU_ITEM_ID_RESTART: {
|
||||
printJob.restart();
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
Reference in New Issue
Block a user