diff --git a/app.apk b/app.apk index 2cde455..9de2aa0 100644 Binary files a/app.apk and b/app.apk differ diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index 7414c78..607bcc4 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -2,7 +2,7 @@ + android:versionName="4.31"> diff --git a/main/assets/about.htm b/main/assets/about.htm index 8be4e15..e379006 100644 --- a/main/assets/about.htm +++ b/main/assets/about.htm @@ -23,6 +23,7 @@ p { text-indent:2em; }

获取网页图标

字符串转Bitmap

更新日志:

+

V4.31 (2023-04-17)

  1. 取消自动升级,以免因升级错误引起崩溃。

V4.30 (2023-03-23)

  1. 收藏夹测试 ExpandableListView 控件

V4.29 (2023-03-01)

  1. 收藏夹增加分类。
  2. 收藏夹分类的修改和删除。
  3. 修改导出HTML和CSV方法。
  4. 新建收藏和修改收藏编辑框设置最大行数,避免窗口撑大不完整。

V4.28 (2022-11-07)

  1. 资源探查脚本支持返回多个对象。
    分类标题增加数量。
    使用 <details> 代替 <div>,分类可折叠。
diff --git a/main/java/com/hty/browser/FavoriteActivity.java b/main/java/com/hty/browser/FavoriteActivity.java index a70310d..526ef2f 100644 --- a/main/java/com/hty/browser/FavoriteActivity.java +++ b/main/java/com/hty/browser/FavoriteActivity.java @@ -62,7 +62,12 @@ public class FavoriteActivity extends Activity { getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); IMM = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); imageButton_clear = (ImageButton) findViewById(R.id.imageButton_clear); - imageButton_clear.setOnClickListener(new OnClickListener()); + imageButton_clear.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View v) { + editText.setText(""); + } + }); imageButton_clear.setVisibility(View.GONE); editText = (EditText) findViewById(R.id.editText); editText.addTextChangedListener(new EditChangedListener()); @@ -389,17 +394,6 @@ public class FavoriteActivity extends Activity { return true; } - class OnClickListener implements View.OnClickListener { - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.imageButton_clear: - editText.setText(""); - break; - } - } - } - class RadioButtonOnClickListener implements View.OnClickListener { @Override public void onClick(View v) { diff --git a/main/java/com/hty/browser/FavoriteActivity1.java b/main/java/com/hty/browser/FavoriteActivity1.java index 62a21cf..beaa2ea 100644 --- a/main/java/com/hty/browser/FavoriteActivity1.java +++ b/main/java/com/hty/browser/FavoriteActivity1.java @@ -12,6 +12,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; import android.os.Bundle; +import android.text.Editable; +import android.text.TextWatcher; import android.util.Log; import android.view.ContextMenu; import android.view.Menu; @@ -20,6 +22,7 @@ import android.view.View; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ExpandableListView; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.SimpleCursorTreeAdapter; @@ -36,6 +39,8 @@ import java.lang.reflect.Field; import java.util.ArrayList; public class FavoriteActivity1 extends Activity { + EditText editText; + ImageButton imageButton_clear; ExpandableListView expandableListView; int position = 0; @@ -43,6 +48,16 @@ public class FavoriteActivity1 extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_favorite1); + editText = (EditText) findViewById(R.id.editText1); + editText.addTextChangedListener(new EditChangedListener()); + imageButton_clear = (ImageButton) findViewById(R.id.imageButton_clear1); + imageButton_clear.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View v) { + editText.setText(""); + } + }); + imageButton_clear.setVisibility(View.GONE); expandableListView = (ExpandableListView) findViewById(R.id.expandablelistView); expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @@ -227,7 +242,6 @@ public class FavoriteActivity1 extends Activity { @Override public boolean onContextItemSelected(MenuItem item) { ExpandableListView.ExpandableListContextMenuInfo menuInfo = (ExpandableListView.ExpandableListContextMenuInfo) item.getMenuInfo(); - position = expandableListView.getFirstVisiblePosition(); switch (item.getGroupId()) { case 0: final String group_name = ((TextView) menuInfo.targetView.findViewById(R.id.group_name)).getText().toString(); @@ -345,6 +359,7 @@ public class FavoriteActivity1 extends Activity { int i = db.update(DBHelper.TableName, values, "_id = " + sid, null); if (i != -1) { onCreate(null); + //expandableListView.expandGroup(position); } else Toast.makeText(getApplicationContext(), "修改失败", Toast.LENGTH_SHORT).show(); try { @@ -452,4 +467,24 @@ public class FavoriteActivity1 extends Activity { } } + 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) { + if (s.toString().equals("")) { + imageButton_clear.setVisibility(View.GONE); + } else { + imageButton_clear.setVisibility(View.VISIBLE); + } + //search(0, s.toString()); + } + } + } \ No newline at end of file diff --git a/main/java/com/hty/browser/MainActivity.java b/main/java/com/hty/browser/MainActivity.java index 27a21fb..c808719 100644 --- a/main/java/com/hty/browser/MainActivity.java +++ b/main/java/com/hty/browser/MainActivity.java @@ -111,8 +111,8 @@ public class MainActivity extends Activity { InputMethodManager IMM; ProgressBar pgb1; String urlo = "", HTRE = "", ptitle = "", urln = ""; - String urlVersion = "https://www.gitlink.org.cn/api/sonichy/HTYBrowser/raw?filepath=version&ref=master"; - String urlUpdate = "https://www.gitlink.org.cn/api/sonichy/HTYBrowser/raw?filepath=app.apk&ref=master"; + String url_version = "https://www.gitlink.org.cn/api/sonichy/HTYBrowser/raw?filepath=version&ref=master"; + String url_update = "https://www.gitlink.org.cn/api/sonichy/HTYBrowser/raw?filepath=app.apk&ref=master"; CustomViewCallback customViewCallback; boolean isFullScreen, isManualCheckUpdate = false; static File dir; @@ -241,7 +241,6 @@ public class MainActivity extends Activity { checkUpdate(); } }; - new Thread(CU).start(); receiver = new DownloadCompleteReceiver(); IntentFilter intentFilter = new IntentFilter(); @@ -1171,7 +1170,7 @@ public class MainActivity extends Activity { // 添加一个下载任务 long downloadId = downloadManager.enqueue(request); Log.e(Thread.currentThread().getStackTrace()[2] + "", downloadId + ""); - if(surl == urlUpdate){ + if (surl == url_update) { downloadIdUpdate = downloadId; } } @@ -1179,14 +1178,23 @@ public class MainActivity extends Activity { void checkUpdate() { try { String versionL = MainActivity.this.getPackageManager().getPackageInfo(MainActivity.this.getPackageName(), 0).versionName; - URL url = new URL(urlVersion); + URL url = new URL(url_version); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //conn.setRequestMethod("GET"); //if (conn.getResponseCode() == 200) { InputStream IS = conn.getInputStream(); InputStreamReader ISR = new InputStreamReader(IS); - BufferedReader bufferReader = new BufferedReader(ISR); - String versionS = bufferReader.readLine(); + BufferedReader BR = new BufferedReader(ISR); + String versionS = BR.readLine(); + if (!versionS.startsWith("{") && !versionS.endsWith("}")) { + Looper.prepare(); + Toast.makeText(getApplicationContext(), "服务器版本号解析错误:\n" + versionS, Toast.LENGTH_SHORT).show(); + Looper.myLooper().loop(); + return; + } else { + versionS = versionS.replace("{", ""); + versionS = versionS.replace("}", ""); + } Log.e(Thread.currentThread().getStackTrace()[2] + "", versionS + " > " + versionL + " ?"); String[] AVersionS = versionS.split("\\."); String[] AVersionL = versionL.split("\\."); @@ -1200,7 +1208,7 @@ public class MainActivity extends Activity { builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - downloadBySystem(urlUpdate, "", "", "", "HTYBrowser.apk"); + downloadBySystem(url_update, "", "", "", "HTYBrowser.apk"); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @@ -1212,7 +1220,7 @@ public class MainActivity extends Activity { dialog.show(); Looper.myLooper().loop(); } else { - if(isManualCheckUpdate) { + if (isManualCheckUpdate) { Looper.prepare(); Toast.makeText(getApplicationContext(), "当前版本 " + versionL + " >= 服务器版本 "+ versionS + ",是最新的版本", Toast.LENGTH_SHORT).show(); Looper.myLooper().loop(); @@ -1220,10 +1228,9 @@ public class MainActivity extends Activity { Log.e("检查更新: ", "当前版本是最新的版本"); } //} - } catch (PackageManager.NameNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { + } catch (Exception e) { e.printStackTrace(); + Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show(); } } diff --git a/version b/version index 9c1bd41..3ccca22 100644 --- a/version +++ b/version @@ -1 +1 @@ -4.30 \ No newline at end of file +{4.31} \ No newline at end of file