Files
Flexera-Launcher/src/com/android/launcher3/PromiseAppInfo.java
T
Mario Bertschler 08ffaae3b6 Show promise app icon progress in All Apps and setup market intent
on clicking promise app icon in All Apps.

Only the progress will be changed with animation on progress update,
no relayout is performed. If the icon is newly bound, the progress
will not be animated.

Bug: 23952570
Change-Id: I98d3f945f08a2abadf53f20e6007c15e56d5d410
2017-03-20 16:02:24 -07:00

53 lines
1.9 KiB
Java

/*
* Copyright (C) 2017 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;
import android.content.Intent;
import android.support.annotation.NonNull;
import com.android.launcher3.compat.PackageInstallerCompat;
import com.android.launcher3.util.PackageManagerHelper;
public class PromiseAppInfo extends AppInfo {
public int level = 0;
public PromiseAppInfo(@NonNull PackageInstallerCompat.PackageInstallInfo installInfo) {
componentName = installInfo.componentName;
intent = new Intent(Intent.ACTION_MAIN)
.addCategory(Intent.CATEGORY_LAUNCHER)
.setComponent(componentName)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
}
@Override
public ShortcutInfo makeShortcut() {
ShortcutInfo shortcut = new ShortcutInfo(this);
shortcut.setInstallProgress(level);
// We need to update the component name when the apk is installed
shortcut.status |= ShortcutInfo.FLAG_AUTOINTALL_ICON;
// Since the user is manually placing it on homescreen, it should not be auto-removed later
shortcut.status |= ShortcutInfo.FLAG_RESTORE_STARTED;
return shortcut;
}
public Intent getMarketIntent() {
return PackageManagerHelper.getMarketIntent(componentName.getPackageName());
}
}