1b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay/* 2b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * Copyright (C) 2016 The Android Open Source Project 3b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * 4b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * Licensed under the Apache License, Version 2.0 (the "License"); 5b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * you may not use this file except in compliance with the License. 6b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * You may obtain a copy of the License at 7b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * 8b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * http://www.apache.org/licenses/LICENSE-2.0 9b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * 10b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * Unless required by applicable law or agreed to in writing, software 11b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * distributed under the License is distributed on an "AS IS" BASIS, 12b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * See the License for the specific language governing permissions and 14b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay * limitations under the License. 15b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay */ 16b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKaypackage com.android.documentsui.base; 17b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay 1850b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKayimport android.content.ContentResolver; 1950b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKayimport android.os.Bundle; 2050b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay 21aad7883a1fae05d0951f8c09ecbef3616e8c1be4Steve McKayimport com.android.documentsui.queries.CommandInterceptor; 2250b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay 23b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKayimport javax.annotation.Nullable; 24b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay 25b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay/** 26aad7883a1fae05d0951f8c09ecbef3616e8c1be4Steve McKay * Shared values that may be set by {@link CommandInterceptor}. 27b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay */ 28b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKaypublic final class DebugFlags { 29b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay 30b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay private DebugFlags() {} 31b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay 32b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay private static String mQvPackage; 33358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay private static boolean sDocumentDetailsEnabled; 3450b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay private static int sForcedPageOffset = -1; 3550b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay private static int sForcedPageLimit = -1; 36b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay 37b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay public static void setQuickViewer(@Nullable String qvPackage) { 38b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay mQvPackage = qvPackage; 39b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay } 40b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay 41b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay public static @Nullable String getQuickViewer() { 42b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay return mQvPackage; 43b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay } 44b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay 45358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay public static void setDocumentDetailsEnabled(boolean enabled) { 46358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay sDocumentDetailsEnabled = enabled; 47358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay } 48358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay 49358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay public static boolean getDocumentDetailsEnabled() { 50358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay return sDocumentDetailsEnabled; 51358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay } 52358c3ecf1a92fcdc83fcf340519cbbd25c49bbd8Steve McKay 5350b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay public static void setForcedPaging(int offset, int limit) { 5450b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay sForcedPageOffset = offset; 5550b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay sForcedPageLimit = limit; 5650b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay } 5750b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay 5850b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay public static boolean addForcedPagingArgs(Bundle queryArgs) { 5950b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay boolean flagsAdded = false; 6050b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay if (sForcedPageOffset >= 0) { 6150b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay queryArgs.putInt(ContentResolver.QUERY_ARG_OFFSET, sForcedPageOffset); 6250b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay flagsAdded |= true; 6350b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay } 6450b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay if (sForcedPageLimit >= 0) { 6550b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay queryArgs.putInt(ContentResolver.QUERY_ARG_LIMIT, sForcedPageLimit); 6650b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay flagsAdded |= true; 6750b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay } 6850b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay return flagsAdded; 6950b9baedc04a226b7a2e21f81f9a87533e3f7d02Steve McKay } 70b03a59c43e526b0814b2c8e700257d34a0aef226Steve McKay} 71