1e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey/* 2e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * Copyright (C) 2014 The Android Open Source Project 3e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * 4e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * Licensed under the Apache License, Version 2.0 (the "License"); 5e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * you may not use this file except in compliance with the License. 6e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * You may obtain a copy of the License at 7e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * 8e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * http://www.apache.org/licenses/LICENSE-2.0 9e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * 10e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * Unless required by applicable law or agreed to in writing, software 11e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * distributed under the License is distributed on an "AS IS" BASIS, 12e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * See the License for the specific language governing permissions and 14e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey * limitations under the License. 15e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey */ 16e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey 17e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkeypackage com.android.server.pm; 18e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey 19bc09755e193c2802d2d88871ac3d1f182b260c30Jeff Sharkeyimport android.content.pm.PackageParser.PackageParserException; 20bc09755e193c2802d2d88871ac3d1f182b260c30Jeff Sharkey 21e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey/** {@hide} */ 22e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkeypublic class PackageManagerException extends Exception { 23e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey public final int error; 24e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey 25e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey public PackageManagerException(int error, String detailMessage) { 26e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey super(detailMessage); 27e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey this.error = error; 28e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey } 29e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey 30e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey public PackageManagerException(int error, String detailMessage, Throwable throwable) { 31e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey super(detailMessage, throwable); 32e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey this.error = error; 33e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey } 34bc09755e193c2802d2d88871ac3d1f182b260c30Jeff Sharkey 35bc09755e193c2802d2d88871ac3d1f182b260c30Jeff Sharkey public static PackageManagerException from(PackageParserException e) 36bc09755e193c2802d2d88871ac3d1f182b260c30Jeff Sharkey throws PackageManagerException { 37bc09755e193c2802d2d88871ac3d1f182b260c30Jeff Sharkey throw new PackageManagerException(e.error, e.getMessage(), e.getCause()); 38bc09755e193c2802d2d88871ac3d1f182b260c30Jeff Sharkey } 39e0b0bef75b66f0a87039c8f58c17b1596a2baebeJeff Sharkey} 40