1ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee/* 2ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * Copyright (C) 2014 The Android Open Source Project 3ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * 4ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * Licensed under the Apache License, Version 2.0 (the "License"); 5ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * you may not use this file except in compliance with the License. 6ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * You may obtain a copy of the License at 7ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * 8ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * http://www.apache.org/licenses/LICENSE-2.0 9ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * 10ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * Unless required by applicable law or agreed to in writing, software 11ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * distributed under the License is distributed on an "AS IS" BASIS, 12ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * See the License for the specific language governing permissions and 14ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee * limitations under the License. 15ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee */ 16ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee 17ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Leepackage com.android.providers.tv; 18ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee 199c7110178fd390ed520e83522ecc5b54835e0778Conrad Chenimport android.content.ContentValues; 209c7110178fd390ed520e83522ecc5b54835e0778Conrad Chenimport android.database.sqlite.SQLiteDatabase; 219c7110178fd390ed520e83522ecc5b54835e0778Conrad Chenimport android.media.tv.TvContract; 229c7110178fd390ed520e83522ecc5b54835e0778Conrad Chenimport android.net.Uri; 239c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen 24ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Leeclass TvProviderForTesting extends TvProvider { 259c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen private static final String FAKE_SESSION_TOKEN = "TvProviderForTesting"; 269c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen 271b63db50e1bb304d7d6d77d3136ee066d14f91f9Conrad Chen String callingPackage; 281b63db50e1bb304d7d6d77d3136ee066d14f91f9Conrad Chen 29ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee @Override 30ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee void scheduleEpgDataCleanup() {} 31ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee 32ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee @Override 33ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee String getCallingPackage_() { 341b63db50e1bb304d7d6d77d3136ee066d14f91f9Conrad Chen if (callingPackage != null) { 351b63db50e1bb304d7d6d77d3136ee066d14f91f9Conrad Chen return callingPackage; 361b63db50e1bb304d7d6d77d3136ee066d14f91f9Conrad Chen } 37ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee return getContext().getPackageName(); 38ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee } 393cc1a853b3dd678078c17a5f70c2ceba0f1d5cd4Dongwon Kang 403cc1a853b3dd678078c17a5f70c2ceba0f1d5cd4Dongwon Kang void setTransientRowHelper(TransientRowHelper helper) { 413cc1a853b3dd678078c17a5f70c2ceba0f1d5cd4Dongwon Kang mTransientRowHelper = helper; 423cc1a853b3dd678078c17a5f70c2ceba0f1d5cd4Dongwon Kang } 439c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen 449c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen // This method is a bypass for testing to avoid async'ly updating restriction of TvProvider 459c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen Uri insertWatchedProgramSync(ContentValues values) { 469c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen values.put(WATCHED_PROGRAMS_COLUMN_CONSOLIDATED, 1); 479c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen values.put(TvContract.WatchedPrograms.COLUMN_INTERNAL_SESSION_TOKEN, FAKE_SESSION_TOKEN); 489c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen DatabaseHelper helper = DatabaseHelper.getInstance(getContext()); 499c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen SQLiteDatabase db = helper.getWritableDatabase(); 509c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen long rowId = db.insert(WATCHED_PROGRAMS_TABLE, null, values); 519c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen return TvContract.buildWatchedProgramUri(rowId); 529c7110178fd390ed520e83522ecc5b54835e0778Conrad Chen } 53ac117ad70762672243573f9c8a5ea3220c4884bfJi-Hwan Lee} 54