PrintingControllerFactory.java revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file. 4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)package org.chromium.chrome.browser.printing; 6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import android.app.Activity; 8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import android.content.Context; 9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import android.print.PrintManager; 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import org.chromium.base.ApiCompatibilityUtils; 12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import org.chromium.chrome.R; 13a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)import org.chromium.printing.PrintDocumentAdapterWrapper; 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import org.chromium.printing.PrintManagerDelegateImpl; 15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import org.chromium.printing.PrintingController; 16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import org.chromium.printing.PrintingControllerImpl; 17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)/** 19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) * Creates a {@link PrintingControllerImpl}. 20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) * 21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) * Also, sets the default title of {@link TabPrinter}. 22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) */ 23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)public class PrintingControllerFactory { 24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) public static PrintingController create(Activity activity) { 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) if (ApiCompatibilityUtils.isPrintingSupported()) { 26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) String defaultJobTitle = activity.getResources().getString(R.string.menu_print); 27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) TabPrinter.setDefaultTitle(defaultJobTitle); 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) PrintManager printManager = 30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) (PrintManager) activity.getSystemService(Context.PRINT_SERVICE); 31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) String errorText = activity.getResources().getString(R.string.error_printing_failed); 32a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) return PrintingControllerImpl.create(new PrintManagerDelegateImpl(printManager), 33a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) new PrintDocumentAdapterWrapper(), errorText); 34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) return null; 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 38