From 3c879ba3189dae0e382d78370550e2694fd6e991 Mon Sep 17 00:00:00 2001 From: sonichy Date: Sun, 10 Jun 2018 16:30:18 +0800 Subject: [PATCH] auto update test --- README.md | 2 +- app-debug.apk | Bin 272593 -> 303322 bytes main/AndroidManifest.xml | 2 +- main/assets/about.htm | 8 +- main/java/com/hty/browser/DBHelper.java | 8 +- .../com/hty/browser/FavoriteActivity.java | 104 ++++++++++++------ main/java/com/hty/browser/MainActivity.java | 22 ++-- main/res/layout/activity_favorite.xml | 10 +- main/res/layout/activity_main.xml | 75 ++++++------- version | 1 + 10 files changed, 140 insertions(+), 92 deletions(-) create mode 100644 version diff --git a/README.md b/README.md index ac0a4c2..1383d21 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ # Android:海天鹰浏览器 -基于 Android WebView 组件的浏览器,支持收藏夹、图片广告过滤。 +基于 Android WebView 组件的浏览器,支持收藏夹、图片广告过滤、视频独立播放。 ### 主界面 ![alt](preview.png) \ No newline at end of file diff --git a/app-debug.apk b/app-debug.apk index e22308d08f649564f482c9d0638430e6f92f0661..119270fc295101f998e43678ecd8a687d450a724 100644 GIT binary patch delta 31295 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

Ik4_SywK)M@mgKBCO2AC;6Q-3&On|{ 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 MIslVW|CwI@A0nEXqW}N^ diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index 68a665d..c7252d3 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -2,7 +2,7 @@ + android:versionName="3.5"> 海天鹰浏览器 -


海天鹰浏览器 V3.4

+


海天鹰浏览器 V3.6

内置扩展的浏览器。

-

扩展:[查看图片]文字链接转图片,广告图片自定义过滤。

+

扩展:[国产]高亮,广告图片自定义过滤。

作者:黄颖

E-mail:sonichy@163.com

QQ:84429027

更新日志:

+

V3.6 (2018-05-30)

  1. 修复从收藏夹返回输入法不能自动隐藏的问题。
+

V3.5 (2018-04-25)

  1. 收藏夹支持搜索。

V3.4 (2018-03-13)

  1. 增加视频独立播放。
  2. 使用系统下载取代浏览器跳转下载、图片下载,并增加链接下载

V3.3 (2018-01)

  1. 增加分享菜单。
  2. 增加:视频全屏禁用屏幕休眠。
  3. 解决网页跳转APP协议问题。

V3.2 (2017-12-17)

  1. 修复:关闭查找框,高亮不消失的问题。
  2. 增加过滤iframe。
  3. 修复:EditTextPreference没有设置defaultValue,引起第一次运行点击主页菜单崩溃。
diff --git a/main/java/com/hty/browser/DBHelper.java b/main/java/com/hty/browser/DBHelper.java index 2cf4143..bc0a50d 100644 --- a/main/java/com/hty/browser/DBHelper.java +++ b/main/java/com/hty/browser/DBHelper.java @@ -53,14 +53,14 @@ public class DBHelper extends SQLiteOpenHelper { db.close(); } - public Cursor query(String url) { + public Cursor query(String s) { db = getWritableDatabase(); Cursor c = null; - if (url.equalsIgnoreCase("")) { + if (s.equals("")) { c = db.query(TableName, null, null, null, null, null, "_id desc"); } else { - c = db.query(TableName, null, "website=?", new String[] { url }, null, null, "_id desc"); - } + c = db.query(TableName, null, "website LIKE '%" + s + "%' or title LIKE '%" + s + "%'", null, null, null, "_id desc"); + } return c; } diff --git a/main/java/com/hty/browser/FavoriteActivity.java b/main/java/com/hty/browser/FavoriteActivity.java index ec2de7b..1516a43 100644 --- a/main/java/com/hty/browser/FavoriteActivity.java +++ b/main/java/com/hty/browser/FavoriteActivity.java @@ -3,19 +3,26 @@ package com.hty.browser; import android.app.Activity; import android.content.ClipData; import android.content.ClipboardManager; +import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; +import android.text.Editable; +import android.text.TextWatcher; +import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.MenuItem; import android.view.View; import android.view.View.OnCreateContextMenuListener; +import android.view.WindowManager; +import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; +import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.TextView; @@ -24,42 +31,19 @@ import android.widget.Toast; public class FavoriteActivity extends Activity { SimpleCursorAdapter adapter; ListView listView; + EditText editText; + InputMethodManager IMM; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_favorite); - DBHelper helper = new DBHelper(this); - Cursor c = helper.query(""); - String[] from = { "_id", "title", "website" }; - int[] to = { R.id.id, R.id.title, R.id.website }; - adapter = new SimpleCursorAdapter(this, R.layout.favorite_row, c, from, to, 0); - listView = (ListView) this.findViewById(R.id.listView1); - listView.setAdapter(adapter); - listView.setDivider(new ColorDrawable(Color.GREEN)); - listView.setDividerHeight(2); - listView.setOnItemClickListener(new OnItemClickListener() { - @Override - public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { - String url = ((TextView) arg1.findViewById(R.id.website)).getText().toString(); - Intent intent = new Intent(FavoriteActivity.this, MainActivity.class); - intent.putExtra("url", url); - setResult(RESULT_OK, intent); - finish(); - } - }); - - listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { - @Override - public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) { - AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; - String title = ((TextView) info.targetView.findViewById(R.id.title)).getText().toString(); - menu.setHeaderTitle(title); - menu.add(0, 0, 0, "复制链接"); - menu.add(0, 1, 1, "删除"); - } - }); - + getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); + editText = (EditText) findViewById(R.id.editText); + editText.addTextChangedListener(new EditChangedListener()); + listView = (ListView) findViewById(R.id.listView1); + search(editText.getText().toString()); + IMM = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); } @Override @@ -73,11 +57,10 @@ public class FavoriteActivity extends Activity { Toast.makeText(getApplicationContext(), "链接已复制", Toast.LENGTH_SHORT).show(); break; case 1: - int id = Integer.parseInt(((TextView) menuInfo.targetView.findViewById(R.id.id)).getText() - .toString()); + int id = Integer.parseInt(((TextView) menuInfo.targetView.findViewById(R.id.id)).getText().toString()); DBHelper helper = new DBHelper(getApplicationContext()); helper.del(id); - Cursor c = helper.query(""); + Cursor c = helper.query(editText.getText().toString()); String[] from = { "_id", "title", "website" }; int[] to = { R.id.id, R.id.title, R.id.website }; adapter = new SimpleCursorAdapter(this, R.layout.favorite_row, c, from, to, 0); @@ -88,6 +71,59 @@ public class FavoriteActivity extends Activity { } public void favback(View v) { + IMM.hideSoftInputFromWindow(editText.getWindowToken(), 0); finish(); } + + void search(String s) { + DBHelper helper = new DBHelper(this); + Cursor c = helper.query(s); + String[] from = { "_id", "title", "website" }; + int[] to = { R.id.id, R.id.title, R.id.website }; + adapter = new SimpleCursorAdapter(this, R.layout.favorite_row, c, from, to, 0); + listView.setAdapter(adapter); + listView.setDivider(new ColorDrawable(Color.GREEN)); + listView.setDividerHeight(2); + listView.setOnItemClickListener(new OnItemClickListener() { + @Override + public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { + String url = ((TextView) arg1.findViewById(R.id.website)).getText().toString(); + Intent intent = new Intent(FavoriteActivity.this, MainActivity.class); + intent.putExtra("url", url); + setResult(RESULT_OK, intent); + IMM.hideSoftInputFromWindow(editText.getWindowToken(), 0); + finish(); + } + }); + + listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { + @Override + public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) { + AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; + String title = ((TextView) info.targetView.findViewById(R.id.title)).getText().toString(); + menu.setHeaderTitle(title); + menu.add(0, 0, 0, "复制链接"); + menu.add(0, 1, 1, "删除"); + } + }); + } + + class EditChangedListener implements TextWatcher { + + @Override + public void beforeTextChanged(CharSequence s, int start, int count,int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + search(s.toString()); + } + } + } diff --git a/main/java/com/hty/browser/MainActivity.java b/main/java/com/hty/browser/MainActivity.java index ada98a6..793c636 100644 --- a/main/java/com/hty/browser/MainActivity.java +++ b/main/java/com/hty/browser/MainActivity.java @@ -63,7 +63,6 @@ import android.webkit.WebView; import android.webkit.WebView.FindListener; import android.webkit.WebView.HitTestResult; import android.webkit.WebViewClient; -import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.FrameLayout; @@ -96,7 +95,7 @@ public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); - + IMM = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); String path = Environment.getExternalStorageDirectory().getPath() + File.separator + "HTYBrowser"; dir = new File(path); if (!dir.exists()) { @@ -106,7 +105,7 @@ public class MainActivity extends Activity { //ptitle = "百度"; //urln = "http//www.baidu.com"; getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); - IMM = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); + LinearLayout1 = (LinearLayout) findViewById(R.id.LinearLayout1); LinearLayout2 = (LinearLayout) findViewById(R.id.LinearLayout2); // RelativeLayout1 = (RelativeLayout) @@ -194,14 +193,15 @@ public class MainActivity extends Activity { editText1.setText(url); urln = url; btnBack.setEnabled(true); + IMM.hideSoftInputFromWindow(editText1.getWindowToken(), 0); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); String js = ""; - // link2img,宽度适应浏览器 - js = "javascript:var obj=document.getElementsByTagName('a');var aimg=new Array();var dw=document.documentElement.clientWidth-10;var dh=document.documentElement.clientHeight;for(var i=0;idw){var text='';bl=(dw/iw).toFixed(2);this.style.width=dw+'px';this.style.height=dw*ih/iw+'px';text=' '+i+': W:'+dw+'/'+iw+'='+bl;this.style.border='1px solid blue';var span=document.createElement('span');span.textContent=text;span.setAttribute('style','white-space:nowrap;');this.parentNode.appendChild(span);}}})(i);}}"; + // 关键字链接高亮 + js = "javascript:var a=document.getElementsByTagName('a');for(var i=0;i - + + + - + - + - + - + - + - + + android:singleLine="true"/> + android:text="0/0"/> + android:src="@android:drawable/ic_media_rew"/> + android:src="@android:drawable/ic_media_ff"/> + android:src="@android:drawable/ic_menu_close_clear_cancel"/> diff --git a/version b/version new file mode 100644 index 0000000..548d713 --- /dev/null +++ b/version @@ -0,0 +1 @@ +3.7 \ No newline at end of file