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