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