1/*
2 * Copyright (C) 2016 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
17package android.media;
18
19import android.content.ContentProvider;
20import android.database.Cursor;
21import android.database.CursorWrapper;
22import android.net.Uri;
23
24/**
25 * Cursor that adds the user id to fetched URIs. This is especially useful for {@link getCursor} as
26 * a managed profile should also list its parent's ringtones
27 *
28 * @hide
29 */
30public class ExternalRingtonesCursorWrapper extends CursorWrapper {
31
32    private int mUserId;
33
34    public ExternalRingtonesCursorWrapper(Cursor cursor, int userId) {
35        super(cursor);
36        mUserId = userId;
37    }
38
39    public String getString(int index) {
40        String result = super.getString(index);
41        if (index == RingtoneManager.URI_COLUMN_INDEX) {
42            result = ContentProvider.maybeAddUserId(Uri.parse(result), mUserId).toString();
43        }
44        return result;
45    }
46}
47