958315e8ef
The catch was present before moving the code into
the compat class.
Bug: 15276879
Change-Id: I81fbd49dacd813e861a2bc4f0b41dcbeccb9def2
(cherry picked from commit c879052247)
99 lines
3.1 KiB
Java
99 lines
3.1 KiB
Java
/*
|
|
* 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.ComponentName;
|
|
import android.content.Context;
|
|
import android.content.pm.PackageManager.NameNotFoundException;
|
|
import android.content.pm.ActivityInfo;
|
|
import android.content.pm.PackageManager;
|
|
import android.content.pm.PackageInfo;
|
|
import android.content.pm.ResolveInfo;
|
|
import android.content.res.Resources;
|
|
import android.graphics.drawable.Drawable;
|
|
|
|
|
|
public class LauncherActivityInfoCompatV16 extends LauncherActivityInfoCompat {
|
|
private ActivityInfo mActivityInfo;
|
|
private ComponentName mComponentName;
|
|
private PackageManager mPm;
|
|
|
|
LauncherActivityInfoCompatV16(Context context, ResolveInfo info) {
|
|
super();
|
|
this.mActivityInfo = info.activityInfo;
|
|
mComponentName = new ComponentName(mActivityInfo.packageName, mActivityInfo.name);
|
|
mPm = context.getPackageManager();
|
|
}
|
|
|
|
public ComponentName getComponentName() {
|
|
return mComponentName;
|
|
}
|
|
|
|
public UserHandleCompat getUser() {
|
|
return UserHandleCompat.myUserHandle();
|
|
}
|
|
|
|
public CharSequence getLabel() {
|
|
return mActivityInfo.loadLabel(mPm);
|
|
}
|
|
|
|
public Drawable getIcon(int density) {
|
|
Drawable d = null;
|
|
if (mActivityInfo.getIconResource() != 0) {
|
|
Resources resources;
|
|
try {
|
|
resources = mPm.getResourcesForApplication(mActivityInfo.packageName);
|
|
} catch (PackageManager.NameNotFoundException e) {
|
|
resources = null;
|
|
}
|
|
if (resources != null) {
|
|
try {
|
|
d = resources.getDrawableForDensity(mActivityInfo.getIconResource(), density);
|
|
} catch (Resources.NotFoundException e) {
|
|
// Return default icon below.
|
|
}
|
|
}
|
|
}
|
|
if (d == null) {
|
|
Resources resources = Resources.getSystem();
|
|
d = resources.getDrawableForDensity(android.R.mipmap.sym_def_app_icon, density);
|
|
}
|
|
return d;
|
|
}
|
|
|
|
public int getApplicationFlags() {
|
|
return mActivityInfo.applicationInfo.flags;
|
|
}
|
|
|
|
public long getFirstInstallTime() {
|
|
try {
|
|
PackageInfo info = mPm.getPackageInfo(mActivityInfo.packageName, 0);
|
|
return info != null ? info.firstInstallTime : 0;
|
|
} catch (NameNotFoundException e) {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
public String getName() {
|
|
return mActivityInfo.name;
|
|
}
|
|
|
|
public Drawable getBadgedIcon(int density) {
|
|
return getIcon(density);
|
|
}
|
|
}
|