diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..cad7657 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cmake.configureOnOpen": false +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..036e9d5 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Base16384 for Android +> 本项目的核心基于[Base16384](https://github.com/fumiama/base16384),这是使用`JNI`适配的安卓版本,支持深色模式主题,使用`Material Design` +# 功能 +- 进行文本的编码/译码 +- 从系统文件管理器选择任意二进制文件进行编码/译码 +# 用途 +- 文本加密通信 +- 汉字文本压缩 +- 二进制文件的文本化传输 \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 472a02c..fa41d7b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "top.fumiama.base16384" minSdkVersion 23 targetSdkVersion 30 - versionCode 7 - versionName '1.3' + versionCode 8 + versionName '1.3.1' resConfigs "zh", "en" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/top/fumiama/base16384/MainActivity.kt b/app/src/main/java/top/fumiama/base16384/MainActivity.kt index 57abd56..bbca55c 100644 --- a/app/src/main/java/top/fumiama/base16384/MainActivity.kt +++ b/app/src/main/java/top/fumiama/base16384/MainActivity.kt @@ -26,13 +26,29 @@ import java.io.FileInputStream import java.nio.charset.Charset class MainActivity : Activity() { + var forceDecode = false + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val cm = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val pCharsets = PropertiesTools(File(filesDir, "charsets.prop")) + sv.viewTreeObserver.addOnGlobalLayoutListener { setTitleVisibility() } fab.setOnClickListener { pickFile() } + fab.setOnLongClickListener { + AlertDialog.Builder(this) + .setTitle(R.string.alert) + .setMessage(R.string.force_decode) + .setIcon(R.mipmap.ic_launcher) + .setPositiveButton(android.R.string.ok){ _, _ -> + forceDecode = true + pickFile() + } + .setNegativeButton(android.R.string.cancel){ _, _ ->} + .show() + false + } ben.setOnClickListener { clickButton(true, cm, pCharsets) } bde.setOnClickListener { clickButton(false, cm, pCharsets) } ben.setOnLongClickListener { @@ -67,7 +83,8 @@ class MainActivity : Activity() { val br = inputFile.inputStream() br.read(bbf) br.close() - val isDecode = bbf[0] == (-2).toByte() && bbf[1] == (-1).toByte() + val isDecode = (bbf[0] == (-2).toByte() && bbf[1] == (-1).toByte()) || forceDecode + if (forceDecode) forceDecode = false val re = if(isDecode) decode(inputFile.absolutePath, outputFile.absolutePath) else encode(inputFile.absolutePath, outputFile.absolutePath) diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 38799f1..9f551a6 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -17,4 +17,6 @@ 作者:源文雨。感谢咲桜动漫社成员的支持。 已复制 选择字符集 + 提示 + 执行强制解码? \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d0526f9..3f7185b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -16,4 +16,6 @@ Author: Fumiama, with precious supports from the members in Sakura Anime Club. Copied Text Select Charset + Alert + Force Decode? \ No newline at end of file