diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-07-22 13:48:29 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2014-08-01 14:45:39 -0700 |
commit | e755d469d40b95e763a9dcb67d0e4f511d1948dd (patch) | |
tree | efeb5b14ebf555a41f37bac96b8eb198e61c7899 /src/com/android/launcher3/compat/PackageInstallerCompat.java | |
parent | c5b6ac7215329d9f827731a43c330451f38b9965 (diff) | |
download | android_packages_apps_Trebuchet-e755d469d40b95e763a9dcb67d0e4f511d1948dd.tar.gz android_packages_apps_Trebuchet-e755d469d40b95e763a9dcb67d0e4f511d1948dd.tar.bz2 android_packages_apps_Trebuchet-e755d469d40b95e763a9dcb67d0e4f511d1948dd.zip |
Implementing a package install progress listener for L
issue: 15835307
Change-Id: I71aaea087963f2e0e1206447190cbe23c174057d
Diffstat (limited to 'src/com/android/launcher3/compat/PackageInstallerCompat.java')
-rw-r--r-- | src/com/android/launcher3/compat/PackageInstallerCompat.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/com/android/launcher3/compat/PackageInstallerCompat.java b/src/com/android/launcher3/compat/PackageInstallerCompat.java new file mode 100644 index 000000000..89a2157eb --- /dev/null +++ b/src/com/android/launcher3/compat/PackageInstallerCompat.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.launcher3.compat; + +import android.content.Context; + +import com.android.launcher3.Utilities; + +public abstract class PackageInstallerCompat { + + private static final Object sInstanceLock = new Object(); + private static PackageInstallerCompat sInstance; + + public static PackageInstallerCompat getInstance(Context context) { + synchronized (sInstanceLock) { + if (sInstance == null) { + if (Utilities.isLmp()) { + sInstance = new PackageInstallerCompatVL(context); + } else { + sInstance = new PackageInstallerCompatV16(context) { }; + } + } + return sInstance; + } + } + + public abstract void onPause(); + + public abstract void onResume(); + + public abstract void onFinishBind(); + + public abstract void onStop(); + + public abstract void recordPackageUpdate(String packageName, int state, int progress); + + public static final class PackageInstallInfo { + public final String packageName; + + public int state; + public int progress; + + public PackageInstallInfo(String packageName) { + this.packageName = packageName; + } + + public PackageInstallInfo(String packageName, int state, int progress) { + this.packageName = packageName; + this.state = state; + this.progress = progress; + } + } +} |