summaryrefslogtreecommitdiff
path: root/src/org/chromium/support_lib_boundary/DropDataContentProviderBoundaryInterface.java
blob: 8872999510883c836b4be03865f780b24b62dcf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package org.chromium.support_lib_boundary;

import android.content.ContentProvider;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import java.io.FileNotFoundException;

/** Boundary interface for DropDataProvider. */
public interface DropDataContentProviderBoundaryInterface {
    boolean onCreate();

    String[] getStreamTypes(@NonNull Uri uri, @NonNull String mimeTypeFilter);

    ParcelFileDescriptor openFile(@NonNull ContentProvider providerWrapper, @NonNull Uri uri)
            throws FileNotFoundException;

    Cursor query(
            @NonNull Uri uri,
            @Nullable String[] projection,
            @Nullable String selection,
            @Nullable String[] selectionArgs,
            @Nullable String sortOrder);

    String getType(@NonNull Uri uri);

    Uri cache(byte[] imageBytes, String encodingFormat, String filename);

    void setClearCachedDataIntervalMs(int milliseconds);

    void onDragEnd(boolean imageInUse);

    Bundle call(@NonNull String method, @Nullable String arg, @Nullable Bundle extras);
}