184440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay/* 284440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * Copyright (C) 2017 The Android Open Source Project 384440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * 484440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * Licensed under the Apache License, Version 2.0 (the "License"); 584440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * you may not use this file except in compliance with the License. 684440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * You may obtain a copy of the License at 784440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * 884440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * http://www.apache.org/licenses/LICENSE-2.0 984440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * 1084440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * Unless required by applicable law or agreed to in writing, software 1184440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * distributed under the License is distributed on an "AS IS" BASIS, 1284440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1384440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * See the License for the specific language governing permissions and 1484440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * limitations under the License. 1584440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay */ 1684440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKaypackage com.android.documentsui.inspector; 1784440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 1884440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKayimport android.content.Context; 1984440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKayimport android.util.AttributeSet; 2084440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 21f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKayimport com.android.documentsui.R; 2284440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKayimport com.android.documentsui.base.DocumentInfo; 2384440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 2484440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKayimport java.util.function.Consumer; 2584440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 2684440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay/** 2784440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay * Organizes and Displays the basic details about a file 2884440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay */ 2984440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKaypublic class DebugView extends TableView implements Consumer<DocumentInfo> { 3084440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 3184440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay public DebugView(Context context) { 3284440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay this(context, null); 3384440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay } 3484440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 3584440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay public DebugView(Context context, AttributeSet attrs) { 3684440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay this(context, attrs, 0); 3784440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay } 3884440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 3984440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay public DebugView(Context context, AttributeSet attrs, int defStyleAttr) { 4084440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay super(context, attrs, defStyleAttr); 4184440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay } 4284440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 4384440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay @Override 4484440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay public void accept(DocumentInfo info) { 45f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay setTitle(this, R.string.inspector_debug_section); 46f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay 47f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Content uri", info.derivedUri); 48f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Document id", info.documentId); 49f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Mimetype: ", info.mimeType); 50f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Is archive", info.isArchive()); 51f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Is container", info.isContainer()); 52f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Is partial", info.isPartial()); 53f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Is virtual", info.isVirtual()); 54f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Supports create", info.isCreateSupported()); 55f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Supports delete", info.isDeleteSupported()); 56f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Supports rename", info.isRenameSupported()); 57f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Supports settings", info.isSettingsSupported()); 58f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Supports thumbnail", info.isThumbnailSupported()); 59f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Supports weblink", info.isWeblinkSupported()); 60f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put("Supports write", info.isWriteSupported()); 6184440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay } 6284440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay 63f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay private void put(String key, Object value) { 64f433d20a7759775dfc848fdd50da2a3f01219a54Steve McKay put(key, String.valueOf(value)); 6584440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay } 6684440eb493a8fe63c0b7f74d75f24409a32c05beSteve McKay} 67