Commit e9c79c8f authored by Shimi Zhang's avatar Shimi Zhang Committed by Commit Bot

[Print] Cleanup null check and Android version checks

With https://crrev/c/1925239, PrintingControllerImpl.getInstance() will
always give an non-null instance, we don't need to check if it is null
or not anymore.

Chrome for Android doesn't support less than KitKat, so we could remove
few checks and annotations now.

Bug: None
Test: Current tests should pass, manually tested window.print() and share
Test: menu code paths.
Change-Id: Ia0a9e41c0eef6d693b39547646e462bb4af4292c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1928629Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Commit-Queue: Shimi Zhang <ctzsm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#720732}
parent 3c70fb4e
...@@ -4,9 +4,6 @@ ...@@ -4,9 +4,6 @@
package org.chromium.chrome.browser.printing; package org.chromium.chrome.browser.printing;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.CancellationSignal; import android.os.CancellationSignal;
import android.os.ParcelFileDescriptor; import android.os.ParcelFileDescriptor;
import android.print.PageRange; import android.print.PageRange;
...@@ -26,7 +23,6 @@ import org.junit.runner.RunWith; ...@@ -26,7 +23,6 @@ import org.junit.runner.RunWith;
import org.chromium.base.test.util.CallbackHelper; import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.MinAndroidSdkLevel;
import org.chromium.base.test.util.RetryOnFailure; import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.base.test.util.TestFileUtil; import org.chromium.base.test.util.TestFileUtil;
import org.chromium.base.test.util.UrlUtils; import org.chromium.base.test.util.UrlUtils;
...@@ -58,8 +54,6 @@ import java.util.concurrent.TimeoutException; ...@@ -58,8 +54,6 @@ import java.util.concurrent.TimeoutException;
*/ */
@RunWith(ChromeJUnit4ClassRunner.class) @RunWith(ChromeJUnit4ClassRunner.class)
@RetryOnFailure @RetryOnFailure
@SuppressLint("NewApi")
@MinAndroidSdkLevel(Build.VERSION_CODES.KITKAT)
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE}) @CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
public class PrintingControllerTest { public class PrintingControllerTest {
@Rule @Rule
...@@ -156,12 +150,9 @@ public class PrintingControllerTest { ...@@ -156,12 +150,9 @@ public class PrintingControllerTest {
* order, in the UI thread. * order, in the UI thread.
*/ */
@Test @Test
@TargetApi(Build.VERSION_CODES.KITKAT)
@LargeTest @LargeTest
@Feature({"Printing"}) @Feature({"Printing"})
public void testNormalPrintingFlow() throws Throwable { public void testNormalPrintingFlow() throws Throwable {
if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)) return;
mActivityTestRule.startMainActivityWithURL(URL); mActivityTestRule.startMainActivityWithURL(URL);
final Tab currentTab = mActivityTestRule.getActivity().getActivityTab(); final Tab currentTab = mActivityTestRule.getActivity().getActivityTab();
...@@ -225,12 +216,9 @@ public class PrintingControllerTest { ...@@ -225,12 +216,9 @@ public class PrintingControllerTest {
* don't crash and won't call into framework. * don't crash and won't call into framework.
*/ */
@Test @Test
@TargetApi(Build.VERSION_CODES.KITKAT)
@MediumTest @MediumTest
@Feature({"Printing"}) @Feature({"Printing"})
public void testPrintCloseWindowBeforeStart() { public void testPrintCloseWindowBeforeStart() {
if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)) return;
mActivityTestRule.startMainActivityWithURL(URL); mActivityTestRule.startMainActivityWithURL(URL);
final Tab currentTab = mActivityTestRule.getActivity().getActivityTab(); final Tab currentTab = mActivityTestRule.getActivity().getActivityTab();
final PrintingControllerImpl printingController = createControllerOnUiThread(); final PrintingControllerImpl printingController = createControllerOnUiThread();
...@@ -254,12 +242,9 @@ public class PrintingControllerTest { ...@@ -254,12 +242,9 @@ public class PrintingControllerTest {
* let framework notify user that we can't perform printing job. * let framework notify user that we can't perform printing job.
*/ */
@Test @Test
@TargetApi(Build.VERSION_CODES.KITKAT)
@LargeTest @LargeTest
@Feature({"Printing"}) @Feature({"Printing"})
public void testPrintCloseWindowBeforeOnWrite() throws Throwable { public void testPrintCloseWindowBeforeOnWrite() throws Throwable {
if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)) return;
mActivityTestRule.startMainActivityWithURL(URL); mActivityTestRule.startMainActivityWithURL(URL);
final Tab currentTab = mActivityTestRule.getActivity().getActivityTab(); final Tab currentTab = mActivityTestRule.getActivity().getActivityTab();
final PrintingControllerImpl printingController = createControllerOnUiThread(); final PrintingControllerImpl printingController = createControllerOnUiThread();
...@@ -321,12 +306,9 @@ public class PrintingControllerTest { ...@@ -321,12 +306,9 @@ public class PrintingControllerTest {
* Crash test, pass if there is no crash. * Crash test, pass if there is no crash.
*/ */
@Test @Test
@TargetApi(Build.VERSION_CODES.KITKAT)
@MediumTest @MediumTest
@Feature({"Printing"}) @Feature({"Printing"})
public void testCancelPrintBeforeWriteResultCallbacks() throws Throwable { public void testCancelPrintBeforeWriteResultCallbacks() throws Throwable {
if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)) return;
mActivityTestRule.startMainActivityWithURL(URL); mActivityTestRule.startMainActivityWithURL(URL);
final WaitForOnWriteHelper onWriteHelper = new WaitForOnWriteHelper(); final WaitForOnWriteHelper onWriteHelper = new WaitForOnWriteHelper();
...@@ -382,8 +364,6 @@ public class PrintingControllerTest { ...@@ -382,8 +364,6 @@ public class PrintingControllerTest {
@SmallTest @SmallTest
@Feature({"Printing"}) @Feature({"Printing"})
public void testPdfWritingDoneCalledWithoutInitailizePrintingTask() { public void testPdfWritingDoneCalledWithoutInitailizePrintingTask() {
if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)) return;
mActivityTestRule.startMainActivityWithURL(URL); mActivityTestRule.startMainActivityWithURL(URL);
final PrintingControllerImpl controller = createControllerOnUiThread(); final PrintingControllerImpl controller = createControllerOnUiThread();
...@@ -397,7 +377,6 @@ public class PrintingControllerTest { ...@@ -397,7 +377,6 @@ public class PrintingControllerTest {
() -> (PrintingControllerImpl) PrintingControllerImpl.getInstance()); () -> (PrintingControllerImpl) PrintingControllerImpl.getInstance());
} }
@TargetApi(Build.VERSION_CODES.KITKAT)
private PrintAttributes createDummyPrintAttributes() { private PrintAttributes createDummyPrintAttributes() {
return new PrintAttributes.Builder() return new PrintAttributes.Builder()
.setMediaSize(PrintAttributes.MediaSize.ISO_A4) .setMediaSize(PrintAttributes.MediaSize.ISO_A4)
......
...@@ -6,7 +6,6 @@ package org.chromium.printing; ...@@ -6,7 +6,6 @@ package org.chromium.printing;
import android.app.Activity; import android.app.Activity;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace; import org.chromium.base.annotations.JNINamespace;
...@@ -67,9 +66,7 @@ public class PrintingContext { ...@@ -67,9 +66,7 @@ public class PrintingContext {
@CalledByNative @CalledByNative
public void showPrintDialog() { public void showPrintDialog() {
ThreadUtils.assertOnUiThread(); ThreadUtils.assertOnUiThread();
if (mController != null) { // The native side doesn't check if printing is enabled mController.startPendingPrint();
mController.startPendingPrint();
}
// Reply to native side with |CANCEL| since there is no printing settings available yet at // Reply to native side with |CANCEL| since there is no printing settings available yet at
// this stage. // this stage.
showSystemDialogDone(); showSystemDialogDone();
...@@ -78,20 +75,17 @@ public class PrintingContext { ...@@ -78,20 +75,17 @@ public class PrintingContext {
@CalledByNative @CalledByNative
public static void pdfWritingDone(int pageCount) { public static void pdfWritingDone(int pageCount) {
ThreadUtils.assertOnUiThread(); ThreadUtils.assertOnUiThread();
if (PrintingControllerImpl.getInstance() != null) {
PrintingControllerImpl.getInstance().pdfWritingDone(pageCount); PrintingControllerImpl.getInstance().pdfWritingDone(pageCount);
} else {
Log.d(TAG, "No PrintingController, can't notify print completion.");
}
} }
@CalledByNative @CalledByNative
private static void setPendingPrint( private static void setPendingPrint(
WindowAndroid window, Printable printable, int renderProcessId, int renderFrameId) { WindowAndroid window, Printable printable, int renderProcessId, int renderFrameId) {
PrintingController printingController = PrintingControllerImpl.getInstance();
Activity activity = window.getActivity().get(); Activity activity = window.getActivity().get();
if (printingController == null || activity == null) return; if (activity == null) return;
PrintingController printingController = PrintingControllerImpl.getInstance();
printingController.setPendingPrint( printingController.setPendingPrint(
printable, new PrintManagerDelegateImpl(activity), renderProcessId, renderFrameId); printable, new PrintManagerDelegateImpl(activity), renderProcessId, renderFrameId);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment