import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Shader.TileMode;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build.VERSION;
import android.util.Log;
import org.chromium.chrome.R.dimen;
import org.chromium.chrome.R.drawable;
import org.chromium.chrome.R.mipmap;
public class BookmarkUtils
{
private static final int DEFAULT_RGB_VALUE = 145;
private static final String INSTALL_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";
public static final String REUSE_URL_MATCHING_TAB_ELSE_NEW_TAB = "REUSE_URL_MATCHING_TAB_ELSE_NEW_TAB";
private static final int SDK_VERSION_FOR_ACCESS_TO_METHODS = 15;
private static final String TAG = "BookmarkUtils";
static
{
if (!BookmarkUtils.class.desiredAssertionStatus()) {}
for (boolean bool = true;; bool = false)
{
$assertionsDisabled = bool;
return;
}
}
public static Intent createAddToHomeIntent(Context paramContext, String paramString1, String paramString2, Bitmap paramBitmap, int paramInt1, int paramInt2, int paramInt3)
{
Intent localIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
localIntent.putExtra("android.intent.extra.shortcut.INTENT", createShortcutIntent(paramContext, paramString1));
localIntent.putExtra("android.intent.extra.shortcut.NAME", paramString2);
localIntent.putExtra("android.intent.extra.shortcut.ICON", createIcon(paramContext, paramBitmap, paramInt1, paramInt2, paramInt3));
return localIntent;
}
private static Bitmap createIcon(Context paramContext, Bitmap paramBitmap, int paramInt1, int paramInt2, int paramInt3)
{
ActivityManager localActivityManager = (ActivityManager)paramContext.getSystemService("activity");
int i = localActivityManager.getLauncherLargeIconSize();
int j = localActivityManager.getLauncherLargeIconDensity();
try
{
localBitmap2 = Bitmap.createBitmap(i, i, Bitmap.Config.ARGB_8888);
}
catch (OutOfMemoryError localOutOfMemoryError1)
{
Canvas localCanvas;
Rect localRect;
label97:
Bitmap localBitmap4;
localBitmap1 = null;
Log.w("BookmarkUtils", "OutOfMemoryError while trying to draw bitmap on canvas.");
return localBitmap1;
}
try
{
localCanvas = new Canvas(localBitmap2);
localRect = new Rect(0, 0, localBitmap2.getWidth(), localBitmap2.getHeight());
if (paramBitmap != null) {
break label178;
}
localBitmap3 = getBitmapFromResourceId(paramContext, R.drawable.globe_favicon, j);
k = 145;
m = k;
n = k;
}
catch (OutOfMemoryError localOutOfMemoryError2)
{
localBitmap1 = localBitmap2;
break label158;
k = paramInt3;
m = paramInt2;
n = paramInt1;
localBitmap3 = paramBitmap;
break label97;
}
localBitmap4 = getIconBackground(paramContext, j);
if (localBitmap4 != null) {
localCanvas.drawBitmap(localBitmap4, null, localRect, new Paint(1));
}
drawFaviconToCanvas(paramContext, localBitmap3, localCanvas, localRect, n, m, k);
localCanvas.setBitmap(null);
return localBitmap2;
}
private static Intent createShortcutIntent(Context paramContext, String paramString)
{
Intent localIntent = new Intent("android.intent.action.VIEW", Uri.parse(paramString));
localIntent.putExtra("REUSE_URL_MATCHING_TAB_ELSE_NEW_TAB", true);
return localIntent;
}
private static void drawFaviconToCanvas(Context paramContext, Bitmap paramBitmap, Canvas paramCanvas, Rect paramRect, int paramInt1, int paramInt2, int paramInt3)
{
int i = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_colorstrip_width);
int j = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_colorstrip_height);
int k = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_colorstrip_padding);
int m = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_colorstrip_corner_radii);
int n = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_fold_size);
int i1 = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_fold_corner_radii);
int i2 = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_fold_border);
int i3 = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_fold_shadow);
int i4 = paramContext.getResources().getDimensionPixelSize(R.dimen.favicon_size);
float f1 = paramRect.exactCenterX() - i / 2.0F;
float f2 = f1 + i;
float f3 = paramRect.height() - k;
float f4 = f3 - j;
int i5 = Color.argb(255, paramInt1, paramInt2, paramInt3);
Paint localPaint1 = new Paint(1);
localPaint1.setColor(i5);
localPaint1.setStyle(Paint.Style.FILL);
Path localPath1 = new Path();
localPath1.moveTo(f1, f4);
localPath1.lineTo(f2, f4);
localPath1.lineTo(f2, f3 - m);
RectF localRectF1 = new RectF(f2 - m, f3 - m, f2, f3);
localPath1.arcTo(localRectF1, 0.0F, 90.0F);
localPath1.lineTo(f1 + m, f3);
RectF localRectF2 = new RectF(f1, f3 - m, f1 + m, f3);
localPath1.arcTo(localRectF2, 90.0F, 90.0F);
localPath1.lineTo(f1, f4);
paramCanvas.drawPath(localPath1, localPaint1);
float f5 = f2 - n;
float f6 = k;
float f7 = k + n;
int i6 = Color.argb(25, 0, 0, 0);
Paint localPaint2 = new Paint(1);
localPaint2.setColor(-1);
localPaint2.setShadowLayer(1.0F, 0.0F, i3, i6);
int i7 = Color.argb(153, paramInt1, paramInt2, paramInt3);
Paint localPaint3 = new Paint(1);
localPaint3.setShader(new LinearGradient(f2 - n / 2.0F, f6 + n / 2.0F, f5, f7, i7, i5, Shader.TileMode.CLAMP));
Path localPath2 = new Path();
localPath2.moveTo(f5, f6);
localPath2.lineTo(f2, f7);
localPath2.lineTo(f5 + i1, f7);
localPath2.arcTo(new RectF(f5, f7 - i1, f5 + i1, f7), 90.0F, 90.0F);
localPath2.lineTo(f5, f6);
paramCanvas.drawPath(localPath2, localPaint2);
paramCanvas.drawPath(localPath2, localPaint3);
int i8 = Color.argb(204, paramInt1, paramInt2, paramInt3);
Paint localPaint4 = new Paint(1);
localPaint4.setColor(i8);
localPaint4.setStyle(Paint.Style.STROKE);
localPaint4.setStrokeWidth(i2);
paramCanvas.drawPath(localPath2, localPaint4);
try
{
Bitmap localBitmap = Bitmap.createScaledBitmap(paramBitmap, i4, i4, true);
paramCanvas.drawBitmap(localBitmap, paramRect.exactCenterX() - localBitmap.getWidth() / 2.0F, paramRect.exactCenterY() - localBitmap.getHeight() / 2.0F, null);
return;
}
catch (OutOfMemoryError localOutOfMemoryError)
{
Log.w("BookmarkUtils", "OutOfMemoryError while trying to draw bitmap on canvas.");
}
}
private static Bitmap getBitmapFromResourceId(Context paramContext, int paramInt1, int paramInt2)
{
if (Build.VERSION.SDK_INT >= 15) {}
for (Drawable localDrawable = paramContext.getResources().getDrawableForDensity(paramInt1, paramInt2); (localDrawable instanceof BitmapDrawable); localDrawable = paramContext.getResources().getDrawable(paramInt1)) {
return ((BitmapDrawable)localDrawable).getBitmap();
}
if (!$assertionsDisabled) {
throw new AssertionError("The drawable was not a bitmap drawable as expected");
}
return null;
}
private static Bitmap getIconBackground(Context paramContext, int paramInt)
{
return getBitmapFromResourceId(paramContext, R.mipmap.homescreen_bg, paramInt);
}
}
j2c++'dan bir çıkış dosyası