Show correct message for a print job that is being canceled.

1. If a print job is being canceled we now show appropriate
   message that matches what the notification shows.

2. If a print job is being canceled we do not show the cancel
   button.

bug:11696928

Change-Id: I0fc4f8226c4aa9acd6a4b65811f4228e56018315
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 78ac108..65ee75e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3472,6 +3472,9 @@
     <!-- Template for the label of the state for a ongoing print job. [CHAR LIMIT=25] -->
     <string name="print_printing_state_title_template">Printing <xliff:g id="print_job_name" example="foo.jpg">%1$s</xliff:g></string>
 
+    <!-- Template for the label for a cancelling print job. [CHAR LIMIT=25] -->
+    <string name="print_cancelling_state_title_template" msgid="1821759594704703197">Cancelling <xliff:g id="print_job_name" example="foo.jpg">%1$s</xliff:g></string>
+
     <!-- Template for the label of the state for a failed print job. [CHAR LIMIT=25] -->
     <string name="print_failed_state_title_template">Printer error <xliff:g id="print_job_name" example="foo.jpg">%1$s</xliff:g></string>
 
diff --git a/src/com/android/settings/print/PrintJobSettingsFragment.java b/src/com/android/settings/print/PrintJobSettingsFragment.java
index cfb4cb2..f420a82 100644
--- a/src/com/android/settings/print/PrintJobSettingsFragment.java
+++ b/src/com/android/settings/print/PrintJobSettingsFragment.java
@@ -19,7 +19,6 @@
 import android.app.ActivityManager;
 import android.content.Context;
 import android.graphics.drawable.Drawable;
-import android.net.Uri;
 import android.os.Bundle;
 import android.preference.Preference;
 import android.print.PrintJob;
@@ -113,9 +112,11 @@
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         super.onCreateOptionsMenu(menu, inflater);
 
-        MenuItem cancel = menu.add(0, MENU_ITEM_ID_CANCEL, Menu.NONE,
-                getString(R.string.print_cancel));
-        cancel.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
+        if (!mPrintJob.getInfo().isCancelling()) {
+            MenuItem cancel = menu.add(0, MENU_ITEM_ID_CANCEL, Menu.NONE,
+                    getString(R.string.print_cancel));
+            cancel.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
+        }
 
         if (mPrintJob.isFailed()) {
             MenuItem restart = menu.add(0, MENU_ITEM_ID_RESTART, Menu.NONE,
@@ -169,8 +170,13 @@
         switch (info.getState()) {
             case PrintJobInfo.STATE_QUEUED:
             case PrintJobInfo.STATE_STARTED: {
-                mPrintJobPreference.setTitle(getString(
-                        R.string.print_printing_state_title_template, info.getLabel()));
+                if (!mPrintJob.getInfo().isCancelling()) {
+                    mPrintJobPreference.setTitle(getString(
+                            R.string.print_printing_state_title_template, info.getLabel()));
+                } else {
+                    mPrintJobPreference.setTitle(getString(
+                            R.string.print_cancelling_state_title_template, info.getLabel()));
+                }
             } break;
 
             case PrintJobInfo.STATE_FAILED: {
@@ -179,8 +185,13 @@
             } break;
 
             case PrintJobInfo.STATE_BLOCKED: {
-                mPrintJobPreference.setTitle(getString(
-                        R.string.print_blocked_state_title_template, info.getLabel()));
+                if (!mPrintJob.getInfo().isCancelling()) {
+                    mPrintJobPreference.setTitle(getString(
+                            R.string.print_blocked_state_title_template, info.getLabel()));
+                } else {
+                    mPrintJobPreference.setTitle(getString(
+                            R.string.print_cancelling_state_title_template, info.getLabel()));
+                }
             } break;
         }
 
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index 391d505..df38db4 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -376,9 +376,15 @@
                     switch (printJob.getState()) {
                         case PrintJobInfo.STATE_QUEUED:
                         case PrintJobInfo.STATE_STARTED: {
-                            preference.setTitle(getString(
-                                    R.string.print_printing_state_title_template,
-                                    printJob.getLabel()));
+                            if (!printJob.isCancelling()) {
+                                preference.setTitle(getString(
+                                        R.string.print_printing_state_title_template,
+                                        printJob.getLabel()));
+                            } else {
+                                preference.setTitle(getString(
+                                        R.string.print_cancelling_state_title_template,
+                                        printJob.getLabel()));
+                            }
                         } break;
 
                         case PrintJobInfo.STATE_FAILED: {
@@ -388,9 +394,15 @@
                         } break;
 
                         case PrintJobInfo.STATE_BLOCKED: {
-                            preference.setTitle(getString(
-                                    R.string.print_blocked_state_title_template,
-                                    printJob.getLabel()));
+                            if (!printJob.isCancelling()) {
+                                preference.setTitle(getString(
+                                        R.string.print_blocked_state_title_template,
+                                        printJob.getLabel()));
+                            } else {
+                                preference.setTitle(getString(
+                                        R.string.print_cancelling_state_title_template,
+                                        printJob.getLabel()));
+                            }
                         } break;
                     }