1 /* 2 * Copyright (C) 2011 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 17 package com.android.tradefed.build; 18 19 import java.io.File; 20 21 /** 22 * A {@link IDeviceBuildInfo} that also contains a {@link ITestzipBuildInfo}. 23 */ 24 public class TestzipDeviceBuildInfo extends BuildInfo implements IDeviceBuildInfo, ITestzipBuildInfo { 25 26 private static final long serialVersionUID = BuildSerializedVersion.VERSION; 27 private IDeviceBuildInfo mDeviceBuild; 28 private ITestzipBuildInfo mTestzipBuildInfo; 29 30 31 @Override 32 public File getTestzipDir() { 33 return mTestzipBuildInfo.getTestzipDir(); 34 } 35 36 @Override 37 public void setTestzipDir(File testsZipFile, String version) { 38 mTestzipBuildInfo.setTestzipDir(testsZipFile, version); 39 } 40 41 @Override 42 public String getTestzipDirVersion() { 43 return mTestzipBuildInfo.getTestzipDirVersion(); 44 } 45 46 /** 47 * @see DeviceBuildInfo#DeviceBuildInfo(String, String) 48 */ 49 public TestzipDeviceBuildInfo(String buildId, String buildName) { 50 super(buildId, buildName); 51 } 52 53 /** 54 * @return the {@link IDeviceBuildInfo} for the device. 55 */ 56 public IDeviceBuildInfo getDeviceBuildInfo() { 57 return mDeviceBuild; 58 } 59 60 /** 61 * @return the {@link IDeviceBuildInfo} for the device. 62 */ 63 public void setTestzipBuild(ITestzipBuildInfo testzipBuild) { 64 mTestzipBuildInfo = testzipBuild; 65 } 66 67 /** 68 * @return the {@link ITestzipBuildInfo} for the application. 69 */ 70 public ITestzipBuildInfo getTestzipBuildInfo() { 71 return mTestzipBuildInfo; 72 } 73 74 /** 75 * {@inheritDoc} 76 */ 77 @Override 78 public String getDeviceBuildId() { 79 return mDeviceBuild.getDeviceBuildId(); 80 } 81 82 /** 83 * {@inheritDoc} 84 */ 85 @Override 86 public String getDeviceBuildFlavor() { 87 return mDeviceBuild.getDeviceBuildFlavor(); 88 } 89 /** 90 * {@inheritDoc} 91 */ 92 @Override 93 public File getDeviceImageFile() { 94 return mDeviceBuild.getDeviceImageFile(); 95 } 96 97 /** 98 * {@inheritDoc} 99 */ 100 @Override 101 public String getDeviceImageVersion() { 102 return mDeviceBuild.getDeviceImageVersion(); 103 } 104 105 /** 106 * {@inheritDoc} 107 */ 108 @Override 109 public void setDeviceImageFile(File deviceImageFile, String version) { 110 mDeviceBuild.setDeviceImageFile(deviceImageFile, version); 111 } 112 113 /** 114 * {@inheritDoc} 115 */ 116 @Override 117 public File getUserDataImageFile() { 118 return mDeviceBuild.getUserDataImageFile(); 119 } 120 121 /** 122 * {@inheritDoc} 123 */ 124 @Override 125 public String getUserDataImageVersion() { 126 return mDeviceBuild.getUserDataImageVersion(); 127 } 128 129 /** 130 * {@inheritDoc} 131 */ 132 @Override 133 public void setUserDataImageFile(File userDataFile, String version) { 134 mDeviceBuild.setUserDataImageFile(userDataFile, version); 135 } 136 137 /** 138 * {@inheritDoc} 139 */ 140 @Override 141 public File getTestsDir() { 142 return mTestzipBuildInfo.getTestzipDir(); 143 } 144 145 /** 146 * {@inheritDoc} 147 */ 148 @Override 149 public String getTestsDirVersion() { 150 return mTestzipBuildInfo.getTestzipDirVersion(); 151 } 152 153 /** 154 * {@inheritDoc} 155 */ 156 @Override 157 public void setTestsDir(File testsDir, String version) { 158 mTestzipBuildInfo.setTestzipDir(testsDir, version); 159 } 160 161 /** 162 * {@inheritDoc} 163 */ 164 @Override 165 public File getBasebandImageFile() { 166 return mDeviceBuild.getBasebandImageFile(); 167 } 168 169 /** 170 * {@inheritDoc} 171 */ 172 @Override 173 public String getBasebandVersion() { 174 return mDeviceBuild.getBasebandVersion(); 175 } 176 177 /** 178 * {@inheritDoc} 179 */ 180 @Override 181 public void setBasebandImage(File basebandFile, String version) { 182 mDeviceBuild.setBasebandImage(basebandFile, version); 183 } 184 185 /** 186 * {@inheritDoc} 187 */ 188 @Override 189 public File getBootloaderImageFile() { 190 return mDeviceBuild.getBootloaderImageFile(); 191 } 192 193 /** 194 * {@inheritDoc} 195 */ 196 @Override 197 public String getBootloaderVersion() { 198 return mDeviceBuild.getBootloaderVersion(); 199 } 200 201 /** 202 * {@inheritDoc} 203 */ 204 @Override 205 public void setBootloaderImageFile(File bootloaderImgFile, String version) { 206 mDeviceBuild.setBootloaderImageFile(bootloaderImgFile, version); 207 } 208 209 /** 210 * {@inheritDoc} 211 */ 212 @Override 213 public File getOtaPackageFile() { 214 return mDeviceBuild.getOtaPackageFile(); 215 } 216 217 /** 218 * {@inheritDoc} 219 */ 220 @Override 221 public String getOtaPackageVersion() { 222 return mDeviceBuild.getOtaPackageVersion(); 223 } 224 225 /** 226 * {@inheritDoc} 227 */ 228 @Override 229 public void setOtaPackageFile(File otaFile, String version) { 230 mDeviceBuild.setOtaPackageFile(otaFile, version); 231 } 232 233 /** 234 * {@inheritDoc} 235 */ 236 @Override 237 public File getMkbootimgFile() { 238 return mDeviceBuild.getMkbootimgFile(); 239 } 240 241 /** 242 * {@inheritDoc} 243 */ 244 @Override 245 public String getMkbootimgVersion() { 246 return mDeviceBuild.getMkbootimgVersion(); 247 } 248 249 /** 250 * {@inheritDoc} 251 */ 252 @Override 253 public void setMkbootimgFile(File mkbootimg, String version) { 254 mDeviceBuild.setMkbootimgFile(mkbootimg, version); 255 } 256 257 /** 258 * {@inheritDoc} 259 */ 260 @Override 261 public File getRamdiskFile() { 262 return mDeviceBuild.getRamdiskFile(); 263 } 264 265 /** 266 * {@inheritDoc} 267 */ 268 @Override 269 public String getRamdiskVersion() { 270 return mDeviceBuild.getRamdiskVersion(); 271 } 272 273 /** 274 * {@inheritDoc} 275 */ 276 @Override 277 public void setRamdiskFile(File ramdisk, String version) { 278 mDeviceBuild.setRamdiskFile(ramdisk, version); 279 } 280 281 /** 282 * @param deviceBuild 283 */ 284 public void setDeviceBuild(IDeviceBuildInfo deviceBuild) { 285 mDeviceBuild = deviceBuild; 286 } 287 288 /** 289 * {@inheritDoc} 290 */ 291 @Override 292 public void cleanUp() { 293 if (mDeviceBuild != null) { 294 mDeviceBuild.cleanUp(); 295 } 296 297 if (mTestzipBuildInfo!= null) { 298 mTestzipBuildInfo.cleanUp(); 299 } 300 } 301 302 /** 303 * {@inheritDoc} 304 */ 305 @Override 306 public IBuildInfo clone() { 307 TestzipDeviceBuildInfo copy = new TestzipDeviceBuildInfo(getBuildId(), getBuildTargetName()); 308 copy.addAllBuildAttributes(this); 309 IDeviceBuildInfo deviceBuildClone = (IDeviceBuildInfo) mDeviceBuild.clone(); 310 copy.setDeviceBuild(deviceBuildClone); 311 ITestzipBuildInfo testzipBuildClone = (ITestzipBuildInfo) mTestzipBuildInfo.clone(); 312 copy.setTestsDir(testzipBuildClone.getTestzipDir(), testzipBuildClone.getTestzipDirVersion()); 313 return copy; 314 } 315 316 } 317