1 /*
2  * Copyright (C) 2021 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.providers.media;
18 
19 import com.android.tools.r8.keepanno.annotations.KeepItemKind;
20 import com.android.tools.r8.keepanno.annotations.UsedByNative;
21 
22 /**
23  * Wrapper class which contains transforms, transforms completion status and ioPath for transform
24  * lookup query for a file and uid pair.
25  */
26 @UsedByNative(
27     description = "Called from JNI in jni/MediaProviderWrapper.cpp",
28     kind = KeepItemKind.CLASS_AND_MEMBERS)
29 public final class FileLookupResult {
30     public final int transforms;
31     public final int transformsReason;
32     public final int uid;
33     public final boolean transformsComplete;
34     public final boolean transformsSupported;
35     public final String ioPath;
36 
FileLookupResult(int transforms, int uid, String ioPath)37     public FileLookupResult(int transforms, int uid, String ioPath) {
38         this (transforms, /* transformsReason */ 0, uid, /* transformsComplete */ true,
39                 /* transformsSupported */ transforms == 0 ? false : true, ioPath);
40     }
41 
FileLookupResult(int transforms, int transformsReason, int uid, boolean transformsComplete, boolean transformsSupported, String ioPath)42     public FileLookupResult(int transforms, int transformsReason, int uid,
43             boolean transformsComplete, boolean transformsSupported, String ioPath) {
44         this.transforms = transforms;
45         this.transformsReason = transformsReason;
46         this.uid = uid;
47         this.transformsComplete = transformsComplete;
48         this.transformsSupported = transformsSupported;
49         this.ioPath = ioPath;
50     }
51 }
52