13e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert/* 23e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Copyright (C) 2009 The Android Open Source Project 33e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * 43e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 53e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * you may not use this file except in compliance with the License. 63e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * You may obtain a copy of the License at 73e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * 83e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 93e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * 103e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Unless required by applicable law or agreed to in writing, software 113e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 123e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * See the License for the specific language governing permissions and 143e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * limitations under the License. 153e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert */ 163e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 173e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertpackage com.android.quicksearchbox; 183e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 19e29d52aa72c96c3147fa91d83aeb8dafc6d1f578Mathew Inwoodimport com.android.quicksearchbox.util.Now; 20e29d52aa72c96c3147fa91d83aeb8dafc6d1f578Mathew Inwoodimport com.android.quicksearchbox.util.NowOrLater; 21e29d52aa72c96c3147fa91d83aeb8dafc6d1f578Mathew Inwood 223e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertimport android.content.ContentResolver; 233e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertimport android.content.Context; 243e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertimport android.graphics.drawable.Drawable; 253e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertimport android.net.Uri; 263e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertimport android.text.TextUtils; 273e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 283e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert/** 293e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * Mock implementation of {@link IconLoader}. 303e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert * 313e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert */ 323e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringertpublic class MockIconLoader implements IconLoader { 333e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 343e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert private final Context mContext; 353e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 363e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert public MockIconLoader(Context context) { 373e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert mContext = context; 383e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 393e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 40e29d52aa72c96c3147fa91d83aeb8dafc6d1f578Mathew Inwood public NowOrLater<Drawable> getIcon(String drawableId) { 413e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert if (TextUtils.isEmpty(drawableId) || "0".equals(drawableId)) { 42e29d52aa72c96c3147fa91d83aeb8dafc6d1f578Mathew Inwood return new Now<Drawable>(null); 43e29d52aa72c96c3147fa91d83aeb8dafc6d1f578Mathew Inwood } else { 44e29d52aa72c96c3147fa91d83aeb8dafc6d1f578Mathew Inwood return new Now<Drawable>( 45e29d52aa72c96c3147fa91d83aeb8dafc6d1f578Mathew Inwood mContext.getResources().getDrawable(android.R.drawable.star_on)); 463e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 473e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 483e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 493e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert public Uri getIconUri(String drawableId) { 503e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert if (TextUtils.isEmpty(drawableId) || "0".equals(drawableId)) { 513e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return null; 523e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 533e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert return new Uri.Builder() 543e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE) 553e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .authority(mContext.getPackageName()) 563e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .appendEncodedPath(String.valueOf(android.R.drawable.star_on)) 573e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert .build(); 583e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert } 593e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert 603e44ff1f2a204db3f479698cf0b3eab3d451dec2Bjorn Bringert}