1b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan/*
2b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * Copyright (C) 2015 The Android Open Source Project
3b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan *
4b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * Licensed under the Apache License, Version 2.0 (the "License");
5b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * you may not use this file except in compliance with the License.
6b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * You may obtain a copy of the License at
7b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan *
8b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan *      http://www.apache.org/licenses/LICENSE-2.0
9b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan *
10b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * Unless required by applicable law or agreed to in writing, software
11b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * distributed under the License is distributed on an "AS IS" BASIS,
12b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * See the License for the specific language governing permissions and
14b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * limitations under the License
15b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan */
16b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
17b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnanpackage com.android.packageinstaller.wear;
18b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
19b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnanimport android.content.Intent;
20b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnanimport android.net.Uri;
21b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnanimport android.os.Bundle;
22b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
23b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan/**
24b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * Installation Util that contains a list of parameters that are needed for
25b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan * installing/uninstalling.
26b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan */
27b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnanpublic class WearPackageArgs {
286317f684a214b23fa3103943daaf7a47aa676914Vinod Krishnan    private static final String KEY_PACKAGE_NAME =
296317f684a214b23fa3103943daaf7a47aa676914Vinod Krishnan            "com.google.android.clockwork.EXTRA_PACKAGE_NAME";
30b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_ASSET_URI =
31b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_ASSET_URI";
32b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_START_ID =
33b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_START_ID";
34b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_PERM_URI =
35b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_PERM_URI";
36b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_CHECK_PERMS =
37b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_CHECK_PERMS";
38b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_SKIP_IF_SAME_VERSION =
39b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_SKIP_IF_SAME_VERSION";
40b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_COMPRESSION_ALG =
41b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_KEY_COMPRESSION_ALG";
42b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_COMPANION_SDK_VERSION =
43b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_KEY_COMPANION_SDK_VERSION";
44b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_COMPANION_DEVICE_VERSION =
45b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_KEY_COMPANION_DEVICE_VERSION";
46b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    private static final String KEY_SHOULD_CHECK_GMS_DEPENDENCY =
47b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan            "com.google.android.clockwork.EXTRA_KEY_SHOULD_CHECK_GMS_DEPENDENCY";
483947c8d14e5a3383762a5cf2d029a3327e8c5fdeVinod Krishnan    private static final String KEY_SKIP_IF_LOWER_VERSION =
493947c8d14e5a3383762a5cf2d029a3327e8c5fdeVinod Krishnan            "com.google.android.clockwork.EXTRA_SKIP_IF_LOWER_VERSION";
50b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
51b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static String getPackageName(Bundle b) {
526317f684a214b23fa3103943daaf7a47aa676914Vinod Krishnan        return b.getString(KEY_PACKAGE_NAME);
53b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
54b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
556317f684a214b23fa3103943daaf7a47aa676914Vinod Krishnan    public static Bundle setPackageName(Bundle b, String packageName) {
566317f684a214b23fa3103943daaf7a47aa676914Vinod Krishnan        b.putString(KEY_PACKAGE_NAME, packageName);
576317f684a214b23fa3103943daaf7a47aa676914Vinod Krishnan        return b;
58b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
59b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
606317f684a214b23fa3103943daaf7a47aa676914Vinod Krishnan    public static Uri getAssetUri(Bundle b) {
616317f684a214b23fa3103943daaf7a47aa676914Vinod Krishnan        return b.getParcelable(KEY_ASSET_URI);
62b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
63b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
64b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static Uri getPermUri(Bundle b) {
65b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        return b.getParcelable(KEY_PERM_URI);
66b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
67b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
68b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static boolean checkPerms(Bundle b) {
69b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        return b.getBoolean(KEY_CHECK_PERMS);
70b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
71b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
72b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static boolean skipIfSameVersion(Bundle b) {
73b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        return b.getBoolean(KEY_SKIP_IF_SAME_VERSION);
74b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
75b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
76b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static int getCompanionSdkVersion(Bundle b) {
77b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        return b.getInt(KEY_COMPANION_SDK_VERSION);
78b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
79b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
80b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static int getCompanionDeviceVersion(Bundle b) {
81b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        return b.getInt(KEY_COMPANION_DEVICE_VERSION);
82b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
83b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
84b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static String getCompressionAlg(Bundle b) {
85b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        return b.getString(KEY_COMPRESSION_ALG);
86b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
87b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
88b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static int getStartId(Bundle b) {
89b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        return b.getInt(KEY_START_ID);
90b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
91b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan
923947c8d14e5a3383762a5cf2d029a3327e8c5fdeVinod Krishnan    public static boolean skipIfLowerVersion(Bundle b) {
933947c8d14e5a3383762a5cf2d029a3327e8c5fdeVinod Krishnan        return b.getBoolean(KEY_SKIP_IF_LOWER_VERSION, false);
943947c8d14e5a3383762a5cf2d029a3327e8c5fdeVinod Krishnan    }
953947c8d14e5a3383762a5cf2d029a3327e8c5fdeVinod Krishnan
96b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    public static Bundle setStartId(Bundle b, int startId) {
97b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        b.putInt(KEY_START_ID, startId);
98b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan        return b;
99b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan    }
100b3d46fff6958c7a74f1ab2082f932dd98c5cdc19Vinod Krishnan}
101