|
|
@ -10,6 +10,7 @@ import android.animation.ValueAnimator.AnimatorUpdateListener; |
|
|
|
import android.annotation.SuppressLint; |
|
|
|
import android.annotation.SuppressLint; |
|
|
|
import android.app.Activity; |
|
|
|
import android.app.Activity; |
|
|
|
import android.app.AlertDialog; |
|
|
|
import android.app.AlertDialog; |
|
|
|
|
|
|
|
import android.app.AlertDialog.Builder; |
|
|
|
import android.content.*; |
|
|
|
import android.content.*; |
|
|
|
import android.content.res.Configuration; |
|
|
|
import android.content.res.Configuration; |
|
|
|
import android.content.res.Resources.Theme; |
|
|
|
import android.content.res.Resources.Theme; |
|
|
@ -17,11 +18,14 @@ import android.content.res.TypedArray; |
|
|
|
import android.database.Cursor; |
|
|
|
import android.database.Cursor; |
|
|
|
import android.database.sqlite.SQLiteException; |
|
|
|
import android.database.sqlite.SQLiteException; |
|
|
|
import android.graphics.Bitmap; |
|
|
|
import android.graphics.Bitmap; |
|
|
|
|
|
|
|
import android.graphics.Bitmap.Config; |
|
|
|
import android.graphics.BitmapFactory; |
|
|
|
import android.graphics.BitmapFactory; |
|
|
|
import android.graphics.Canvas; |
|
|
|
import android.graphics.Canvas; |
|
|
|
import android.graphics.ColorMatrix; |
|
|
|
import android.graphics.ColorMatrix; |
|
|
|
import android.graphics.ColorMatrixColorFilter; |
|
|
|
import android.graphics.ColorMatrixColorFilter; |
|
|
|
import android.graphics.Paint; |
|
|
|
import android.graphics.Paint; |
|
|
|
|
|
|
|
import android.graphics.Paint.Style; |
|
|
|
|
|
|
|
import android.graphics.drawable.BitmapDrawable; |
|
|
|
import android.graphics.drawable.ColorDrawable; |
|
|
|
import android.graphics.drawable.ColorDrawable; |
|
|
|
import android.graphics.drawable.Drawable; |
|
|
|
import android.graphics.drawable.Drawable; |
|
|
|
import android.media.MediaPlayer; |
|
|
|
import android.media.MediaPlayer; |
|
|
@ -32,6 +36,7 @@ import android.os.Bundle; |
|
|
|
import android.os.Handler; |
|
|
|
import android.os.Handler; |
|
|
|
import android.os.Message; |
|
|
|
import android.os.Message; |
|
|
|
import android.provider.Browser; |
|
|
|
import android.provider.Browser; |
|
|
|
|
|
|
|
import android.support.v7.app.ActionBarDrawerToggle; |
|
|
|
import android.support.v4.view.GravityCompat; |
|
|
|
import android.support.v4.view.GravityCompat; |
|
|
|
import android.support.v4.widget.DrawerLayout; |
|
|
|
import android.support.v4.widget.DrawerLayout; |
|
|
|
import android.text.TextUtils; |
|
|
|
import android.text.TextUtils; |
|
|
@ -79,6 +84,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl |
|
|
|
private LinearLayout mDrawerRight; |
|
|
|
private LinearLayout mDrawerRight; |
|
|
|
private ListView mDrawerListRight; |
|
|
|
private ListView mDrawerListRight; |
|
|
|
private RelativeLayout mNewTab; |
|
|
|
private RelativeLayout mNewTab; |
|
|
|
|
|
|
|
private ActionBarDrawerToggle mDrawerToggle; |
|
|
|
private List<LightningView> mWebViews = new ArrayList<LightningView>(); |
|
|
|
private List<LightningView> mWebViews = new ArrayList<LightningView>(); |
|
|
|
private LightningView mCurrentView; |
|
|
|
private LightningView mCurrentView; |
|
|
|
private int mIdGenerator; |
|
|
|
private int mIdGenerator; |
|
|
@ -119,6 +125,8 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl |
|
|
|
private Drawable mRefreshIcon; |
|
|
|
private Drawable mRefreshIcon; |
|
|
|
private Drawable mCopyIcon; |
|
|
|
private Drawable mCopyIcon; |
|
|
|
private Drawable mIcon; |
|
|
|
private Drawable mIcon; |
|
|
|
|
|
|
|
private int mActionBarSizeDp; |
|
|
|
|
|
|
|
private int mNumberIconColor; |
|
|
|
private String mHomepage; |
|
|
|
private String mHomepage; |
|
|
|
private boolean mIsNewIntent = false; |
|
|
|
private boolean mIsNewIntent = false; |
|
|
|
private VideoView mVideoView; |
|
|
|
private VideoView mVideoView; |
|
|
@ -143,6 +151,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl |
|
|
|
TypedValue typedValue = new TypedValue(); |
|
|
|
TypedValue typedValue = new TypedValue(); |
|
|
|
Theme theme = getTheme(); |
|
|
|
Theme theme = getTheme(); |
|
|
|
theme.resolveAttribute(R.attr.numberColor, typedValue, true); |
|
|
|
theme.resolveAttribute(R.attr.numberColor, typedValue, true); |
|
|
|
|
|
|
|
mNumberIconColor = typedValue.data; |
|
|
|
mPreferences = getSharedPreferences(PreferenceConstants.PREFERENCES, 0); |
|
|
|
mPreferences = getSharedPreferences(PreferenceConstants.PREFERENCES, 0); |
|
|
|
mEditPrefs = mPreferences.edit(); |
|
|
|
mEditPrefs = mPreferences.edit(); |
|
|
|
mContext = this; |
|
|
|
mContext = this; |
|
|
@ -185,6 +194,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl |
|
|
|
if (pixelsToDp(mActionBarSize) < 48) { |
|
|
|
if (pixelsToDp(mActionBarSize) < 48) { |
|
|
|
mActionBarSize = Utils.convertDpiToPixels(mContext, 48); |
|
|
|
mActionBarSize = Utils.convertDpiToPixels(mContext, 48); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
mActionBarSizeDp = pixelsToDp(mActionBarSize); |
|
|
|
styledAttributes.recycle(); |
|
|
|
styledAttributes.recycle(); |
|
|
|
|
|
|
|
|
|
|
|
mHomepage = mPreferences.getString(PreferenceConstants.HOMEPAGE, Constants.HOMEPAGE); |
|
|
|
mHomepage = mPreferences.getString(PreferenceConstants.HOMEPAGE, Constants.HOMEPAGE); |
|
|
@ -1243,7 +1253,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl |
|
|
|
mIdGenerator++; |
|
|
|
mIdGenerator++; |
|
|
|
mWebViews.add(startingTab); |
|
|
|
mWebViews.add(startingTab); |
|
|
|
|
|
|
|
|
|
|
|
//Drawable icon = writeOnDrawable(mWebViews.size());
|
|
|
|
Drawable icon = writeOnDrawable(mWebViews.size()); |
|
|
|
// mActionBar.setIcon(icon);
|
|
|
|
// mActionBar.setIcon(icon);
|
|
|
|
// TODO
|
|
|
|
// TODO
|
|
|
|
mTitleAdapter.notifyDataSetChanged(); |
|
|
|
mTitleAdapter.notifyDataSetChanged(); |
|
|
@ -1326,7 +1336,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
mTitleAdapter.notifyDataSetChanged(); |
|
|
|
mTitleAdapter.notifyDataSetChanged(); |
|
|
|
//Drawable icon = writeOnDrawable(mWebViews.size());
|
|
|
|
Drawable icon = writeOnDrawable(mWebViews.size()); |
|
|
|
// TODO
|
|
|
|
// TODO
|
|
|
|
// mActionBar.setIcon(icon);
|
|
|
|
// mActionBar.setIcon(icon);
|
|
|
|
|
|
|
|
|
|
|
@ -1589,6 +1599,46 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl |
|
|
|
return (int) ((num - 0.5f) / scale); |
|
|
|
return (int) ((num - 0.5f) / scale); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* writes the number of open tabs on the icon. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
public BitmapDrawable writeOnDrawable(int number) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bitmap bm = Bitmap.createBitmap(mActionBarSize, mActionBarSize, Config.ARGB_8888); |
|
|
|
|
|
|
|
String text = number + ""; |
|
|
|
|
|
|
|
Paint paint = new Paint(); |
|
|
|
|
|
|
|
paint.setTextAlign(Paint.Align.CENTER); |
|
|
|
|
|
|
|
paint.setAntiAlias(true); |
|
|
|
|
|
|
|
paint.setStyle(Style.FILL); |
|
|
|
|
|
|
|
paint.setColor(mNumberIconColor); |
|
|
|
|
|
|
|
if (number > 99) { |
|
|
|
|
|
|
|
number = 99; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// pixels, 36 dp
|
|
|
|
|
|
|
|
if (mActionBarSizeDp < 50) { |
|
|
|
|
|
|
|
if (number > 9) { |
|
|
|
|
|
|
|
paint.setTextSize(mActionBarSize * 3 / 4); // originally
|
|
|
|
|
|
|
|
// 40
|
|
|
|
|
|
|
|
// pixels,
|
|
|
|
|
|
|
|
// 24 dp
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
paint.setTextSize(mActionBarSize * 9 / 10); // originally 50
|
|
|
|
|
|
|
|
// pixels, 30 dp
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
paint.setTextSize(mActionBarSize * 3 / 4); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
Canvas canvas = new Canvas(bm); |
|
|
|
|
|
|
|
// originally only vertical padding of 5 pixels
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int xPos = (canvas.getWidth() / 2); |
|
|
|
|
|
|
|
int yPos = (int) ((canvas.getHeight() / 2) - ((paint.descent() + paint.ascent()) / 2)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
canvas.drawText(text, xPos, yPos, paint); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new BitmapDrawable(getResources(), bm); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public class LightningViewAdapter extends ArrayAdapter<LightningView> { |
|
|
|
public class LightningViewAdapter extends ArrayAdapter<LightningView> { |
|
|
|
|
|
|
|
|
|
|
|
Context context; |
|
|
|
Context context; |
|
|
@ -1757,7 +1807,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl |
|
|
|
|
|
|
|
|
|
|
|
private void getImage(ImageView image, HistoryItem web) { |
|
|
|
private void getImage(ImageView image, HistoryItem web) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
new DownloadImageTask(image, web).execute(Utils.getProtocol(web.getUrl()) + getDomainName(web.getUrl()) |
|
|
|
new DownloadImageTask(image, web).execute(Constants.HTTP + getDomainName(web.getUrl()) |
|
|
|
+ "/favicon.ico"); |
|
|
|
+ "/favicon.ico"); |
|
|
|
} catch (URISyntaxException e) { |
|
|
|
} catch (URISyntaxException e) { |
|
|
|
new DownloadImageTask(image, web) |
|
|
|
new DownloadImageTask(image, web) |
|
|
|