Use adaptive icon in Settings
Fixed the usage of icons in the following pages - apps info page (https://screenshot.googleplex.com/RLyDQ1PcO7X) - accounts page (https://screenshot.googleplex.com/VjY87JxrKqZ) Bug: 130916962 Test: Manual Change-Id: I3720fab1ce56505c85a175a8f4c550f6f465f507
This commit is contained in:
@@ -29,8 +29,6 @@ import android.telephony.AccessNetworkConstants;
|
||||
import android.telephony.NetworkRegistrationInfo;
|
||||
import android.telephony.ServiceState;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.util.UserIcons;
|
||||
import com.android.launcher3.icons.IconFactory;
|
||||
@@ -457,19 +455,21 @@ public class Utils {
|
||||
return state;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the {@link Drawable} that represents the app icon
|
||||
*/
|
||||
public static @NonNull Drawable getBadgedIcon(
|
||||
@NonNull Context context, @NonNull ApplicationInfo appInfo) {
|
||||
final UserHandle user = UserHandle.getUserHandleForUid(appInfo.uid);
|
||||
/** Get the corresponding adaptive icon drawable. */
|
||||
public static Drawable getBadgedIcon(Context context, Drawable icon, UserHandle user) {
|
||||
try (IconFactory iconFactory = IconFactory.obtain(context)) {
|
||||
final Bitmap iconBmp = iconFactory.createBadgedIconBitmap(
|
||||
appInfo.loadUnbadgedIcon(context.getPackageManager()), user, false).icon;
|
||||
final Bitmap iconBmp = iconFactory.createBadgedIconBitmap(icon, user,
|
||||
true /* shrinkNonAdaptiveIcons */).icon;
|
||||
return new BitmapDrawable(context.getResources(), iconBmp);
|
||||
}
|
||||
}
|
||||
|
||||
/** Get the {@link Drawable} that represents the app icon */
|
||||
public static Drawable getBadgedIcon(Context context, ApplicationInfo appInfo) {
|
||||
return getBadgedIcon(context, appInfo.loadUnbadgedIcon(context.getPackageManager()),
|
||||
UserHandle.getUserHandleForUid(appInfo.uid));
|
||||
}
|
||||
|
||||
private static boolean isNotInIwlan(ServiceState serviceState) {
|
||||
final NetworkRegistrationInfo networkRegWlan = serviceState.getNetworkRegistrationInfo(
|
||||
NetworkRegistrationInfo.DOMAIN_PS,
|
||||
|
||||
@@ -32,6 +32,8 @@ import android.os.AsyncTask;
|
||||
import android.os.UserHandle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settingslib.Utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -116,7 +118,7 @@ final public class AuthenticatorHelper extends BroadcastReceiver {
|
||||
if (icon == null) {
|
||||
icon = context.getPackageManager().getDefaultActivityIcon();
|
||||
}
|
||||
return icon;
|
||||
return Utils.getBadgedIcon(mContext, icon, mUserHandle);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user