1789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez/* 2789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * Copyright (C) 2017 The Android Open Source Project 3789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * 4789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * Licensed under the Apache License, Version 2.0 (the "License"); 5789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * you may not use this file except in compliance with the License. 6789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * You may obtain a copy of the License at 7789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * 8789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * http://www.apache.org/licenses/LICENSE-2.0 9789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * 10789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * Unless required by applicable law or agreed to in writing, software 11789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * distributed under the License is distributed on an "AS IS" BASIS, 12789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * See the License for the specific language governing permissions and 14789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * limitations under the License. 15789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez */ 16789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez 17789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perezpackage com.android.layoutlib.bridge.intensive.util; 18789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez 19789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perezimport com.android.ide.common.rendering.api.AssetRepository; 20789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez 21789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perezimport java.io.File; 22789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perezimport java.io.FileInputStream; 23789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perezimport java.io.FileNotFoundException; 24789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perezimport java.io.IOException; 25789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perezimport java.io.InputStream; 26789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez 27789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez/** 28789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez * {@link AssetRepository} used for render tests. 29789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez */ 30789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perezpublic class TestAssetRepository extends AssetRepository { 31789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez private static InputStream open(String path) throws FileNotFoundException { 32789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez File asset = new File(path); 33789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez if (asset.isFile()) { 34789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez return new FileInputStream(asset); 35789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez } 36789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez 37789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez return null; 38789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez } 39789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez 40789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez @Override 41789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez public boolean isSupported() { 42789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez return true; 43789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez } 44789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez 45789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez @Override 46789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez public InputStream openAsset(String path, int mode) throws IOException { 47789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez return open(path); 48789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez } 49789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez 50789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez @Override 51789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez public InputStream openNonAsset(int cookie, String path, int mode) throws IOException { 52789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez return open(path); 53789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez } 54789c4b4b14880621f05e7750f594b24bc93fcff9Diego Perez} 55