1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-03 17:59:33 +02:00

Merge branch 'master' into 2.6-master

This commit is contained in:
Nikolay Pultsin 2015-10-01 19:38:23 +01:00
commit 4635ff264a
3 changed files with 26 additions and 8 deletions

View file

@ -55,6 +55,11 @@ abstract class InternalUtil {
} }
static void showToast(SuperActivityToast toast, final FBReaderMainActivity fbreader) { static void showToast(SuperActivityToast toast, final FBReaderMainActivity fbreader) {
if (toast == null) {
fbreader.hideDictionarySelection();
return;
}
toast.setOnDismissWrapper(new OnDismissWrapper("dict", new SuperToast.OnDismissListener() { toast.setOnDismissWrapper(new OnDismissWrapper("dict", new SuperToast.OnDismissListener() {
@Override @Override
public void onDismiss(View view) { public void onDismiss(View view) {

View file

@ -22,11 +22,7 @@ package org.geometerplus.android.util;
import java.util.Map; import java.util.Map;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.content.*;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.ActivityNotFoundException;
import android.content.pm.*; import android.content.pm.*;
import android.net.Uri; import android.net.Uri;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;

View file

@ -45,7 +45,23 @@ public final class SlideAnimationProvider extends SimpleAnimationProvider {
ViewUtil.setColorLevel(myPaint, myColorLevel); ViewUtil.setColorLevel(myPaint, myColorLevel);
} }
private void drawShadow(Canvas canvas, int top, int bottom, int dX) { private void drawShadowHorizontal(Canvas canvas, int left, int right, int dY) {
final GradientDrawable.Orientation orientation = dY > 0
? GradientDrawable.Orientation.BOTTOM_TOP
: GradientDrawable.Orientation.TOP_BOTTOM;
final int[] colors = new int[] { 0x46000000, 0x00000000 };
final GradientDrawable gradient = new GradientDrawable(orientation, colors);
gradient.setGradientType(GradientDrawable.LINEAR_GRADIENT);
gradient.setDither(true);
if (dY > 0) {
gradient.setBounds(left, dY - 16, right, dY);
} else {
gradient.setBounds(left, myHeight + dY, right, myHeight + dY + 16);
}
gradient.draw(canvas);
}
private void drawShadowVertical(Canvas canvas, int top, int bottom, int dX) {
final GradientDrawable.Orientation orientation = dX > 0 final GradientDrawable.Orientation orientation = dX > 0
? GradientDrawable.Orientation.RIGHT_LEFT ? GradientDrawable.Orientation.RIGHT_LEFT
: GradientDrawable.Orientation.LEFT_RIGHT; : GradientDrawable.Orientation.LEFT_RIGHT;
@ -68,12 +84,13 @@ public final class SlideAnimationProvider extends SimpleAnimationProvider {
setDarkFilter(dX, myWidth); setDarkFilter(dX, myWidth);
drawBitmapTo(canvas, 0, 0, myDarkPaint); drawBitmapTo(canvas, 0, 0, myDarkPaint);
drawBitmapFrom(canvas, dX, 0, myPaint); drawBitmapFrom(canvas, dX, 0, myPaint);
drawShadow(canvas, 0, myHeight, dX); drawShadowVertical(canvas, 0, myHeight, dX);
} else { } else {
final int dY = myEndY - myStartY; final int dY = myEndY - myStartY;
setDarkFilter(dY, myHeight); setDarkFilter(dY, myHeight);
drawBitmapTo(canvas, 0, 0, myDarkPaint); drawBitmapTo(canvas, 0, 0, myDarkPaint);
drawBitmapFrom(canvas, 0, dY, myPaint); drawBitmapFrom(canvas, 0, dY, myPaint);
drawShadowHorizontal(canvas, 0, myWidth, dY);
} }
} }
@ -99,7 +116,7 @@ public final class SlideAnimationProvider extends SimpleAnimationProvider {
drawBitmapInternal(canvas, footerBitmap, myWidth + dX, myWidth, h, voffset, myDarkPaint); drawBitmapInternal(canvas, footerBitmap, myWidth + dX, myWidth, h, voffset, myDarkPaint);
drawBitmapInternal(canvas, footerBitmap, 0, myWidth + dX, h, voffset, myPaint); drawBitmapInternal(canvas, footerBitmap, 0, myWidth + dX, h, voffset, myPaint);
} }
drawShadow(canvas, voffset, voffset + h, dX); drawShadowVertical(canvas, voffset, voffset + h, dX);
} else { } else {
canvas.drawBitmap(footerBitmap, 0, voffset, myPaint); canvas.drawBitmap(footerBitmap, 0, voffset, myPaint);
} }