Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 240e0bed authored by Jacob Mueller's avatar Jacob Mueller Committed by Danny Baumann
Browse files

frameworks/base: Update quick launch shortcut icons/resources

Update the existing icons and add "xxhdpi" versions created
from a vector template. This commit cleans also the resource
files a bit up.

Screenshot: http://goo.gl/6CrMYr

Change-Id: I45abee5cf13cd239eb5b4402019afac28d6d5952
parent ca1f5953
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
/*
 * Copyright (C) 2013-2014 The CyanogenMod Project
 * Copyright (C) 2013 AOKP by Mike Wilson - Zaphod-Beeblebrox && Steve Spear - Stevespear426
 * Copyright (C) 2013 The CyanogenMod Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -18,20 +18,20 @@
package com.android.internal.util.cm;

public class NavigationRingConstants {
    public static final String ACTION_HOME =                  "home";
    public static final String ACTION_APP =                   "app";
    public static final String ACTION_ASSIST =                "assist";
    public static final String ACTION_BACK =                  "back";
    public static final String ACTION_SCREENSHOT =            "screenshot";
    public static final String ACTION_HOME =                  "home";
    public static final String ACTION_IME_SWITCHER =          "imeSwitcher";
    public static final String ACTION_KILL_TASK =             "killTask";
    public static final String ACTION_MENU =                  "menu";
    public static final String ACTION_POWER =                 "power";
    public static final String ACTION_NONE =                  "none";
    public static final String ACTION_NOTIFICATIONS =         "notifications";
    public static final String ACTION_RECENTS =               "recents";
    public static final String ACTION_IME =                   "ime";
    public static final String ACTION_KILL =                  "kill";
    public static final String ACTION_ASSIST =                "assist";
    public static final String ACTION_SILENT =                "ringSilent";
    public static final String ACTION_VIBRATE =               "ringVibrate";
    public static final String ACTION_RING_SILENT_VIBRATE =   "ringVibrateSilent";
    public static final String ACTION_SCREENSHOT =            "screenshot";
    public static final String ACTION_SILENT =                "ringSilent";
    public static final String ACTION_STANDBY =               "standby";
    public static final String ACTION_TORCH =                 "torch";
    public static final String ACTION_NONE =                  "none";
    public static final String ACTION_APP =                   "app";
    public static final String ACTION_VIBRATE =               "ringVibrate";
}
+50 −16
Original line number Diff line number Diff line
/*
 * Copyright (C) 2013 The CyanogenMod Project
 * Copyright (C) 2013-2014 The CyanogenMod Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -25,6 +25,11 @@ import android.content.IntentFilter;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.graphics.drawable.StateListDrawable;
@@ -34,6 +39,7 @@ import android.provider.Settings;
import android.text.TextUtils;

import static com.android.internal.util.cm.NavigationRingConstants.*;

import com.android.internal.util.cm.TorchConstants;
import com.android.internal.widget.multiwaveview.GlowPadView;
import com.android.internal.widget.multiwaveview.TargetDrawable;
@@ -43,12 +49,14 @@ import java.net.URISyntaxException;
public class NavigationRingHelpers {
    public static final int MAX_ACTIONS = 3;

    private static final String ASSIST_ICON_METADATA_NAME = "com.android.systemui.action_assist_icon";
    private static final String ASSIST_ICON_METADATA_NAME =
            "com.android.systemui.action_assist_icon";

    private static final IntentFilter TORCH_STATE_FILTER =
            new IntentFilter(TorchConstants.ACTION_STATE_CHANGED);

    private NavigationRingHelpers() {
        // Do nothing here
    }

    public static String[] getTargetActions(Context context) {
@@ -62,6 +70,7 @@ public class NavigationRingHelpers {
                isDefault = false;
            }
        }

        if (isDefault) {
            resetActionsToDefaults(context);
            result[1] = ACTION_ASSIST;
@@ -77,6 +86,7 @@ public class NavigationRingHelpers {
        if (available) {
            return;
        }

        for (int i = 0; i < result.length; i++) {
            if (TextUtils.equals(result[i], action)) {
                result[i] = null;
@@ -101,8 +111,9 @@ public class NavigationRingHelpers {
        try {
            return pm.getPackageInfo(TorchConstants.APP_PACKAGE_NAME, 0) != null;
        } catch (PackageManager.NameNotFoundException e) {
            // ignored, just catched so we can return false below
            // Ignored, just catched so we can return false below
        }

        return false;
    }

@@ -114,7 +125,7 @@ public class NavigationRingHelpers {
            resourceId = com.android.internal.R.drawable.ic_navigation_ring_empty;
        } else if (action.equals(ACTION_SCREENSHOT)) {
            resourceId = com.android.internal.R.drawable.ic_navigation_ring_screenshot;
        } else if (action.equals(ACTION_IME)) {
        } else if (action.equals(ACTION_IME_SWITCHER)) {
            resourceId = com.android.internal.R.drawable.ic_navigation_ring_ime_switcher;
        } else if (action.equals(ACTION_VIBRATE)) {
            resourceId = getVibrateDrawableResId(context);
@@ -122,10 +133,10 @@ public class NavigationRingHelpers {
            resourceId = getSilentDrawableResId(context);
        } else if (action.equals(ACTION_RING_SILENT_VIBRATE)) {
            resourceId = getRingerDrawableResId(context);
        } else if (action.equals(ACTION_KILL)) {
            resourceId = com.android.internal.R.drawable.ic_navigation_ring_killtask;
        } else if (action.equals(ACTION_POWER)) {
            resourceId = com.android.internal.R.drawable.ic_navigation_ring_power;
        } else if (action.equals(ACTION_KILL_TASK)) {
            resourceId = com.android.internal.R.drawable.ic_navigation_ring_kill_task;
        } else if (action.equals(ACTION_STANDBY)) {
            resourceId = com.android.internal.R.drawable.ic_navigation_ring_standby;
        } else if (action.equals(ACTION_TORCH)) {
            resourceId = getTorchDrawableResId(context);
        } else if (action.equals(ACTION_ASSIST)) {
@@ -133,7 +144,7 @@ public class NavigationRingHelpers {
        }

        if (resourceId < 0) {
            // no pre-defined action, try to resolve URI
            // No pre-defined action, try to resolve URI
            try {
                Intent intent = Intent.parseUri(action, 0);
                PackageManager pm = context.getPackageManager();
@@ -143,7 +154,7 @@ public class NavigationRingHelpers {
                    return createDrawableForActivity(res, info.loadIcon(pm));
                }
            } catch (URISyntaxException e) {
                // treat as empty
                // Treat as empty
            }

            resourceId = com.android.internal.R.drawable.ic_navigation_ring_empty;
@@ -153,6 +164,7 @@ public class NavigationRingHelpers {
        if (resourceId == com.android.internal.R.drawable.ic_navigation_ring_empty) {
            drawable.setEnabled(false);
        }

        return drawable;
    }

@@ -162,12 +174,33 @@ public class NavigationRingHelpers {
        Drawable iconBgActivated = res.getDrawable(
                com.android.internal.R.drawable.ic_navigation_ring_blank_activated);

        int margin = (int)(iconBg.getIntrinsicHeight() / 3);
        LayerDrawable icon = new LayerDrawable (new Drawable[] { iconBg, activityIcon });
        LayerDrawable iconActivated = new LayerDrawable (new Drawable[] { iconBgActivated, activityIcon });

        icon.setLayerInset(1, margin, margin, margin, margin);
        iconActivated.setLayerInset(1, margin, margin, margin, margin);
        // Get the size for the base icon and the activity icon
        int iconSize = (int) res.getDimension(
                com.android.internal.R.dimen.navigation_ring_icon_size);
        int activityIconSize = (int) res.getDimension(
                com.android.internal.R.dimen.navigation_ring_activity_icon_size);
        int margin = (iconSize - activityIconSize) / 2;

        // Create the grayscale color filter
        ColorMatrix colorMatrix = new ColorMatrix();
        colorMatrix.setSaturation(0);
        ColorMatrixColorFilter grayscaleFilter = new ColorMatrixColorFilter(colorMatrix);

        // Create the final bitmap for the icon
        Bitmap scaledActivityIconBitmap =
                Bitmap.createBitmap(iconSize, iconSize, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(scaledActivityIconBitmap);
        activityIcon.setBounds(margin, margin, iconSize - margin, iconSize - margin);
        activityIcon.setColorFilter(grayscaleFilter);
        activityIcon.draw(canvas);

        // Create the final drawable from the new generated bitmap
        BitmapDrawable scaledActivityIcon = new BitmapDrawable(res, scaledActivityIconBitmap);

        LayerDrawable icon = new LayerDrawable(
                new Drawable[] { iconBg, scaledActivityIcon });
        LayerDrawable iconActivated = new LayerDrawable(
                new Drawable[] { iconBgActivated, scaledActivityIcon });

        StateListDrawable selector = new StateListDrawable();
        selector.addState(TargetDrawable.STATE_INACTIVE, icon);
@@ -216,6 +249,7 @@ public class NavigationRingHelpers {
        if (active) {
            return com.android.internal.R.drawable.ic_navigation_ring_torch_on;
        }

        return com.android.internal.R.drawable.ic_navigation_ring_torch_off;
    }

−7.3 KiB (5.44 KiB)
Loading image diff...
−7.18 KiB (4.54 KiB)
Loading image diff...
−9.25 KiB (5.93 KiB)
Loading image diff...
Loading